[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/edit_text_character.cpp ...
From: |
Benjamin Wolsey |
Subject: |
[Gnash-commit] gnash ChangeLog server/edit_text_character.cpp ... |
Date: |
Tue, 06 May 2008 11:21:02 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Benjamin Wolsey <bwy> 08/05/06 11:21:02
Modified files:
. : ChangeLog
server : edit_text_character.cpp
server/asobj : TextFormat.cpp
testsuite/actionscript.all: TextFormat.as
Log message:
* server/asobj/TextFormat.cpp: use LOG_ONCE more, fix return
values for bullet (not implemented). Use a switch for variable
nargs.
* server/edit_text_character.cpp: use LOG_ONCE.
* testsuite/actionscript.all/TextFormat.as: bullet returns
correct values.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6523&r2=1.6524
http://cvs.savannah.gnu.org/viewcvs/gnash/server/edit_text_character.cpp?cvsroot=gnash&r1=1.181&r2=1.182
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/TextFormat.cpp?cvsroot=gnash&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/TextFormat.as?cvsroot=gnash&r1=1.3&r2=1.4
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6523
retrieving revision 1.6524
diff -u -b -r1.6523 -r1.6524
--- ChangeLog 6 May 2008 11:16:23 -0000 1.6523
+++ ChangeLog 6 May 2008 11:21:00 -0000 1.6524
@@ -1,5 +1,14 @@
2008-05-06 Benjamin Wolsey <address@hidden>
+ * server/asobj/TextFormat.cpp: use LOG_ONCE more, fix return
+ values for bullet (not implemented). Use a switch for variable
+ nargs.
+ * server/edit_text_character.cpp: use LOG_ONCE.
+ * testsuite/actionscript.all/TextFormat.as: bullet returns
+ correct values.
+
+2008-05-06 Benjamin Wolsey <address@hidden>
+
* server/namedStrings{h,cpp}, server/asobj/ClassHierarchy.cpp:
support loading TextFormat on demand.
* server/asobj/Global.cpp: load TextFormat on demand, use LOG_ONCE,
Index: server/edit_text_character.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/edit_text_character.cpp,v
retrieving revision 1.181
retrieving revision 1.182
diff -u -b -r1.181 -r1.182
--- server/edit_text_character.cpp 29 Apr 2008 17:22:43 -0000 1.181
+++ server/edit_text_character.cpp 6 May 2008 11:21:01 -0000 1.182
@@ -155,11 +155,7 @@
boost::intrusive_ptr<edit_text_character> text =
ensureType<edit_text_character>(fn.this_ptr);
UNUSED(text);
- static bool warned = false;
- if ( ! warned ) {
- log_unimpl("TextField.getNewTextFormat()");
- warned = true;
- }
+ LOG_ONCE(log_unimpl("TextField.getNewTextFormat()"));
return as_value();
}
Index: server/asobj/TextFormat.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/TextFormat.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- server/asobj/TextFormat.cpp 6 May 2008 08:59:01 -0000 1.14
+++ server/asobj/TextFormat.cpp 6 May 2008 11:21:02 -0000 1.15
@@ -108,20 +108,48 @@
//GNASH_REPORT_FUNCTION;
boost::intrusive_ptr<TextFormat> tf = new TextFormat;
- if ( fn.nargs > 0 ) { tf->fontSet(fn.arg(0).to_string());
- if ( fn.nargs > 1 ) {
tf->sizeSet(PIXELS_TO_TWIPS(fn.arg(1).to_int()));
- if ( fn.nargs > 2 ) { rgba col; col.parseRGB(fn.arg(2).to_int());
tf->colorSet(col);
- if ( fn.nargs > 3 ) { tf->boldSet(fn.arg(3).to_bool());
- if ( fn.nargs > 4 ) { tf->italicedSet(fn.arg(4).to_bool());
- if ( fn.nargs > 5 ) { tf->underlinedSet(fn.arg(5).to_bool());
- if ( fn.nargs > 6 ) { tf->urlSet(fn.arg(6).to_string());
- if ( fn.nargs > 7 ) { tf->targetSet(fn.arg(7).to_string());
- if ( fn.nargs > 8 ) { tf->alignSet(fn.arg(8).to_string());
- if ( fn.nargs > 9 ) {
tf->leftMarginSet(PIXELS_TO_TWIPS(fn.arg(9).to_int()));
- if ( fn.nargs > 10 ) {
tf->rightMarginSet(PIXELS_TO_TWIPS(fn.arg(10).to_int()));
- if ( fn.nargs > 11 ) {
tf->indentSet(PIXELS_TO_TWIPS(fn.arg(11).to_int()));
- if ( fn.nargs > 12 ) {
tf->leadingSet(PIXELS_TO_TWIPS(fn.arg(12).to_int()));
- }}}}}}}}}}}}}
+
+ const unsigned int args = fn.nargs;
+
+ switch (args)
+ {
+ default:
+ log_error(_("Too many args (%d) passed to TextFormat"), args);
+ case 13:
+ tf->leadingSet(PIXELS_TO_TWIPS(fn.arg(12).to_int()));
+ case 12:
+ tf->indentSet(PIXELS_TO_TWIPS(fn.arg(11).to_int()));
+ case 11:
+ tf->rightMarginSet(PIXELS_TO_TWIPS(fn.arg(10).to_int()));
+ case 10:
+ tf->leftMarginSet(PIXELS_TO_TWIPS(fn.arg(9).to_int()));
+ case 9:
+ tf->alignSet(fn.arg(8).to_string());
+ case 8:
+ tf->targetSet(fn.arg(7).to_string());
+ case 7:
+ tf->urlSet(fn.arg(6).to_string());
+ case 6:
+ tf->underlinedSet(fn.arg(5).to_bool());
+ case 5:
+ tf->italicedSet(fn.arg(4).to_bool());
+ case 4:
+ tf->boldSet(fn.arg(3).to_bool());
+ case 3:
+ {
+ rgba col;
+ col.parseRGB(fn.arg(2).to_int());
+ tf->colorSet(col);
+ }
+ case 2:
+ tf->sizeSet(PIXELS_TO_TWIPS(fn.arg(1).to_int()));
+ case 1:
+ tf->fontSet(fn.arg(0).to_string());
+ break;
+ case 0:
+ // What happens here?
+ break;
+ }
return as_value(tf.get());
}
@@ -134,10 +162,27 @@
}
as_value
-TextFormat::bullet_getset(const fn_call& /*fn*/)
+TextFormat::bullet_getset(const fn_call& fn)
{
- LOG_ONCE( log_unimpl("TextField.bullet") );
- return as_value();
+ // Has the right return values, but not properly implemented
+ LOG_ONCE( log_unimpl("TextFormat.bullet") );
+
+ boost::intrusive_ptr<TextFormat> ptr =
ensureType<TextFormat>(fn.this_ptr);
+
+ as_value ret;
+
+ if ( fn.nargs == 0 ) // getter
+ {
+ if ( ptr->bulletDefined() ) ret.set_bool(ptr->bullet());
+ else ret.set_null();
+ }
+ else // setter
+ {
+ // Boolean
+ ptr->bulletSet(fn.arg(0).to_bool());
+ }
+
+ return ret;
}
as_value
Index: testsuite/actionscript.all/TextFormat.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/TextFormat.as,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- testsuite/actionscript.all/TextFormat.as 11 Apr 2008 12:08:39 -0000
1.3
+++ testsuite/actionscript.all/TextFormat.as 6 May 2008 11:21:02 -0000
1.4
@@ -20,7 +20,7 @@
// compile this test case with Ming makeswf, and then
// execute it like this gnash -1 -r 0 -v out.swf
-rcsid="$Id: TextFormat.as,v 1.3 2008/04/11 12:08:39 strk Exp $";
+rcsid="$Id: TextFormat.as,v 1.4 2008/05/06 11:21:02 bwy Exp $";
#include "check.as"
@@ -60,7 +60,7 @@
// are all of the 'null' type.
xcheck_equals(typeof(tfObj.display), 'string');
xcheck_equals(tfObj.display, 'block');
-xcheck_equals(typeof(tfObj.bullet), 'null');
+check_equals(typeof(tfObj.bullet), 'null');
xcheck_equals(typeof(tfObj.tabStops), 'null');
check_equals(typeof(tfObj.blockIndent), 'null');
check_equals(typeof(tfObj.leading), 'null');
@@ -82,7 +82,7 @@
tfObj = new TextFormat("fname", 2, 30, true, false, true, 'http', 'tgt',
'cEnter', '23', '32', 12, 4);
xcheck_equals(typeof(tfObj.display), 'string');
xcheck_equals(tfObj.display, 'block');
-xcheck_equals(typeof(tfObj.bullet), 'null');
+check_equals(typeof(tfObj.bullet), 'null');
xcheck_equals(typeof(tfObj.tabStops), 'null');
check_equals(typeof(tfObj.blockIndent), 'null');
check_equals(tfObj.leading, 4);
- [Gnash-commit] gnash ChangeLog server/edit_text_character.cpp ...,
Benjamin Wolsey <=