00001 #ifndef _VAPI_MACRO_H_ 00002 #define _VAPI_MACRO_H_ 00003 #include "vapi.h" 00004 #include "vapiLists.h" 00005 #include "vapiOperation.h" 00006 #include "vapiResult.h" 00007 #include "vapiOptions.h" 00008 #ifndef VAPI_WITHOUT_INTERFACE 00009 #include <gtk/gtk.h> 00010 #endif 00011 00020 typedef struct _vMacroItem 00021 { 00022 vEffect *Operation; 00023 vOptions *Options; 00024 } vMacroItem; 00025 00030 typedef vList vMacro; 00031 00035 typedef struct _vMacroHeader 00036 { 00040 char *MacroName; 00044 char *MacroComment; 00048 vMacro *Macro; 00052 vMacroResult *PreviousResult; 00053 } vMacroHeader; 00054 00059 vMacroHeader *vapiMacroNew (const char *MacroName); 00060 00066 void vapiMacroAddItem (vMacro * Macro, vEffect * Operation, 00067 vOptions * Options); 00071 int vapiMacroCountElements (vMacro * Macro); 00076 void vapiMacroDeleteItem (vMacro * Macro, int Delete); 00082 vMacroItem *vapiMacroSelectItem (vMacro * Macro, int Item); 00088 void vapiMacroAddItemPositioned (vMacro * Macro, vEffect * Operation, 00089 vOptions * Options, int position); 00090 00096 void vapiApplyMacro (vMacroHeader * MacroHeader, vImages * Images, 00097 vBoolean ResetResult, vBoolean SaveSequence); 00098 00102 void vapiMacroToText (vMacro * Macro); 00103 00109 void vapiLoadMacro (vImages * Images, vOptions * options, 00110 vMacroResult * PreviousResult); 00113 void vapiMacroDelete (vMacroHeader * MacroHeader); 00117 void vapiApplyMacroUntil (vMacroHeader * MacroHeader, vImages * Images, 00118 int Until); 00123 void vapiConditionalJump (vImages * Images, vOptions * Options, 00124 vMacroResult * PreviousResult); 00128 void vMacroItemFree (vMacroItem * Free); 00135 int vapiMacroGetMacroIndex (vMacro * Macro, const char *MacroName, int order); 00139 void vapiMacroUpdateComment (vMacroHeader * MacroHeader, 00140 const char *MacroComment); 00144 void vapiMacroUpdateName (vMacroHeader * MacroHeader, const char *MacroName); 00145 00151 char *vapiMacroTag (const char *previousMacroTag, int operationNumber); 00152 #endif