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:49:09 +0000

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

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

Log message:
                * server/asobj/TextFormat.cpp: implement leading getter-setter.
                * testsuite/misc-ming.all/DefineEditTextTest.c: test leading.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6237&r2=1.6238
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/TextFormat.cpp?cvsroot=gnash&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/misc-ming.all/DefineEditTextTest.c?cvsroot=gnash&r1=1.33&r2=1.34

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6237
retrieving revision 1.6238
diff -u -b -r1.6237 -r1.6238
--- ChangeLog   10 Apr 2008 09:35:33 -0000      1.6237
+++ ChangeLog   10 Apr 2008 09:49:07 -0000      1.6238
@@ -1,5 +1,10 @@
 2008-04-10 Sandro Santilli <address@hidden>
 
+       * server/asobj/TextFormat.cpp: implement leading getter-setter.
+       * testsuite/misc-ming.all/DefineEditTextTest.c: test leading.
+
+2008-04-10 Sandro Santilli <address@hidden>
+
        * server/asobj/TextFormat.{cpp,h}: implement align getter-setter
        * testsuite/misc-ming.all/DefineEditTextTest.c: test align.
 

Index: server/asobj/TextFormat.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/TextFormat.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- server/asobj/TextFormat.cpp 10 Apr 2008 09:35:34 -0000      1.7
+++ server/asobj/TextFormat.cpp 10 Apr 2008 09:49:08 -0000      1.8
@@ -112,9 +112,19 @@
 }
 
 as_value
-TextFormat::leading_getset(const fn_call& /*fn*/)
+TextFormat::leading_getset(const fn_call& fn)
 {
-       ONCE( log_unimpl("TextField.leading") );
+       boost::intrusive_ptr<TextFormat> ptr = 
ensureType<TextFormat>(fn.this_ptr);
+
+       if ( fn.nargs == 0 ) // getter
+       {
+               return as_value(TWIPS_TO_PIXELS(ptr->leading()));
+       }
+       else // setter
+       {
+               ptr->leadingSet(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.33
retrieving revision 1.34
diff -u -b -r1.33 -r1.34
--- testsuite/misc-ming.all/DefineEditTextTest.c        10 Apr 2008 09:35:34 
-0000      1.33
+++ testsuite/misc-ming.all/DefineEditTextTest.c        10 Apr 2008 09:49:09 
-0000      1.34
@@ -38,10 +38,14 @@
 #define OUTPUT_VERSION 7
 #define OUTPUT_FILENAME "DefineEditTextTest.swf"
 
-SWFDisplayItem add_text_field(SWFMovie mo, SWFBlock font, const char* text, 
float indent, float leftMargin, float rightMargin, SWFTextFieldAlignment align);
+SWFDisplayItem add_text_field(SWFMovie mo, SWFBlock font, const char* text,
+       float indent, float leftMargin, float rightMargin, 
SWFTextFieldAlignment align,
+       float lineSpacing);
 
 SWFDisplayItem
-add_text_field(SWFMovie mo, SWFBlock font, const char* text, float indent, 
float leftMargin, float rightMargin, SWFTextFieldAlignment align)
+add_text_field(SWFMovie mo, SWFBlock font, const char* text, float indent,
+               float leftMargin, float rightMargin,
+               SWFTextFieldAlignment align, float lineSpacing)
 {
   SWFTextField tf;
 
@@ -52,6 +56,7 @@
   SWFTextField_setLeftMargin(tf, leftMargin);
   SWFTextField_setRightMargin(tf, rightMargin);
   SWFTextField_setAlignment(tf, align);
+  SWFTextField_setLineSpacing(tf, lineSpacing);
 
   /* setting flags seem unneeded */
   /*SWFTextField_setFlags(tf, SWFTEXTFIELD_USEFONT|SWFTEXTFIELD_NOEDIT);*/
@@ -147,15 +152,15 @@
     SWFBrowserFont bfont = newSWFBrowserFont("_sans");
     SWFFont efont = loadSWFFontFromFile(font_file);
 
-    it = add_text_field(mo, (SWFBlock)bfont, "Hello", 1, 2, 3, 
SWFTEXTFIELD_ALIGN_LEFT);
+    it = add_text_field(mo, (SWFBlock)bfont, "Hello", 1, 2, 3, 
SWFTEXTFIELD_ALIGN_LEFT, 10);
     SWFDisplayItem_setName(it, "dtext1");
     SWFDisplayItem_moveTo(it, 0, 200);
-    it = add_text_field(mo, (SWFBlock)efont, "Hello", 4, 5, 6, 
SWFTEXTFIELD_ALIGN_CENTER);
+    it = add_text_field(mo, (SWFBlock)efont, "Hello", 4, 5, 6, 
SWFTEXTFIELD_ALIGN_CENTER, 11);
     SWFDisplayItem_setName(it, "etext1");
     SWFDisplayItem_moveTo(it, 0, 300);
 
     SWFBrowserFont bfont2 = newSWFBrowserFont("times");
-    it = add_text_field(mo, (SWFBlock)bfont2, "Hello", 7, 8, 9, 
SWFTEXTFIELD_ALIGN_RIGHT);
+    it = add_text_field(mo, (SWFBlock)bfont2, "Hello", 7, 8, 9, 
SWFTEXTFIELD_ALIGN_RIGHT, 12);
     SWFDisplayItem_setName(it, "dtext2");
     SWFDisplayItem_moveTo(it, 0, 400);
   }
@@ -290,6 +295,10 @@
   check_equals(mo, "typeof(dtext2.tf.align)", "'string'");
   check_equals(mo, "etext1.tf.align", "'center'");
   check_equals(mo, "dtext2.tf.align", "'right'"); 
+  check_equals(mo, "typeof(etext1.tf.leading)", "'number'");
+  check_equals(mo, "typeof(dtext2.tf.leading)", "'number'");
+  check_equals(mo, "etext1.tf.leading", "11");
+  check_equals(mo, "dtext2.tf.leading", "12"); 
 
   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]