[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/sprite_instance.cpp test...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/sprite_instance.cpp test... |
Date: |
Wed, 21 Nov 2007 23:33:23 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/11/21 23:33:23
Modified files:
. : ChangeLog
server : sprite_instance.cpp
testsuite/misc-ming.all: DrawingApiTest.as
Log message:
Add support for additional args to MovieClip.startDrag([lockCenter],
[x0, y0, x1, y1])
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4913&r2=1.4914
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.392&r2=1.393
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/misc-ming.all/DrawingApiTest.as?cvsroot=gnash&r1=1.30&r2=1.31
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4913
retrieving revision 1.4914
diff -u -b -r1.4913 -r1.4914
--- ChangeLog 21 Nov 2007 23:18:58 -0000 1.4913
+++ ChangeLog 21 Nov 2007 23:33:22 -0000 1.4914
@@ -1,5 +1,10 @@
2007-11-21 Sandro Santilli <address@hidden>
+ * server/sprite_instance.cpp (sprite_startDrag): add support for
+ additional args.
+
+2007-11-21 Sandro Santilli <address@hidden>
+
* server/sprite_instance.cpp (get_frame_number):
Consider frame specs evaluating to 0 as frame labels.
Fixes bug #21567 (snoopy_click.swf).
Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.392
retrieving revision 1.393
diff -u -b -r1.392 -r1.393
--- server/sprite_instance.cpp 21 Nov 2007 23:18:59 -0000 1.392
+++ server/sprite_instance.cpp 21 Nov 2007 23:33:22 -0000 1.393
@@ -1344,6 +1344,43 @@
drag_state st;
st.setCharacter( sprite.get() );
+ if ( fn.nargs )
+ {
+ st.setLockCentered( fn.arg(0).to_bool() );
+
+ if ( fn.nargs >= 5)
+ {
+ float y1 = PIXELS_TO_TWIPS(fn.arg(1).to_number());
+ float x1 = PIXELS_TO_TWIPS(fn.arg(2).to_number());
+ float y0 = PIXELS_TO_TWIPS(fn.arg(3).to_number());
+ float x0 = PIXELS_TO_TWIPS(fn.arg(4).to_number());
+
+ // check for swapped values
+ bool swapped = false;
+ if ( y1 < y0 )
+ {
+ swap(y1, y0);
+ swapped = true;
+ }
+
+ if ( x1 < x0 )
+ {
+ swap(x1, x0);
+ swapped = true;
+ }
+
+ IF_VERBOSE_ASCODING_ERRORS(
+ if ( swapped ) {
+ std::stringstream ss; fn.dump_args(ss);
+ log_aserror(_("Y values in
MovieClip.startDrag(%s) swapped, fixing"), ss.str().c_str());
+ }
+ );
+
+ rect bounds(x0, y0, x1, y1);
+ st.setBounds(bounds);
+ }
+ }
+
VM::get().getRoot().set_drag_state(st);
log_debug("MovieClip.startDrag() TESTING");
Index: testsuite/misc-ming.all/DrawingApiTest.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/misc-ming.all/DrawingApiTest.as,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -b -r1.30 -r1.31
--- testsuite/misc-ming.all/DrawingApiTest.as 21 Nov 2007 18:08:58 -0000
1.30
+++ testsuite/misc-ming.all/DrawingApiTest.as 21 Nov 2007 23:33:23 -0000
1.31
@@ -17,7 +17,7 @@
// 'h' toggles _visible
//
-rcsid="$Id: DrawingApiTest.as,v 1.30 2007/11/21 18:08:58 strk Exp $";
+rcsid="$Id: DrawingApiTest.as,v 1.31 2007/11/21 23:33:23 strk Exp $";
#include "../actionscript.all/check.as"
@@ -716,6 +716,8 @@
if ( ! hitdetector.dragging ) {
hitdetector.dragging = true;
hitdetector.startDrag();
+ // hitdetector.startDrag(true); // lock centered
+ //hitdetector.startDrag(true, 100, 100, 200, 200); //
lock centered, box-constrained
} else {
hitdetector.dragging = flase;
hitdetector.stopDrag();