[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/sprite_instance.cpp serv...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/sprite_instance.cpp serv... |
Date: |
Mon, 27 Nov 2006 02:12:59 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 06/11/27 02:12:59
Modified files:
. : ChangeLog
server : sprite_instance.cpp as_object.h
Log message:
* server/sprite_instance.cpp (attachMovieClipInterface):
only activate the methods available for the target SWF
version. Added stubs for getURL, startDrag, stopDrag
and attachAudio.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.1780&r2=1.1781
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.88&r2=1.89
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_object.h?cvsroot=gnash&r1=1.22&r2=1.23
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.1780
retrieving revision 1.1781
diff -u -b -r1.1780 -r1.1781
--- ChangeLog 27 Nov 2006 01:42:06 -0000 1.1780
+++ ChangeLog 27 Nov 2006 02:12:59 -0000 1.1781
@@ -1,5 +1,9 @@
2006-11-26 Sandro Santilli <address@hidden>
+ * server/sprite_instance.cpp (attachMovieClipInterface):
+ only activate the methods available for the target SWF
+ version. Added stubs for getURL, startDrag, stopDrag
+ and attachAudio.
* testsuite/misc-ming.all/ming_utils.c (get_dejagnu_actions):
don't "visualize" expected successes.
* server/vm/ASHandlers.cpp (ActionTypeOf):
Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -b -r1.88 -r1.89
--- server/sprite_instance.cpp 25 Nov 2006 16:30:04 -0000 1.88
+++ server/sprite_instance.cpp 27 Nov 2006 02:12:59 -0000 1.89
@@ -207,6 +207,14 @@
return;
}
+// attachAudio(id:Object) : Void
+static void sprite_attach_audio(const fn_call& fn)
+{
+ log_error("MovieClip.attachAudio() unimplemented -- "
+ "returning undefined");
+ fn.result->set_undefined();
+}
+
//createEmptyMovieClip(name:String, depth:Number) : MovieClip
static void sprite_create_empty_movieclip(const fn_call& fn)
{
@@ -742,6 +750,28 @@
fn.result->set_double(static_cast<double>(nextdepth));
}
+// getURL(url:String, [window:String], [method:String]) : Void
+static void
+sprite_getURL(const fn_call& fn)
+{
+ log_error("FIXME: MovieClip.getURL() not implemented yet");
+}
+
+// startDrag([lockCenter:Boolean], [left:Number], [top:Number],
+// [right:Number], [bottom:Number]) : Void`
+static void
+sprite_startDrag(const fn_call& fn)
+{
+ log_error("FIXME: MovieClip.startDrag() not implemented yet");
+}
+
+// stopDrag() : Void
+static void
+sprite_stopDrag(const fn_call& /*fn*/)
+{
+ log_error("FIXME: MovieClip.stopDrag() not implemented yet");
+}
+
static void
movieclip_ctor(const fn_call& fn)
{
@@ -752,8 +782,10 @@
static void
attachMovieClipInterface(as_object& o)
{
- int target_version = VM::get().getSWFVersion();
+ int target_version = o.getVM().getSWFVersion();
+ // SWF5 or higher
+ o.set_member("attachMovie", &sprite_attach_movie);
o.set_member("play", &sprite_play);
o.set_member("stop", &sprite_stop);
o.set_member("gotoAndStop", &sprite_goto_and_stop);
@@ -764,32 +796,26 @@
o.set_member("getBytesTotal", &sprite_get_bytes_total);
o.set_member("loadMovie", &sprite_load_movie);
o.set_member("hitTest", &sprite_hit_test);
- o.set_member("createTextField", &sprite_create_text_field);
o.set_member("duplicateMovieClip", &sprite_duplicate_movieclip);
o.set_member("swapDepths", &sprite_swap_depths);
- o.set_member("getDepth", &sprite_get_depth);
- o.set_member("createEmptyMovieClip", &sprite_create_empty_movieclip);
o.set_member("removeMovieClip", &sprite_remove_movieclip);
+ o.set_member("startDrag", &sprite_startDrag);
+ o.set_member("stopDrag", &sprite_stopDrag);
+ o.set_member("getURL", &sprite_getURL);
+ if ( target_version < 6 ) return;
- if ( target_version >= 5 )
- {
- o.set_member("attachMovie", &sprite_attach_movie);
- }
+ // SWF6 or higher
+ o.set_member("attachAudio", &sprite_attach_audio);
+ o.set_member("createTextField", &sprite_create_text_field);
+ o.set_member("getDepth", &sprite_get_depth);
+ o.set_member("createEmptyMovieClip", &sprite_create_empty_movieclip);
+ if ( target_version < 7 ) return;
- // The following interfaces should only
- // be available when target SWF version is equal
- // or above 7
- if ( target_version >= 7 )
- {
- o.set_member("getNextHighestDepth",
- &sprite_getNextHighestDepth);
- }
+ // SWF7 or higher
+ o.set_member("getNextHighestDepth", &sprite_getNextHighestDepth);
+ if ( target_version < 8 ) return;
- // @TODO
- //o.set_member("startDrag", &sprite_start_drag);
- //o.set_member("stopDrag", &sprite_stop_drag);
- //o.set_member("getURL", &sprite_get_url);
- // ... many more, see MovieClip class ...
+ // TODO: many more methods, see MovieClip class ...
}
Index: server/as_object.h
===================================================================
RCS file: /sources/gnash/gnash/server/as_object.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- server/as_object.h 27 Nov 2006 00:49:54 -0000 1.22
+++ server/as_object.h 27 Nov 2006 02:12:59 -0000 1.23
@@ -73,6 +73,8 @@
///
Property* findProperty(const std::string& name);
+public:
+
/// \brief
/// Return a reference to the Virtual Machine that created
/// this object.
@@ -80,7 +82,6 @@
return _vm;
}
-public:
/// Dump all properties using log_msg
//