60 #if defined(INCLUDE_IC) && defined(INCLUDE_ICS) 91 MHEG_PRINT(out,
" :ContentRef ( ");
92 MHEG5stringPrint(b.ref.referenced.reference, out);
93 if (b.ref.referenced.priority != FRP_CACHE_DEFAULT)
95 MHEG_PRINT(out,
" :CCPriority ");
96 MHEG5intPrint(b.ref.referenced.priority, out);
98 MHEG_PRINT(out,
" )");
102 MHEG5stringPrint(b.ref.included, out);
115 MHEG5rootPrint(&ingredient->root, out);
118 if (ingredient->initiallyStopped)
121 MHEG_PRINT(out,
":InitiallyActive FALSE");
125 if (ingredient->contentHook != MHEG5CHOOK_UNDEFINED && ingredient->contentHook != 0)
128 MHEG_PRINT(out,
":CHook ");
129 MHEG5intPrint(ingredient->contentHook, out);
133 if (ingredient->originalContent.referenced || ingredient->originalContent.ref.included.data)
136 MHEG_PRINT(out,
":OrigContent ");
137 MHEG5contentBodyPrint(ingredient->originalContent, out);
140 if (ingredient->shared &&
141 ingredient->root.clazz != MHEG5AUDIO &&
142 ingredient->root.clazz != MHEG5VIDEO)
145 MHEG_PRINT(out,
":Shared TRUE");
150 if (ingredient->content.referenced || ingredient->content.ref.included.len)
153 MHEG_PRINT(out,
"// :Content ");
154 MHEG5contentBodyPrint(ingredient->content, out);
181 if (item->contentHook == MHEG5CHOOK_UNDEFINED)
183 switch (item->root.clazz)
186 item->contentHook = application->bitmapContentHook;
189 item->contentHook = application->streamContentHook;
192 case MHEG5ENTRYFIELD:
194 item->contentHook = application->textContentHook;
198 case MHEG5DYNAMICLINEART:
199 item->contentHook = application->lineArtContentHook;
201 case MHEG5INTERCHANGEDPROGRAM:
202 item->contentHook = application->interchangedProgramContentHook;
238 switch (item->root.clazz)
241 case MHEG5CURSORSHAPE:
243 ERROR_PRINT((
"ERROR: content not allowed for this type %d\n", item->root.clazz));
246 if (item->contentHook == CHOOK_FONT_TRUE_TYPE)
264 assert( vis->graphic_data == 0 );
265 switch (item->contentHook)
267 case CHOOK_BITMAP_PNG:
268 #ifdef DRAW_IN_ADVANCE 269 MG_DrawPng( content->data, content->size, vis );
272 case CHOOK_BITMAP_JPG:
273 #ifdef DRAW_IN_ADVANCE 274 MG_DrawJpg( content->data, content->size, vis );
277 case CHOOK_BITMAP_NORMAL_IFRAME:
278 case CHOOK_BITMAP_H264_IFRAME:
279 #ifdef INCLUDE_FREESAT 280 case CHOOK_BITMAP_IMAGE_PLANE_IFRAME:
285 ERROR_PRINT((
"ERROR: invalid chook for Bitmap %ld\n", item->contentHook));
290 case MHEG5ENTRYFIELD:
292 switch (item->contentHook)
294 case CHOOK_TEXT_UTF8:
298 case CHOOK_TEXT_UTF16:
302 ERROR_PRINT((
"ERROR: invalid chook for Text %ld\n", item->contentHook));
310 ERROR_PRINT((
"INTERNAL ERROR: invalid object class\n"));
316 if (item->content.referenced)
319 item->data = MHEG5getMem( content->size );
322 memcpy(item->data, content->data, content->size );
323 item->dataLen = content->size;
324 TRACE(TFILE, (
"Cref: id=%ld, clz=%d ptr=0x%p len=%d", item->root.id, item->root.clazz, item->data, item->dataLen))
330 item->data = item->content.ref.included.data;
331 item->dataLen = item->content.ref.included.len;
332 TRACE(TFILE, (
"Cinc: id=%ld, clz=%d ptr=0x%p len=%d", item->root.id, item->root.clazz, item->data, item->dataLen))
345 switch (item->root.clazz)
352 switch (item->contentHook)
354 case CHOOK_BITMAP_PNG:
355 case CHOOK_BITMAP_JPG:
364 case CHOOK_BITMAP_NORMAL_IFRAME:
365 case CHOOK_BITMAP_H264_IFRAME:
366 #ifdef INCLUDE_FREESAT 367 case CHOOK_BITMAP_IMAGE_PLANE_IFRAME:
373 ERROR_PRINT((
"\nERROR: invalid Bmp chook %ld, id=%d data=%p", item->contentHook, item->root.id, item->data));
380 case MHEG5ENTRYFIELD:
387 if (item->dataLen > 0)
389 MHEG5freeMem(item->data);
396 if (((
MHEG5Font *)item)->mg_fnt_index != INVALID_MG_FNT_INDEX)
403 if ((item->content.referenced) && (item->data))
405 TRACE(TFILE, (
"Cfree id=%ld, clz=%d ptr=0x%p len=%d", item->root.id, item->root.clazz, item->data, item->dataLen))
407 MHEG5freeMem(item->data);
422 static
void MHEG5ingredientContentPrepareAsync(
433 MHEG5contentFree(ingredient);
438 if (((
MHEG5Root *) ingredient)->clazz == MHEG5HYPERTEXT)
445 if (content->data != NULL && content->size != 0)
447 MHEG5contentAdapt( ingredient, content );
451 if (((
MHEG5Root *) ingredient)->clazz == MHEG5TEXT && content->size == 0)
457 if (ingredient->root.clazz == MHEG5STREAM)
466 if (((
MHEG5Root *) ingredient)->runningStatus)
469 if (ingredient->root.clazz == MHEG5BITMAP &&
470 (ingredient->contentHook == CHOOK_BITMAP_NORMAL_IFRAME ||
471 ingredient->contentHook == CHOOK_BITMAP_H264_IFRAME
472 #ifdef INCLUDE_FREESAT
473 || ingredient->contentHook == CHOOK_BITMAP_IMAGE_PLANE_IFRAME
479 if ((ingredient->data != NULL) && (ingredient->dataLen > 0))
490 #ifndef NO_SCREEN_UPDATE_ON_SYNC 491 if (ingredient->cpState == CP_STATE_CHANGED)
500 if (ingredient->root.clazz == MHEG5STREAM)
505 ingredient->cpState = CP_STATE_INITIAL;
519 static void MHEG5ingredientContentRetrieved(
void *userData,
S_CONTENT *content )
527 TRACE(TERROR, (
" Null pointer to Ingredient"))
531 ingredient->ormHandle = NULL;
533 assert(ingredient->root.id);
534 if (ingredient->root.id == 0)
537 TRACE(TERROR, (
" Null object: %p", ingredient))
541 TRACE(TFILE, (
" got id=%ld", ingredient->root.id))
543 MHEG5ingredientContentPrepareAsync( ingredient, content );
556 static
void MHEG5ingredientContentRetrievalFail(
void *userData )
564 TRACE(TERROR, (
" No object %p", userData))
568 TRACE(TFILE, (
" No content: id=%ld", ingredient->root.id))
572 if (application && ingredient->cpState != CP_STATE_PRELOAD &&
576 MHEG5sendEvent(application, MHEG5ENGINEEVENT, EE_CONTENT_REF_ERROR );
579 ingredient->ormHandle = NULL;
581 if (((
MHEG5Root *)ingredient)->clazz == MHEG5STREAM)
583 if (((
MHEG5Root *)ingredient)->runningStatus)
590 MHEG5contentFree(ingredient);
593 if (((
MHEG5Root *)ingredient)->clazz == MHEG5FONT)
596 ((
MHEG5Font *)ingredient)->mg_fnt_index = 0;
600 if (((
MHEG5Root *) ingredient)->runningStatus)
609 ingredient->cpState = CP_STATE_INITIAL;
624 ingredient->originalContent.ref.referenced.priority = FRP_CACHE_DEFAULT;
625 ingredient->contentHook = MHEG5CHOOK_UNDEFINED;
641 if (ingredient->originalContent.referenced)
664 destination->initiallyStopped = source->initiallyStopped;
665 destination->contentHook = source->contentHook;
666 destination->originalContent.referenced = source->originalContent.referenced;
667 if (source->originalContent.referenced)
669 destination->originalContent.ref.referenced.reference =
MHEG5stringCopy(source->originalContent.ref.referenced.reference);
670 destination->originalContent.ref.referenced.priority = source->originalContent.ref.referenced.priority;
674 destination->originalContent.ref.included =
MHEG5stringCopy(source->originalContent.ref.included);
676 destination->shared = source->shared;
687 MHEG5Bool hasContent = MHEG5FALSE;
691 switch (ingredient->root.clazz)
694 TRACE(TSTRM, (
"Stream CHook=%d", ingredient->contentHook))
697 #ifndef MHEG5PROFILE_UK1_06 699 case MHEG5CURSORSHAPE:
704 case MHEG5ENTRYFIELD:
706 hasContent = MHEG5TRUE;
725 CALL_PRINT((
">> MHEG5ingredientPrepare(%p)\n", ingredient));
729 ingredient->content.referenced = ingredient->originalContent.referenced;
730 if (ingredient->originalContent.referenced)
733 ingredient->content.ref.referenced.reference =
MHEG5stringCopy(ingredient->originalContent.ref.referenced.reference);
734 ingredient->content.ref.referenced.priority = ingredient->originalContent.ref.referenced.priority;
739 ingredient->content.ref.included =
MHEG5stringCopy(ingredient->originalContent.ref.included);
746 if (MHEG5canHaveContent(ingredient))
751 CALL_PRINT((
"<< MHEG5ingredientPrepare\n"));
774 CALL_PRINT((
">> MHEG5ingredientContentPrepare(%p)\n", ingredient));
778 MHEG5updateContentHook(ingredient);
780 if (!ingredient->content.referenced)
785 content.size = ingredient->content.ref.included.len;
786 content.data = ingredient->content.ref.included.data;
787 content.destroy = NULL;
788 content.fs_handle = NULL;
789 MHEG5ingredientContentPrepareAsync( ingredient, &content );
794 INFO_PRINT((
"MHEG5ingredientContentPrepare referenced content\n"));
795 ref = ingredient->content.ref.referenced.reference;
798 TRACE(TFILE, (
"id=%ld running=%d ref=%d,%s", ingredient->root.id, ingredient->root.runningStatus, ref.len, ref.data))
799 if ((ingredient->root.clazz == MHEG5STREAM) &&
800 (ingredient->contentHook == CHOOK_STREAM_IC))
810 priority = ingredient->content.ref.referenced.priority & FRP_CACHE_MASK;
814 priority |= FRP_IN_APP;
816 if ((ingredient->root.clazz == MHEG5STREAM) &&
817 (ingredient->contentHook == CHOOK_STREAM_NORMAL))
820 priority |= FRP_DEFER_SERV;
822 ingredient->ormHandle =
824 MHEG5ingredientContentRetrieved,
825 MHEG5ingredientContentRetrievalFail );
830 TRACE(TERROR, (
"referenced content, but len is zero: id=%ld", ingredient->root.id))
833 CALL_PRINT((
"<< MHEG5ingredientContentPrepare\n"));
854 if (MHEG5canHaveContent(ingredient))
856 if (ingredient->content.referenced && ingredient->ormHandle != NULL)
860 MHEG5contentFree(ingredient);
865 if (ingredient->content.referenced)
940 MHEG5Bool valid = MHEG5FALSE;
941 MHEG5Bool referenced = MHEG5FALSE;
947 TRACE(TERROR, (
"err wrong no param"))
948 return MHEG5ERR_WRONGNUMBEROFPARAMS;
953 if (target->clazz != MHEG5OCTETSTRINGVARIABLE)
955 TRACE(TERROR, (
"err wrong class=%d", target->clazz))
957 return MHEG5ERR_WRONGTARGET;
960 optionalParam = MHEG5resolveGenericCRef(params, &newRef, &referenced, &valid);
961 if (valid == MHEG5FALSE)
963 TRACE(TERROR, (
"err wrong param"))
964 return MHEG5ERR_WRONGPARAM;
970 return MHEG5ERR_WRONGPARAM;
986 ((
MHEG5Ingredient *) target)->content.ref.referenced.priority = FRP_CACHE_DEFAULT;
991 MHEG5Int contentSize = 0;
992 optionalParam = MHEG5resolveGenericInteger(optionalParam, &contentSize);
997 MHEG5resolveGenericInteger(optionalParam,
1010 if (mheg_trace_debug & (TACTIONS | TFILE))
1012 DBG_PRINTF(T_NL
"SetData( %ld, %s=\"%s\" )", target->id, (referenced) ?
"Ref" :
"Txt", newRef.data);
1016 #ifndef MHEG5PROFILE_UK1 1023 if (target->clazz == MHEG5BITMAP)
1031 if (target->clazz == MHEG5STREAM)
1035 multiplexItem = ((
MHEG5Stream *)target)->multiplex;
1037 while (*multiplexItem)
1039 if ((*multiplexItem)->root.clazz == MHEG5VIDEO)
1041 ((
MHEG5Video *)*multiplexItem)->scaleSet = MHEG5FALSE;
1049 if (target->clazz == MHEG5STREAM)
1058 if (stream->ingredient.contentHook == CHOOK_STREAM_IC)
1060 stream->counterPosition = 0;
1061 stream->counterEndPosition = -1;
1068 return MHEG5ERR_NOERROR;
1107 MHEG5Root *cloneRefVar = 0, *newItem = 0;
1109 MHEG5Int newId = 5555;
1116 return MHEG5ERR_WRONGNUMBEROFPARAMS;
1118 MHEG5resolveORef(params, &cloneRefVar);
1121 return MHEG5ERR_WRONGNUMBEROFPARAMS;
1124 switch (target->clazz)
1127 case MHEG5APPLICATION:
1131 case MHEG5RTGRAPHICS:
1132 ERROR_PRINT((
"ERROR: Clone not supported for class %d\n", target->clazz));
1133 return MHEG5ERR_WRONGPARAM;
1136 ERROR_PRINT((
"ERROR: Clone not supported by this engine for class %d\n", target->clazz));
1137 return MHEG5ERR_NOTSUPPORTEDBYPROFILE;
1147 case MHEG5RECTANGLE:
1151 if (newItem != NULL)
1153 newId += target->id;
1156 gref.ptr.group = target->grp;
1157 while (MHEG5findObject(gref, newId))
1162 newItem->id = newId;
1167 MHEG5objRefStoreValue( objref, gref, newId );
1171 switch (newItem->clazz)
1179 case MHEG5RECTANGLE:
1186 return MHEG5ERR_NOERROR;
1208 if (!target->availabilityStatus)
1211 switch (target->clazz)
1214 case MHEG5APPLICATION:
1215 ERROR_PRINT((
"ERROR: target invalid class %d\n", target->clazz));
1229 case MHEG5DYNAMICLINEART:
1232 case MHEG5RECTANGLE:
1235 case MHEG5RESIDENTPROGRAM:
1236 case MHEG5REMOTEPROGRAM:
1237 case MHEG5INTERCHANGEDPROGRAM:
1240 case MHEG5BOOLEANVARIABLE:
1243 case MHEG5INTEGERVARIABLE:
1246 case MHEG5OCTETSTRINGVARIABLE:
1249 case MHEG5OBJECTREFVARIABLE:
1252 case MHEG5CONTENTREFVARIABLE:
1264 #ifndef MHEG5PROFILE_UK1_06 1268 case MHEG5PUSHBUTTON:
1271 case MHEG5SWITCHBUTTON:
1274 case MHEG5RTGRAPHICS:
1280 case MHEG5CURSORSHAPE:
1287 case MHEG5TOKENGROUP:
1290 case MHEG5LISTGROUP:
1293 case MHEG5ENTRYFIELD:
1296 case MHEG5HYPERTEXT:
1303 ERROR_PRINT((
"ERROR: Preload: Unrecognised class %d\n", target->clazz));
1307 return MHEG5ERR_NOERROR;
1328 if (target->runningStatus)
1330 TRACE(TERROR, (
"**** object still running! id=%d ****", target->id))
1332 else if (target->clazz != MHEG5APPLICATION && target->clazz != MHEG5SCENE)
1339 TRACE(TSTATE, (
"cloned id=%d", target->id))
1343 switch (target->clazz)
1351 case MHEG5RECTANGLE:
1355 TRACE(TERROR, (
"Unrecognised cloned class %d", target->clazz));
1359 MHEG5freeMem(target);
1364 TRACE(TERROR, (
"*** unload on App/Scene %d ***", target->clazz))
1366 return MHEG5ERR_NOERROR;
void MHEG5refreshStreamObject(MHEG5Stream *stream)
Refresh the DSM-CC Stream Object for a given MHEG-5 Stream Object.
Implement the MHEG5 Palette Class Palette Class Defines a class to represent a colour look-up table...
void MHEG5textClearTextData(MHEG5Text *text)
Clear text data.
MHEG5ErrorCode MHEG5unload(MHEG5Root *target, MHEG5GList *params)
Implementation of the Unload action Unload Destroys an Ingredient and provides a hint to the MHEG-5 e...
void MHEG5finalDestruct(MHEG5Root *item)
<Function description>="">
Implement the MHEG5 Hypertext Class. The HyperText class is a subclass of the Text class...
void MHEG5rootClone(MHEG5Root *destination, MHEG5Root *source)
Implementation of the root part of the Close action.
void MHEG5ingredientActivate(MHEG5Ingredient *ingredient)
Implementation of Activate behaviour Inherrited from Root class.
Distributor for Prepare, Destruct, Activate, Deactivate and Clone calls. Distribute the +Prepare +Des...
Implementation of the RTGraphics class Description Defines the attributes and behaviour of non-persis...
Implement the MHEG5 Dynamiclineart Class Defines means to dynamically draw vectorial graphical object...
void MHEG5StreamerPrepare(MHEG5Stream *stream)
Prepare for retrieval of a stream from the IP connection.
Implementation of the Ingredient class.
void MHEG5requestDisplayUpdate(void)
Request display update at the end of synchronous event processing.
void MHEG5octetStringVariablePrepare(MHEG5OctetStringVariable *variable)
Sets all internal attributes for the specified object to their default values.
void MHEG5contentVariablePrepare(MHEG5ContentVariable *variable)
Sets all internal attributes for the specified object to their default values.
void MHEG5ingredientInit(MHEG5Ingredient *ingredient)
Initialise a ingredient object with default values.
void MHEG5cursorShapePrepare(MHEG5CursorShape *cursorShape)
Apply the preparation behaviour of the cursorshape class Apply the preparation behaviour of the curso...
void MHEG5booleanVariablePrepare(MHEG5BooleanVariable *variable)
Sets all internal attributes for the specified object to their default values.
void MHEG5finalDeactivate(MHEG5Root *item)
BOOLEAN MHEG5FileOrmIsReset(MHEG5FileOrmResetMode *resetMode)
Tell whether the ORM module is currently being reset. If it is, the function also returns the current...
Implementation of the Video class Description Defines the attributes and behaviour of an elementary v...
void MHEG5rootDestruct(MHEG5Root *root)
Implementation of the Destruction behaviour Destruction This behaviour has the basic semantics of ask...
void MHEG5ingredientContentPrepare(MHEG5Ingredient *ingredient)
Implementation of the ContentPrepare behaviour COR.1 6.6: ContentPreparation Apply the following sequ...
void MHEG5textUtf16Content(MHEG5Text *text, unsigned char *data, int len)
Content for Text objects is encoded using UTF16.
Implement the MHEG5 Cursorshape Class Defines encapsulation for the data structures used to represent...
void MG_FontFreeFile(S16BIT font_index)
free memory associated with file
Implement the MHEG5 Stream Class Stream Class Defines the behaviour of a composition of continuous me...
Implement the MHEG5 Program Class Defines means to handle execution of external pieces of procedural ...
Implement the MHEG5 Hotspot Class. Defines invisible unlabelled rectangular areas on the screen that ...
Stream event subscription management.
void MG_FreeData(void *data)
free surface buffer
void * MHEG5FileOrmGet(MHEG5String name, U16BIT priority, void *userData, F_CB_Good cbGood, F_CB_Fail cbFail)
Get a file. The file will be loaded and one of the callback functions called when request is resolved...
MHEG5ErrorCode MHEG5clone(MHEG5Root *target, MHEG5GList *params)
Implementation of the Clone action Clone (CloneRefVar) If the engine supports the Cloning option the ...
MHEG5ErrorCode MHEG5preload(MHEG5Root *target, MHEG5GList *params)
Implementation of the Preload action Preload Prepares an Ingredient and provides a hint to the MHEG-5...
MHEG5Rectangle * MHEG5rectangleClone(MHEG5Rectangle *source)
<Function description>="">
MHEG5String MHEG5stringCopy(MHEG5String source)
<Function description>="">
Implement the MHEG5 Slider Class. Slider Class. Defines the behaviour of sliders. Base class: Visible...
void MHEG5textPrepare(MHEG5Text *text)
Apply the preparation behaviour of the text class Apply the preparation behaviour of the text class...
void MHEG5streamContentAdapt(MHEG5Stream *stream, S_CONTENT *content)
Adapt new content for Stream objects. Content is either a DSM-CC stream object, a DVB URL or an MPEG2...
Implement the MHEG5 Variable Class 21 Variable Class Defines a variable within the context of a Group...
void MHEG5stringDestruct(MHEG5String *item)
Destruct a MHEG5String.
void MHEG5objectRefVariablePrepare(MHEG5ObjectRefVariable *variable)
Sets all internal attributes for the specified object to their default values.
Implement the MHEG5 ListGroup Class Defines the location of list elements on the screen and theire in...
void MHEG5integerVariablePrepare(MHEG5IntegerVariable *variable)
Sets all internal attributes for the specified object to their default values.
void MHEG5FileOrmClear(void *orm_ref)
Aborts a request for file.
void MHEG5dynamicLineartPrepare(MHEG5DynamicLineart *dynamicLineart)
Apply the preparation behaviour of the dynamiclineart class Apply the preparation behaviour of the dy...
void MHEG5videoPrepare(MHEG5Video *video)
Apply the preparation behaviour of the video class As this class has no own preparation behaviour thi...
This file defines the profile for the MHEG engine.
void MHEG5rootPrepare(MHEG5Root *root)
Implementation of the Preparation behaviour Preparation This behaviour has the basic semantics of all...
MHEG5Bool MHEG5visibleIs(MHEG5Root *target)
<Function description>="">
void MHEG5textUtf8Content(MHEG5Text *text, unsigned char *data, int len)
Adapt new content for Text objects. Content is encoded using UTF8 - this is converted to 16 bit unico...
void MHEG5sliderPrepare(MHEG5Slider *slider)
Apply the preparation behaviour of the slider class Apply the preparation behaviour of the slider cla...
void MHEG5groupDelItem(MHEG5Group *group, MHEG5Ingredient *item)
Delete Item from the List.
void MHEG5rectangleFree(MHEG5Rectangle *rectangle)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5rtgraphicsPrepare(MHEG5RTGraphics *rtgraphics)
Apply the preparation behaviour of the RTGraphics class As this class has no own preparation behaviou...
MHEG5ErrorCode MHEG5setData(MHEG5Root *target, MHEG5GList *params)
Implementation of SetData action SetData (NewContent) Set the Content attribute of the target Ingredi...
Implement the MHEG5 Font Class Font Class Defines a class to represent a character font used for rend...
void MHEG5rootDeactivate(MHEG5Root *root)
Implementation of the Deactivation behaviour Deactivation This behaviour has the basic semantics of n...
void MHEG5displayIFrameStart(MHEG5Bitmap *bitmap)
Start displaying an I-Frame.
Event handling. Implementation of a combined queue for events and actions. This is the eventsystem wh...
Implement the MHEG5 Visible Class Defines the behaviour of Presentables that have a visual representa...
void MHEG5ingredientClone(MHEG5Ingredient *destination, MHEG5Ingredient *source)
Implementation of the ingredient part of the clone action.
void MHEG5streamPrepare(MHEG5Stream *stream)
Apply the preparation behaviour of the stream class.
void MHEG5ingredientDeactivate(MHEG5Ingredient *ingredient)
Implementation of Deactivate behaviour Inherrited from Root class.
void MHEG5displayStreamPlay(MHEG5Stream *stream)
Begin playback of all active components in the specifed stream object.
void MHEG5bitmapFree(MHEG5Bitmap *bitmap)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
MHEG5Text * MHEG5textClone(MHEG5Text *source)
Copy a text object with original values.
Implement functions to retrieve MHEG5objects by GroupID and ID.
Implementation of the MHEG5 Application Class Defines a set of Ingredient objects, which are shared within an application scope. Base class: Group Subclasses: None Status: Concrete class.
Implementation of the MHEG5 Scene Class Scene Class Defines a set of Ingredient objects to be activat...
Mheg5 logging and debug printing.
MHEG class interface to graphics text render.
Font file handling with the Freetype.
void MHEG5groupAddItem(MHEG5Group *group, MHEG5Ingredient *item)
Add an Item to the List.
File interface functions to DSMCC component.
void MHEG5fontRefreshTexts(MHEG5Font *font)
Refresh Text objects that reference this Font object. This function may be called after the font has ...
void MHEG5sendEvent(MHEG5Root *source, MHEG5EventType event, MHEG5Int data)
Store an event in the asynchronous event queue.
void MHEG5rootInit(MHEG5Root *root)
Initialise a Root object with default values.
void MHEG5listGroupPrepare(MHEG5ListGroup *listGroup)
Implementation of the ListGroup Preparation behaviour.
S16BIT MG_FontLoadFile(const U8BIT *data, U32BIT length)
Load font data file into memory for freetype.
void MHEG5rootActivate(MHEG5Root *root)
Implementation of the Activation behaviour Activation This behaviour has the basic semantics of immed...
void MHEG5audioPrepare(MHEG5Audio *audio)
Apply the preparation behaviour off the audio class Apply the preparation behaviour off the audio cla...
void MHEG5streamContentClear(MHEG5Stream *stream)
Clear content for Stream objects.
void MHEG5ingredientDestruct(MHEG5Ingredient *ingredient)
Implementation of the Destruction behaviour Execute the following sequence of actions: ...
Implement the MHEG5 Audio Class Audio Class Defines the attributes and behaviour of an elementary aud...
void MHEG5textFree(MHEG5Text *text)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
Implement generic MHEG5-display functions - independent from the OSD These are generic functions used...
void MHEG5ingredientPrepare(MHEG5Ingredient *ingredient)
Implementation of the Preparation behaviour Inherrited from Root class.
void MHEG5bitmapPrepare(MHEG5Bitmap *bitmap)
Apply the preparation behaviour of the bitmap class. As this class has no own preparation behaviour t...
void MHEG5ingredientFree(MHEG5Ingredient *ingredient)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5displayStreamStop(MHEG5Stream *stream)
Stops playback of all active component of the specified stream object.
void MHEG5rootFree(MHEG5Root *root)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
MHEG5Bitmap * MHEG5bitmapClone(MHEG5Bitmap *source)
Copy a bitmap object with original values.
Implement the MHEG5 EntryField Class. Defines an interaction widget used by the final user to edit an...
MHEG5Application * MHEG5getCurrentApplication(void)
<Function description>="">
void MHEG5entryfieldPrepare(MHEG5Entryfield *entryfield)
Apply the preparation behaviour of the entryfield class Apply the preparation behaviour of the entryf...