CVSROOT: /sources/gnash Module name: gnash Changes by: Sandro Santilli <strk> 07/10/03 07:24:36
Modified files: . : ChangeLog server : sprite_instance.cpp Log message: * server/sprite_instance.cpp: add support for debugging the drawing API. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4502&r2=1.4503 http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.362&r2=1.363 Patches: Index: ChangeLog =================================================================== RCS file: /sources/gnash/gnash/ChangeLog,v retrieving revision 1.4502 retrieving revision 1.4503 diff -u -b -r1.4502 -r1.4503 --- ChangeLog 3 Oct 2007 06:52:42 -0000 1.4502 +++ ChangeLog 3 Oct 2007 07:24:35 -0000 1.4503 @@ -1,5 +1,10 @@ 2007-10-03 Sandro Santilli <[EMAIL PROTECTED]> + * server/sprite_instance.cpp: add support for debugging the drawing + API. + +2007-10-03 Sandro Santilli <[EMAIL PROTECTED]> + * server/parser/shape_character_def.{cpp,h}: add numEdges and numPaths methods. Index: server/sprite_instance.cpp =================================================================== RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v retrieving revision 1.362 retrieving revision 1.363 diff -u -b -r1.362 -r1.363 --- server/sprite_instance.cpp 27 Sep 2007 07:58:32 -0000 1.362 +++ server/sprite_instance.cpp 3 Oct 2007 07:24:36 -0000 1.363 @@ -52,6 +52,7 @@ #include "gnash.h" // for point class ! #include "Timeline.h" // for restoreDisplayList #include "Object.h" // for getObjectInterface +#include "DynamicShape.h" // for composition #include "namedStrings.h" #include <vector> @@ -76,6 +77,11 @@ //#define GNASH_DEBUG_REPLACE 1 //#define DEBUG_DYNTEXT_VARIABLES 1 +// Defining the following macro you'll get a DEBUG lien +// for each call to the drawing API, in a format which is +// easily re-compilable to obtain a smaller testcase +//#define DEBUG_DRAWING_API 1 + // Forward declarations static as_object* getMovieClipInterface(); static void attachMovieClipInterface(as_object& o); @@ -1069,6 +1075,9 @@ sprite_endFill(const fn_call& fn) { boost::intrusive_ptr<sprite_instance> sprite = ensureType<sprite_instance>(fn.this_ptr); +#ifdef DEBUG_DRAWING_API + log_debug("%s.endFill();", sprite->getTarget().c_str()); +#endif sprite->endFill(); return as_value(); } @@ -1089,6 +1098,9 @@ float x = PIXELS_TO_TWIPS(fn.arg(0).to_number()); float y = PIXELS_TO_TWIPS(fn.arg(1).to_number()); +#ifdef DEBUG_DRAWING_API + log_debug("%s.lineTo(%g,%g);", sprite->getTarget().c_str(), x, y); +#endif sprite->lineTo(x, y); return as_value(); @@ -1110,6 +1122,9 @@ float x = PIXELS_TO_TWIPS(fn.arg(0).to_number()); float y = PIXELS_TO_TWIPS(fn.arg(1).to_number()); +#ifdef DEBUG_DRAWING_API + log_debug("%s.moveTo(%g,%g);", sprite->getTarget().c_str(), x, y); +#endif sprite->moveTo(x, y); return as_value(); @@ -1154,6 +1169,9 @@ rgba color(r, g, b, a); //log_msg("Color: %s", color.toString().c_str()); +#ifdef DEBUG_DRAWING_API + log_debug("%s.lineStyle(%d,%d,%d,%d);", sprite->getTarget().c_str(), thickness, r, g, b); +#endif sprite->lineStyle(thickness, color); return as_value(); @@ -1177,6 +1195,9 @@ float ax = PIXELS_TO_TWIPS(fn.arg(2).to_number()); float ay = PIXELS_TO_TWIPS(fn.arg(3).to_number()); +#ifdef DEBUG_DRAWING_API + log_debug("%s.curveTo(%g,%g,%g,%g);", sprite->getTarget().c_str(), cx, cy, ax, ay); +#endif sprite->curveTo(cx, cy, ax, ay); return as_value(); @@ -1187,6 +1208,9 @@ { boost::intrusive_ptr<sprite_instance> sprite = ensureType<sprite_instance>(fn.this_ptr); +#ifdef DEBUG_DRAWING_API + log_debug("%s.clear();", sprite->getTarget().c_str()); +#endif sprite->clear(); return as_value(); @@ -1214,6 +1238,9 @@ rgba color(r, g, b, a); +#ifdef DEBUG_DRAWING_API + log_debug("%s.beginFill(%d,%d,%d);", sprite->getTarget().c_str(), r, g, b); +#endif sprite->beginFill(color); return as_value(); @@ -3408,6 +3435,12 @@ bool childHaveUnloadHandler = m_display_list.unload(); + // We won't be displayed again, so worth releasing + // some memory. The drawable might take a lot of memory + // on itself. + //_drawable.clear(); + // TODO: drop the _drawable_inst too ? + return character::unload() || childHaveUnloadHandler; } _______________________________________________ Gnash-commit mailing list Gnash-commit@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-commit