66 void MHEG5bitmapPrint(
MHEG5Bitmap *bitmap,
char *out)
69 MHEG5visiblePrint(&bitmap->visible, out);
75 MHEG_PRINT(out,
":Tiling TRUE");
79 if (bitmap->originalTransparency != 0)
82 MHEG_PRINT(out,
":originalTransparency ");
83 MHEG5intPrint(bitmap->originalTransparency, out);
127 if (destination != NULL)
130 destination->visible.ingredient.root.clazz = MHEG5BITMAP;
133 destination->tiling = source->tiling;
134 destination->originalTransparency = source->originalTransparency;
149 bitmap->transparency = bitmap->originalTransparency;
152 bitmap->scaleSet = MHEG5FALSE;
168 if (!bitmap->visible.ingredient.root.runningStatus)
170 if (!bitmap->visible.ingredient.root.availabilityStatus)
174 if (bitmap->visible.ingredient.contentHook == MHEG5CHOOK_UNDEFINED)
179 bitmap->visible.ingredient.contentHook = cp->bitmapContentHook;
183 if (bitmap->visible.ingredient.contentHook == CHOOK_BITMAP_NORMAL_IFRAME ||
184 bitmap->visible.ingredient.contentHook == CHOOK_BITMAP_H264_IFRAME
185 #ifdef INCLUDE_FREESAT
186 || bitmap->visible.ingredient.contentHook == CHOOK_BITMAP_IMAGE_PLANE_IFRAME
191 if ((bitmap->visible.ingredient.data != NULL) &&
192 (bitmap->visible.ingredient.dataLen > 0))
214 if (bitmap->visible.ingredient.root.runningStatus)
216 switch (bitmap->visible.ingredient.contentHook)
218 case CHOOK_BITMAP_PNG:
219 case CHOOK_BITMAP_JPG:
220 if (bitmap->visible.graphic_data != NULL)
223 bitmap->visible.graphic_data = NULL;
227 case CHOOK_BITMAP_H264_IFRAME:
228 case CHOOK_BITMAP_NORMAL_IFRAME:
233 #ifdef INCLUDE_FREESAT 234 case CHOOK_BITMAP_IMAGE_PLANE_IFRAME:
235 MHEG5displayImagePlaneStop();
254 if (bitmap->visible.ingredient.contentHook == CHOOK_BITMAP_NORMAL_IFRAME ||
255 bitmap->visible.ingredient.contentHook == CHOOK_BITMAP_H264_IFRAME
256 #ifdef INCLUDE_FREESAT
257 || bitmap->visible.ingredient.contentHook == CHOOK_BITMAP_IMAGE_PLANE_IFRAME
261 MHEG5displayIframeDestroy( bitmap );
279 MHEG5Int x = 0, y = 0;
283 if (target->clazz != MHEG5BITMAP)
285 return MHEG5ERR_WRONGTARGET;
289 return MHEG5ERR_WRONGNUMBEROFPARAMS;
292 thirdParam = MHEG5resolveGenericInteger(params, &x);
295 return MHEG5ERR_WRONGNUMBEROFPARAMS;
298 MHEG5resolveGenericInteger(thirdParam, &y);
300 if ((x > 0) && (y > 0))
306 if (target->runningStatus)
308 if (((
MHEG5Ingredient *)target)->contentHook == CHOOK_BITMAP_NORMAL_IFRAME ||
312 MHEG5displayVideoPositionUpdate();
316 return MHEG5ERR_NOERROR;
331 if (target->clazz != MHEG5BITMAP)
333 return MHEG5ERR_WRONGTARGET;
338 return MHEG5ERR_WRONGNUMBEROFPARAMS;
340 MHEG5resolveGenericInteger(params, &tr);
342 if ((tr >= 0) && (tr <= 100))
347 return MHEG5ERR_NOERROR;
380 MHEG5Int xOffset = 0, yOffset = 0;
384 if (target->clazz != MHEG5BITMAP)
386 return MHEG5ERR_WRONGTARGET;
391 return MHEG5ERR_WRONGNUMBEROFPARAMS;
393 thirdParam = MHEG5resolveGenericInteger(params, &xOffset);
397 return MHEG5ERR_WRONGNUMBEROFPARAMS;
399 MHEG5resolveGenericInteger(thirdParam, &yOffset);
402 bitmap->xOffset = xOffset;
403 bitmap->yOffset = yOffset;
404 if (bitmap->visible.ingredient.root.runningStatus)
406 MHEG5displayVideoPositionUpdate();
409 return MHEG5ERR_NOERROR;
440 if (target->clazz != MHEG5BITMAP)
442 return MHEG5ERR_WRONGTARGET;
448 return MHEG5ERR_WRONGNUMBEROFPARAMS;
450 thirdParam = MHEG5resolveORef(params, &xOffset);
454 return MHEG5ERR_WRONGNUMBEROFPARAMS;
456 MHEG5resolveORef(thirdParam, &yOffset);
458 if (!xOffset || !yOffset)
460 return MHEG5ERR_WRONGNUMBEROFPARAMS;
462 if (xOffset->clazz != MHEG5INTEGERVARIABLE ||
463 yOffset->clazz != MHEG5INTEGERVARIABLE)
465 return MHEG5ERR_WRONGPARAM;
467 if (!xOffset->runningStatus || !yOffset->runningStatus)
469 return MHEG5ERR_PARAMNOTACTIVE;
475 return MHEG5ERR_NOERROR;
void MHEG5visibleActivate(MHEG5Visible *visible)
Apply the activation behaviour of the visible class. Apply the activation behaviour off the visible c...
MHEG5ErrorCode MHEG5setTransparency(MHEG5Root *target, MHEG5GList *params)
Change the value of the Transparency attribute. Implementation of the SetTransparency (NewTransparenc...
MHEG5ErrorCode MHEG5getBitmapDecodeOffset(MHEG5Root *target, MHEG5GList *params)
Implementation of the GetBitmapDecodeOffset (XOffset, YOffset) action of the bitmap class GetBitmapDe...
void MHEG5visibleFree(MHEG5Visible *visible)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MG_FreeData(void *data)
free surface buffer
void MHEG5visiblePrepare(MHEG5Visible *visible)
Apply the preparation behaviour off the visible class Apply the preparation behaviour of the visible ...
Implement the MHEG5 Variable Class 21 Variable Class Defines a variable within the context of a Group...
void MHEG5visibleDestruct(MHEG5Visible *visible)
Destruct a visible object.
MHEG5ErrorCode MHEG5scaleBitmap(MHEG5Root *target, MHEG5GList *params)
The effect of this action is to scale the contents of the Bitmap to the size (XScale, YScale). Implementation of the ScaleBitmap (XScale, YScale) action of the bitmap class.
This file defines the profile for the MHEG engine.
void MHEG5bitmapPrepare(MHEG5Bitmap *bitmap)
Apply the preparation behaviour of the bitmap class. As this class has no own preparation behaviour t...
void MHEG5displayIFrameStart(MHEG5Bitmap *bitmap)
Start displaying an I-Frame.
void MHEG5bitmapDeactivate(MHEG5Bitmap *bitmap)
Apply the deactivation behaviour of the bitmap class. As this class has no own deactivation behaviour...
Module Description: Implement the MHEG5 Bitmap Class. 32 Bitmap Class Defines the behaviour of a two-...
MHEG5ErrorCode MHEG5setBitmapDecodeOffset(MHEG5Root *target, MHEG5GList *params)
Implementation of the SetBitmapDecodeOffset (NewXOffset, NewYOffset) action of the bitmap class...
void MHEG5bitmapDestruct(MHEG5Bitmap *bitmap)
Destruct a bitmap object.
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.
Mheg5 logging and debug printing.
MHEG5Bitmap * MHEG5bitmapClone(MHEG5Bitmap *source)
Copy a bitmap object with original values.
void MHEG5visibleClone(MHEG5Visible *destination, MHEG5Visible *source)
Copy a visible object with original values.
void MHEG5bitmapFree(MHEG5Bitmap *bitmap)
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 MHEG5visibleDeactivate(MHEG5Visible *visible)
Apply the deactivation behaviour of the visible class. As this class has no own deactivation behaviou...
void MHEG5bitmapActivate(MHEG5Bitmap *bitmap)
Apply the activation behaviour of the bitmap class. As this class has no own activation behaviour thi...
void MHEG5displayIFrameStop(void)
Stop displaying an I-Frame.
void MHEG5bitmapInit(MHEG5Bitmap *bitmap)
Initialise a bitmap object with default values.
void MHEG5visibleInit(MHEG5Visible *visible)
Initialise a visible object with default values.
MHEG5Application * MHEG5getCurrentApplication(void)
<Function description>="">