MHEG5
15.3.0
|
00001 /******************************************************************************* 00002 * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org) 00003 * Copyright © 2004 Ocean Blue Software Ltd 00004 * Copyright © 2000 Koninklijke Philips Electronics N.V 00005 * 00006 * This file is part of a DTVKit Software Component 00007 * You are permitted to copy, modify or distribute this file subject to the terms 00008 * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org 00009 * 00010 * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, 00011 * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES 00012 * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. 00013 * 00014 * If you or your organisation is not a member of DTVKit then you have access 00015 * to this source code outside of the terms of the licence agreement 00016 * and you are expected to delete this and any associated files immediately. 00017 * Further information on DTVKit, membership and terms can be found at www.dtvkit.org 00018 *******************************************************************************/ 00029 #ifndef _MH5ACTION_H 00030 #define _MH5ACTION_H 00031 00032 /*---includes for this file--------------------------------------------------*/ 00033 00034 #include "mh5root.h" 00035 00036 /*---Constant and macro definitions for public use---------------------------*/ 00037 #define MAX_EVENT_INDENT 64 00038 #define MAX_EVENT_DLEVEL 256 00039 00040 /*---Enumerations for public use---------------------------------------------*/ 00041 00042 /*---Global type defs for public use-----------------------------------------*/ 00043 00044 /* 00045 Defined Actions as Enumeration 00046 Do not modifie the sequence - this is very important 00047 for the ASN1 Decoder 00048 */ 00049 typedef enum 00050 { 00051 MHEG5NONEACTION, /* 0 */ 00052 MHEG5ACTIVATE, 00053 MHEG5ADD, 00054 MHEG5ADDITEM, 00055 MHEG5APPEND, 00056 MHEG5BRINGTOFRONT, 00057 MHEG5CALL, 00058 MHEG5CALLACTIONSLOT, 00059 MHEG5CLEAR, 00060 MHEG5CLONE, 00061 MHEG5CLOSECONNECTION, /* 10 */ 00062 MHEG5DEACTIVATE, 00063 MHEG5DELITEM, 00064 MHEG5DESELECT, 00065 MHEG5DESELECTITEM, 00066 MHEG5DIVIDE, 00067 MHEG5DRAWARC, 00068 MHEG5DRAWLINE, 00069 MHEG5DRAWOVAL, 00070 MHEG5DRAWPOLYGON, 00071 MHEG5DRAWPOLYLINE, /* 20 */ 00072 MHEG5DRAWRECTANGLE, 00073 MHEG5DRAWSECTOR, 00074 MHEG5FORK, 00075 MHEG5GETAVAILABILITYSTATUS, 00076 MHEG5GETBOXSIZE, 00077 MHEG5GETCELLITEM, 00078 MHEG5GETCURSORPOSITION, 00079 MHEG5GETENGINESUPPORT, 00080 MHEG5GETENTRYPOINT, 00081 MHEG5GETFILLCOLOUR, /* 30 */ 00082 MHEG5GETFIRSTITEM, 00083 MHEG5GETHIGHLIGHTSTATUS, 00084 MHEG5GETINTERACTIONSTATUS, 00085 MHEG5GETITEMSTATUS, 00086 MHEG5GETLABEL, 00087 MHEG5GETLASTANCHORFIRED, 00088 MHEG5GETLINECOLOUR, 00089 MHEG5GETLINESTYLE, 00090 MHEG5GETLINEWIDTH, 00091 MHEG5GETLISTITEM, /* 40 */ 00092 MHEG5GETLISTSIZE, 00093 MHEG5GETOVERWRITEMODE, 00094 MHEG5GETPORTION, 00095 MHEG5GETPOSITION, 00096 MHEG5GETRUNNINGSTATUS, 00097 MHEG5GETSELECTIONSTATUS, 00098 MHEG5GETSLIDERVALUE, 00099 MHEG5GETTEXTCONTENT, 00100 MHEG5GETTEXTDATA, 00101 MHEG5GETTOKENPOSITION, /* 50 */ 00102 MHEG5GETVOLUME, 00103 MHEG5LAUNCH, 00104 MHEG5LOCKSCREEN, 00105 MHEG5MODULO, 00106 MHEG5MOVE, 00107 MHEG5MOVETO, 00108 MHEG5MULTIPLY, 00109 MHEG5OPENCONNECTION, 00110 MHEG5PRELOAD, 00111 MHEG5PUTBEFORE, /* 60 */ 00112 MHEG5PUTBEHIND, 00113 MHEG5QUIT, 00114 MHEG5READPERSISTENT, 00115 MHEG5RUN, 00116 MHEG5SCALEBITMAP, 00117 MHEG5SCALEVIDEO, 00118 MHEG5SCROLLITEMS, 00119 MHEG5SELECT, 00120 MHEG5SELECTITEM, 00121 MHEG5SENDEVENT, /* 70 */ 00122 MHEG5SENDTOBACK, 00123 MHEG5SETBOXSIZE, 00124 MHEG5SETCACHEPRIORITY, 00125 MHEG5SETCOUNTERENDPOSITION, 00126 MHEG5SETCOUNTERPOSITION, 00127 MHEG5SETCOUNTERTRIGGER, 00128 MHEG5SETCURSORPOSITION, 00129 MHEG5SETCURSORSHAPE, 00130 MHEG5SETDATA, 00131 MHEG5SETENTRYPOINT, /* 80 */ 00132 MHEG5SETFILLCOLOUR, 00133 MHEG5SETFIRSTITEM, 00134 MHEG5SETFONTREF, 00135 MHEG5SETHIGHLIGHTSTATUS, 00136 MHEG5SETINTERACTIONSTATUS, 00137 MHEG5SETLABEL, 00138 MHEG5SETLINECOLOUR, 00139 MHEG5SETLINESTYLE, 00140 MHEG5SETLINEWIDTH, 00141 MHEG5SETOVERWRITEMODE, /* 90 */ 00142 MHEG5SETPALETTEREF, 00143 MHEG5SETPORTION, 00144 MHEG5SETPOSITION, 00145 MHEG5SETSLIDERVALUE, 00146 MHEG5SETSPEED, 00147 MHEG5SETTIMER, 00148 MHEG5SETTRANSPARENCY, 00149 MHEG5SETVARIABLE, 00150 MHEG5SETVOLUME, 00151 MHEG5SPAWN, /* 100 */ 00152 MHEG5STEP, 00153 MHEG5STOP, 00154 MHEG5STOREPERSISTENT, 00155 MHEG5SUBTRACT, 00156 MHEG5TESTVARIABLE, 00157 MHEG5TOGGLE, 00158 MHEG5TOGGLEITEM, 00159 MHEG5TRANSITIONTO, 00160 MHEG5UNLOAD, 00161 MHEG5UNLOCKSCREEN, /* 110 */ 00162 ACTION_225, ACTION_226, ACTION_227, ACTION_228, ACTION_229, ACTION_230, 00163 ACTION_231, ACTION_232, ACTION_233, ACTION_234, ACTION_235, ACTION_236, 00164 MHEG5SETBACKGROUNDCOLOUR, /* 123 */ 00165 MHEG5SETCELLPOSITION, 00166 MHEG5SETINPUTREGISTER, 00167 MHEG5SETTEXTCOLOUR, 00168 MHEG5SETFONTATTRIBUTES, 00169 MHEG5SETVIDEODECODEOFFSET, 00170 MHEG5GETVIDEODECODEOFFSET, 00171 MHEG5GETFOCUSPOSITION, /* 130 */ 00172 MHEG5SETFOCUSPOSITION, 00173 MHEG5SETBITMAPDECODEOFFSET, 00174 MHEG5GETBITMAPDECODEOFFSET, 00175 MHEG5SETSLIDERPARAMETERS, 00176 ACTION_249, 00177 MHEG5SETDESKTOPCOLOUR, 00178 MHEG5GETCOUNTERPOSITION, 00179 MHEG5GETCOUNTERMAXPOSITION, 00180 ACTION_253, 00181 MHEG5SETINPUTMASK, /* 140 */ 00182 ACTION_LAST 00183 } E_ElementryAction; 00184 00185 typedef MHEG5Short MHEG5ElemActionType; 00186 00187 /* 00188 Each Elementary Action consists of a Type Identifier, a List of Parameters and 00189 a Pointer to the next Elementary Action in the List 00190 */ 00191 typedef struct sMHEG5Action 00192 { 00193 MHEG5Root *target; 00194 MHEG5GList *firstParam; 00195 MHEG5GList *origFirstParam; 00196 MHEG5ElemActionType type; 00197 MHEG5Boolean targetIsIndirect; 00198 } MHEG5Action; 00199 00200 typedef struct sMHEG5ActionList 00201 { 00202 MHEG5Action *a_ptr; 00203 MHEG5Int total; 00204 } MHEG5ActionList; 00205 00206 00207 /*---Global variable declarations for public use-----------------------------*/ 00208 #if defined(MH5PRINTOUT) || defined(TRACING) 00209 extern int event_indent_num; 00210 #endif 00211 00212 /*---Global Function prototypes for public use-------------------------------*/ 00213 00219 /* 00220 Debug 00221 */ 00222 #ifdef MH5PRINTOUT 00223 void MHEG5actionPrint(MHEG5ActionList actions, char *out); 00224 #endif 00225 00226 /* 00227 Free the memory of a list of elementary actions 00228 The memory is allocated by the Text- or ASN.1 parser. 00229 */ 00230 void MHEG5actionDestruct(MHEG5ActionList actions); 00231 00232 00233 #endif /*_MH5ACTION_H*/