MHEG  17.9.0
 All Data Structures Files Functions Variables Typedefs Enumerations Macros Pages
mh5action.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  * Copyright © 2004 Ocean Blue Software Ltd
4  * Copyright © 2000 Koninklijke Philips Electronics N.V
5  *
6  * This file is part of a DTVKit Software Component
7  * You are permitted to copy, modify or distribute this file subject to the terms
8  * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
9  *
10  * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
11  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
12  * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
13  *
14  * If you or your organisation is not a member of DTVKit then you have access
15  * to this source code outside of the terms of the licence agreement
16  * and you are expected to delete this and any associated files immediately.
17  * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
18  *******************************************************************************/
29 #ifndef _MH5ACTION_H
30 #define _MH5ACTION_H
31 
32 /*---includes for this file--------------------------------------------------*/
33 
34 #include "mh5root.h"
35 
36 /*---Constant and macro definitions for public use---------------------------*/
37 #define MAX_EVENT_INDENT 64
38 
39 /*---Enumerations for public use---------------------------------------------*/
40 
41 /*---Global type defs for public use-----------------------------------------*/
42 
43 /*
44  Defined Actions as Enumeration
45  Do not modifie the sequence - this is very important
46  for the ASN1 Decoder
47  */
48 typedef enum
49 {
50  MHEG5NONEACTION, /* 0 */
51  MHEG5ACTIVATE,
52  MHEG5ADD,
53  MHEG5ADDITEM,
54  MHEG5APPEND,
55  MHEG5BRINGTOFRONT,
56  MHEG5CALL,
57  MHEG5CALLACTIONSLOT,
58  MHEG5CLEAR,
59  MHEG5CLONE,
60  MHEG5CLOSECONNECTION, /* 10 */
61  MHEG5DEACTIVATE,
62  MHEG5DELITEM,
63  MHEG5DESELECT,
64  MHEG5DESELECTITEM,
65  MHEG5DIVIDE,
66  MHEG5DRAWARC,
67  MHEG5DRAWLINE,
68  MHEG5DRAWOVAL,
69  MHEG5DRAWPOLYGON,
70  MHEG5DRAWPOLYLINE, /* 20 */
71  MHEG5DRAWRECTANGLE,
72  MHEG5DRAWSECTOR,
73  MHEG5FORK,
74  MHEG5GETAVAILABILITYSTATUS,
75  MHEG5GETBOXSIZE,
76  MHEG5GETCELLITEM,
77  MHEG5GETCURSORPOSITION,
78  MHEG5GETENGINESUPPORT,
79  MHEG5GETENTRYPOINT,
80  MHEG5GETFILLCOLOUR, /* 30 */
81  MHEG5GETFIRSTITEM,
82  MHEG5GETHIGHLIGHTSTATUS,
83  MHEG5GETINTERACTIONSTATUS,
84  MHEG5GETITEMSTATUS,
85  MHEG5GETLABEL,
86  MHEG5GETLASTANCHORFIRED,
87  MHEG5GETLINECOLOUR,
88  MHEG5GETLINESTYLE,
89  MHEG5GETLINEWIDTH,
90  MHEG5GETLISTITEM, /* 40 */
91  MHEG5GETLISTSIZE,
92  MHEG5GETOVERWRITEMODE,
93  MHEG5GETPORTION,
94  MHEG5GETPOSITION,
95  MHEG5GETRUNNINGSTATUS,
96  MHEG5GETSELECTIONSTATUS,
97  MHEG5GETSLIDERVALUE,
98  MHEG5GETTEXTCONTENT,
99  MHEG5GETTEXTDATA,
100  MHEG5GETTOKENPOSITION, /* 50 */
101  MHEG5GETVOLUME,
102  MHEG5LAUNCH,
103  MHEG5LOCKSCREEN,
104  MHEG5MODULO,
105  MHEG5MOVE,
106  MHEG5MOVETO,
107  MHEG5MULTIPLY,
108  MHEG5OPENCONNECTION,
109  MHEG5PRELOAD,
110  MHEG5PUTBEFORE, /* 60 */
111  MHEG5PUTBEHIND,
112  MHEG5QUIT,
113  MHEG5READPERSISTENT,
114  MHEG5RUN,
115  MHEG5SCALEBITMAP,
116  MHEG5SCALEVIDEO,
117  MHEG5SCROLLITEMS,
118  MHEG5SELECT,
119  MHEG5SELECTITEM,
120  MHEG5SENDEVENT, /* 70 */
121  MHEG5SENDTOBACK,
122  MHEG5SETBOXSIZE,
123  MHEG5SETCACHEPRIORITY,
124  MHEG5SETCOUNTERENDPOSITION,
125  MHEG5SETCOUNTERPOSITION,
126  MHEG5SETCOUNTERTRIGGER,
127  MHEG5SETCURSORPOSITION,
128  MHEG5SETCURSORSHAPE,
129  MHEG5SETDATA,
130  MHEG5SETENTRYPOINT, /* 80 */
131  MHEG5SETFILLCOLOUR,
132  MHEG5SETFIRSTITEM,
133  MHEG5SETFONTREF,
134  MHEG5SETHIGHLIGHTSTATUS,
135  MHEG5SETINTERACTIONSTATUS,
136  MHEG5SETLABEL,
137  MHEG5SETLINECOLOUR,
138  MHEG5SETLINESTYLE,
139  MHEG5SETLINEWIDTH,
140  MHEG5SETOVERWRITEMODE, /* 90 */
141  MHEG5SETPALETTEREF,
142  MHEG5SETPORTION,
143  MHEG5SETPOSITION,
144  MHEG5SETSLIDERVALUE,
145  MHEG5SETSPEED,
146  MHEG5SETTIMER,
147  MHEG5SETTRANSPARENCY,
148  MHEG5SETVARIABLE,
149  MHEG5SETVOLUME,
150  MHEG5SPAWN, /* 100 */
151  MHEG5STEP,
152  MHEG5STOP,
153  MHEG5STOREPERSISTENT,
154  MHEG5SUBTRACT,
155  MHEG5TESTVARIABLE,
156  MHEG5TOGGLE,
157  MHEG5TOGGLEITEM,
158  MHEG5TRANSITIONTO,
159  MHEG5UNLOAD,
160  MHEG5UNLOCKSCREEN, /* 110 */
161  ACTION_225, ACTION_226, ACTION_227, ACTION_228, ACTION_229, ACTION_230,
162  ACTION_231, ACTION_232, ACTION_233, ACTION_234, ACTION_235, ACTION_236,
163  MHEG5SETBACKGROUNDCOLOUR, /* 123 */
164  MHEG5SETCELLPOSITION,
165  MHEG5SETINPUTREGISTER,
166  MHEG5SETTEXTCOLOUR,
167  MHEG5SETFONTATTRIBUTES,
168  MHEG5SETVIDEODECODEOFFSET,
169  MHEG5GETVIDEODECODEOFFSET,
170  MHEG5GETFOCUSPOSITION, /* 130 */
171  MHEG5SETFOCUSPOSITION,
172  MHEG5SETBITMAPDECODEOFFSET,
173  MHEG5GETBITMAPDECODEOFFSET,
174  MHEG5SETSLIDERPARAMETERS,
175  ACTION_249,
176  MHEG5SETDESKTOPCOLOUR,
177  MHEG5GETCOUNTERPOSITION,
178  MHEG5GETCOUNTERMAXPOSITION,
179  ACTION_253,
180  MHEG5SETINPUTMASK, /* 140 */
181  ACTION_LAST
182 } E_ElementryAction;
183 
184 typedef MHEG5Short MHEG5ElemActionType;
185 
186 /*
187  Each Elementary Action consists of a Type Identifier, a List of Parameters and
188  a Pointer to the next Elementary Action in the List
189  */
190 typedef struct sMHEG5Action
191 {
192  MHEG5Root *target;
193  MHEG5GList *firstParam;
194  MHEG5GList *origFirstParam;
195  MHEG5ElemActionType type;
196  MHEG5Boolean targetIsIndirect;
197 } MHEG5Action;
198 
199 typedef struct sMHEG5ActionList
200 {
201  MHEG5Action *a_ptr;
202  MHEG5Int total;
203 #if defined(MH5PRINTOUT) || defined(TRACING)
204  int indent;
205 #endif
207 
208 
209 /*---Global variable declarations for public use-----------------------------*/
210 #if defined(MH5PRINTOUT) || defined(TRACING)
211 extern int event_indent_num;
212 #endif
213 
214 /*---Global Function prototypes for public use-------------------------------*/
215 
221 /*
222  Debug
223  */
224 #ifdef MH5PRINTOUT
225 void MHEG5actionPrint(MHEG5ActionList actions, char *out);
226 #endif
227 
228 /*
229  Free the memory of a list of elementary actions
230  The memory is allocated by the Text- or ASN.1 parser.
231  */
233 
234 
235 #endif /*_MH5ACTION_H*/
Definition: mh5action.h:199
Implementation of Root class Description Root class of all MHEG-5 classes. Base class None Subclasses...
Definition: mh5base.h:169
void MHEG5actionDestruct(MHEG5ActionList actions)
<Function description>="">
Definition: mh5action.c:118
Definition: mh5action.h:190
Definition: mh5root.h:43