[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash/server sprite_instance.cpp sprite_instance.h
From: |
Vitaly Alexeev |
Subject: |
[Gnash-commit] gnash/server sprite_instance.cpp sprite_instance.h |
Date: |
Wed, 20 Sep 2006 14:57:24 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Vitaly Alexeev <alexeev> 06/09/20 14:57:23
Modified files:
server : sprite_instance.cpp sprite_instance.h
Log message:
added the unfinished createEmptyMovieClip() method
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.53&r2=1.54
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.h?cvsroot=gnash&r1=1.23&r2=1.24
Patches:
Index: sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -b -r1.53 -r1.54
--- sprite_instance.cpp 20 Sep 2006 12:08:12 -0000 1.53
+++ sprite_instance.cpp 20 Sep 2006 14:57:23 -0000 1.54
@@ -117,6 +117,28 @@
sprite->set_play_state(movie_interface::STOP);
}
+//createEmptyMovieClip(name:String, depth:Number) : MovieClip
+static void sprite_create_empty_movieclip(const fn_call& fn)
+{
+ assert(dynamic_cast<sprite_instance*>(fn.this_ptr));
+ sprite_instance* sprite = static_cast<sprite_instance*>(fn.this_ptr);
+ if (sprite == NULL)
+ {
+ sprite = dynamic_cast<sprite_instance*>(fn.env->get_target());
+ }
+
+ assert(sprite);
+
+ if (fn.nargs != 2)
+ {
+ log_error("createEmptyMovieClip needs 2 args\n");
+ return;
+ }
+
+ character* ch = sprite->add_empty_movieclip(fn.arg(0).to_string(),
int(fn.arg(1).to_number()));
+ fn.result->set_as_object(ch);
+}
+
static void sprite_get_depth(const fn_call& fn)
{
assert(dynamic_cast<sprite_instance*>(fn.this_ptr));
@@ -644,6 +666,7 @@
as_builtins.set_member("duplicateMovieClip",
&sprite_duplicate_movieclip);
as_builtins.set_member("swapDepths", &sprite_swap_depths);
as_builtins.set_member("getDepth", &sprite_get_depth);
+ as_builtins.set_member("createEmptyMovieClip",
&sprite_create_empty_movieclip);
// @TODO
//as_builtins.set_member("startDrag", &sprite_start_drag);
@@ -1005,6 +1028,28 @@
assert(m_action_list.size() == top_action);
}
+// TODO
+character* sprite_instance::add_empty_movieclip(const char* name, int depth)
+{
+// cxform color_transform;
+// matrix matrix;
+
+// movie_definition* mdef = new movie_def_impl(DO_LOAD_BITMAPS,
DO_LOAD_FONT_SHAPES);
+// sprite_instance* sprite = new sprite_instance(m_def.get_ptr(),
m_root, this, 0);
+// m_display_list.remove_display_object(depth);
+// m_display_list.place_character(
+// sprite,
+// depth,
+// color_transform,
+// matrix,
+// 0.0f,
+// 0);
+
+// return sprite;
+
+ return NULL;
+}
+
void sprite_instance::clone_display_object(const tu_string& name,
const tu_string& newname, uint16_t depth)
{
Index: sprite_instance.h
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.h,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- sprite_instance.h 20 Sep 2006 11:44:19 -0000 1.23
+++ sprite_instance.h 20 Sep 2006 14:57:23 -0000 1.24
@@ -261,6 +261,7 @@
void swap_characters(character* ch1, character* ch2);
character* get_character_at_depth(int depth);
+ character* add_empty_movieclip(const char* name, int depth);
/// Add an object to the DisplayList.
//
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash/server sprite_instance.cpp sprite_instance.h,
Vitaly Alexeev <=