gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/asobj/TextFormat.cpp tes...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/asobj/TextFormat.cpp tes...
Date: Thu, 10 Apr 2008 09:04:34 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  08/04/10 09:04:34

Modified files:
        .              : ChangeLog 
        server/asobj   : TextFormat.cpp 
        testsuite/misc-ming.all: DefineEditTextTest.c 

Log message:
        * server/asobj/TextFormat.cpp: implement leftMargin and rightMargin
          getter-setters.
        * testsuite/misc-ming.all/DefineEditTextTest.c: test leftMargin and
          rightMargin, improve test indent.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6235&r2=1.6236
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/TextFormat.cpp?cvsroot=gnash&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/misc-ming.all/DefineEditTextTest.c?cvsroot=gnash&r1=1.31&r2=1.32

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6235
retrieving revision 1.6236
diff -u -b -r1.6235 -r1.6236
--- ChangeLog   10 Apr 2008 08:44:12 -0000      1.6235
+++ ChangeLog   10 Apr 2008 09:04:32 -0000      1.6236
@@ -1,5 +1,12 @@
 2008-04-10 Sandro Santilli <address@hidden>
 
+       * server/asobj/TextFormat.cpp: implement leftMargin and rightMargin
+         getter-setters.
+       * testsuite/misc-ming.all/DefineEditTextTest.c: test leftMargin and
+         rightMargin, improve test indent.
+
+2008-04-10 Sandro Santilli <address@hidden>
+
        * server/edit_text_character.cpp: add bold,italic and indent support
          in getTextFormat and setTextFormat; proxy setNewTextFormat to 
          setTextFormat (still unimplemneted but at least would do something)

Index: server/asobj/TextFormat.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/TextFormat.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- server/asobj/TextFormat.cpp 10 Apr 2008 08:44:14 -0000      1.5
+++ server/asobj/TextFormat.cpp 10 Apr 2008 09:04:32 -0000      1.6
@@ -135,16 +135,36 @@
 }
 
 as_value
-TextFormat::rightMargin_getset(const fn_call& /*fn*/)
+TextFormat::rightMargin_getset(const fn_call& fn)
 {
-       ONCE( log_unimpl("TextField.rightMargin") );
+       boost::intrusive_ptr<TextFormat> ptr = 
ensureType<TextFormat>(fn.this_ptr);
+
+       if ( fn.nargs == 0 ) // getter
+       {
+               return as_value(TWIPS_TO_PIXELS(ptr->rightMargin()));
+       }
+       else // setter
+       {
+               ptr->rightMarginSet(PIXELS_TO_TWIPS(fn.arg(0).to_int()));
+       }
+
        return as_value();
 }
 
 as_value
-TextFormat::leftMargin_getset(const fn_call& /*fn*/)
+TextFormat::leftMargin_getset(const fn_call& fn)
 {
-       ONCE( log_unimpl("TextField.leftMargin") );
+       boost::intrusive_ptr<TextFormat> ptr = 
ensureType<TextFormat>(fn.this_ptr);
+
+       if ( fn.nargs == 0 ) // getter
+       {
+               return as_value(TWIPS_TO_PIXELS(ptr->leftMargin()));
+       }
+       else // setter
+       {
+               ptr->leftMarginSet(PIXELS_TO_TWIPS(fn.arg(0).to_int()));
+       }
+
        return as_value();
 }
 

Index: testsuite/misc-ming.all/DefineEditTextTest.c
===================================================================
RCS file: /sources/gnash/gnash/testsuite/misc-ming.all/DefineEditTextTest.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- testsuite/misc-ming.all/DefineEditTextTest.c        10 Apr 2008 08:44:14 
-0000      1.31
+++ testsuite/misc-ming.all/DefineEditTextTest.c        10 Apr 2008 09:04:33 
-0000      1.32
@@ -38,16 +38,19 @@
 #define OUTPUT_VERSION 7
 #define OUTPUT_FILENAME "DefineEditTextTest.swf"
 
-SWFDisplayItem add_text_field(SWFMovie mo, SWFBlock font, const char* text);
+SWFDisplayItem add_text_field(SWFMovie mo, SWFBlock font, const char* text, 
float indent, float leftMargin, float rightMargin);
 
 SWFDisplayItem
-add_text_field(SWFMovie mo, SWFBlock font, const char* text)
+add_text_field(SWFMovie mo, SWFBlock font, const char* text, float indent, 
float leftMargin, float rightMargin)
 {
   SWFTextField tf;
 
   tf = newSWFTextField();
 
   SWFTextField_setFont(tf, font);
+  SWFTextField_setIndentation(tf, indent);
+  SWFTextField_setLeftMargin(tf, leftMargin);
+  SWFTextField_setRightMargin(tf, rightMargin);
 
   /* setting flags seem unneeded */
   /*SWFTextField_setFlags(tf, SWFTEXTFIELD_USEFONT|SWFTEXTFIELD_NOEDIT);*/
@@ -143,15 +146,15 @@
     SWFBrowserFont bfont = newSWFBrowserFont("_sans");
     SWFFont efont = loadSWFFontFromFile(font_file);
 
-    it = add_text_field(mo, (SWFBlock)bfont, "Hello");
+    it = add_text_field(mo, (SWFBlock)bfont, "Hello", 1, 2, 3);
     SWFDisplayItem_setName(it, "dtext1");
     SWFDisplayItem_moveTo(it, 0, 200);
-    it = add_text_field(mo, (SWFBlock)efont, "Hello");
+    it = add_text_field(mo, (SWFBlock)efont, "Hello", 4, 5, 6);
     SWFDisplayItem_setName(it, "etext1");
     SWFDisplayItem_moveTo(it, 0, 300);
 
     SWFBrowserFont bfont2 = newSWFBrowserFont("times");
-    it = add_text_field(mo, (SWFBlock)bfont2, "Hello");
+    it = add_text_field(mo, (SWFBlock)bfont2, "Hello", 7, 8, 9);
     SWFDisplayItem_setName(it, "dtext2");
     SWFDisplayItem_moveTo(it, 0, 400);
   }
@@ -272,8 +275,16 @@
   check_equals(mo, "dtext2.tf.italic", "false"); 
   check_equals(mo, "typeof(etext1.tf.indent)", "'number'");
   check_equals(mo, "typeof(dtext2.tf.indent)", "'number'");
-  check_equals(mo, "etext1.tf.indent", "0");
-  check_equals(mo, "dtext2.tf.indent", "0"); 
+  check_equals(mo, "etext1.tf.indent", "4");
+  check_equals(mo, "dtext2.tf.indent", "7"); 
+  check_equals(mo, "typeof(etext1.tf.leftMargin)", "'number'");
+  check_equals(mo, "typeof(dtext2.tf.leftMargin)", "'number'");
+  check_equals(mo, "etext1.tf.leftMargin", "5");
+  check_equals(mo, "dtext2.tf.leftMargin", "8"); 
+  check_equals(mo, "typeof(etext1.tf.rightMargin)", "'number'");
+  check_equals(mo, "typeof(dtext2.tf.rightMargin)", "'number'");
+  check_equals(mo, "etext1.tf.rightMargin", "6");
+  check_equals(mo, "dtext2.tf.rightMargin", "9"); 
 
   check_equals(mo, "dtext1.text", "'Hello world'");
   check_equals(mo, "etext1.text", "'Hello world'");




reply via email to

[Prev in Thread] Current Thread [Next in Thread]