www.pudn.com > Flirt.zip > action.h
/* Flirt, an SWF rendering library Copyright (c) 2004-2006 Dave HaydenAll rights reserved. http://www.opaque.net/flirt/ This code is distributed under the two-clause BSD license. Read the LICENSE file or visit the URL above for details */ #ifndef DD_ACTION_ACTION_H_INCLUDED #define DD_ACTION_ACTION_H_INCLUDED #include "../dd.h" typedef struct _ddAction ddAction; #include "../player/player.h" #include "opcodes.h" #include "object.h" struct _ddAction { ddAction* next; ddActionOpcode* opcodes; int length; char** dictionary; int dictionarySize; }; void dd_initActionEngine(ddPlayer* player); void dd_destroyActionEngine(ddPlayer* player); ddActionClass* ddPlayer_addClass(ddPlayer* player, ddActionClass* superclass, const char* name, ddNativeFunction constructor, int nargs); void dd_setActionTraceFunction(ddPlayer* player, void (*trace)(const char* message, void* userdata), void* userdata); ddAction* dd_newAction(); ddActionOpcode* ddAction_newOpcode(ddAction* action); void dd_destroyAction(ddAction* action); void ddAction_execute(ddPlayer* player, ddAction* action, ddActionObject* object); void dd_doBytecodeAction(ddPlayer* player, ddActionContext** contextptr, ddActionOpcode* op); ddActionValue getSlashPath(ddActionContext* context, const char* str); #ifdef DD_INCLUDE_DEBUGGER int ddAction_getLength(ddAction* action); void ddAction_setBreakpoint(ddAction* action, int line); void ddAction_clearBreakpoint(ddAction* action, int line); void ddAction_getBreakpoints(ddAction* action, int** outLines, int* outNBreaks); #endif /* DD_INCLUDE_DEBUGGER */ #endif /* DD_ACTION_ACTION_H_INCLUDED */