77 MHEG_PRINT(out,
":EngineResp ");
78 MHEG5boolPrint(interactible->engineResp, out);
81 MHEG_PRINT(out,
":HighlightRefColour ");
82 MHEG5colourPrint(interactible->highlightRefColour, out);
85 MHEG_PRINT(out,
"// HighlightStatus:\t");
86 MHEG5boolPrint(interactible->highlightStatus, out);
89 MHEG_PRINT(out,
"// InteractionStatus:\t");
90 MHEG5boolPrint(interactible->interactionStatus, out);
104 assert(interactible);
106 interactible->engineResp = MHEG5TRUE;
117 assert(interactible);
119 interactible->highlightStatus = MHEG5FALSE;
120 interactible->interactionStatus = MHEG5FALSE;
132 assert(interactible);
142 assert(interactible);
153 assert(interactible);
155 interactible->interactionStatus = MHEG5FALSE;
164 assert(interactible);
167 if (interactible->highlightStatus)
172 interactible->highlightStatus = MHEG5TRUE;
175 if (interactible->engineResp)
183 assert(interactible);
186 if (!interactible->highlightStatus)
191 interactible->highlightStatus = MHEG5FALSE;
194 if (interactible->engineResp)
200 #ifdef _MOVINGCURSOR_ 225 MHEG5Bool interactionStatus = MHEG5FALSE;
226 MHEG5Bool interactionCompleted = MHEG5FALSE;
234 return MHEG5ERR_WRONGNUMBEROFPARAMS;
238 return MHEG5ERR_NOSCENE;
241 MHEG5resolveGenericBoolean(params, &interactionStatus);
243 switch (target->clazz)
246 case MHEG5PUSHBUTTON:
247 case MHEG5SWITCHBUTTON:
248 interactible = &((
MHEG5Button *)target)->interactible;
251 interactible = &((
MHEG5Slider *)target)->interactible;
253 case MHEG5ENTRYFIELD:
260 return MHEG5ERR_WRONGTARGET;
265 if ((scene->currentInteractible) && interactionStatus)
267 return MHEG5ERR_NOERROR;
270 if (interactible->interactionStatus && !interactionStatus)
272 interactionCompleted = MHEG5TRUE;
275 interactible->interactionStatus = interactionStatus;
277 if (target->clazz == MHEG5ENTRYFIELD)
281 else if (target->clazz == MHEG5HYPERTEXT)
287 if ((scene->currentInteractible == target) && (!interactionStatus))
289 scene->currentInteractible = 0;
292 if ((!scene->currentInteractible) && (interactionStatus))
294 scene->currentInteractible = target;
297 if (interactionCompleted)
303 return MHEG5ERR_NOERROR;
314 return MHEG5ERR_WRONGNUMBEROFPARAMS;
315 MHEG5resolveORef(params, &rcVar);
316 switch (target->clazz)
319 case MHEG5PUSHBUTTON:
320 case MHEG5SWITCHBUTTON:
321 interactible = &((
MHEG5Button *)target)->interactible;
324 interactible = &((
MHEG5Slider *)target)->interactible;
326 case MHEG5ENTRYFIELD:
333 return MHEG5ERR_WRONGTARGET;
336 return MHEG5ERR_PARAMNOTACTIVE;
337 if (rcVar->clazz != MHEG5BOOLEANVARIABLE)
338 return MHEG5ERR_WRONGPARAM;
339 if (!rcVar->runningStatus)
340 return MHEG5ERR_PARAMNOTACTIVE;
343 return MHEG5ERR_NOERROR;
348 MHEG5Bool highlightStatus = MHEG5FALSE;
354 return MHEG5ERR_WRONGNUMBEROFPARAMS;
355 MHEG5resolveGenericBoolean(params, &highlightStatus);
356 switch (target->clazz)
359 case MHEG5PUSHBUTTON:
360 case MHEG5SWITCHBUTTON:
361 interactible = &((
MHEG5Button *)target)->interactible;
364 interactible = &((
MHEG5Slider *)target)->interactible;
366 case MHEG5ENTRYFIELD:
373 return MHEG5ERR_WRONGTARGET;
378 MHEG5interactibleHighlightOn(interactible, target);
380 MHEG5interactibleHighlightOff(interactible, target);
382 return MHEG5ERR_NOERROR;
391 return MHEG5ERR_WRONGNUMBEROFPARAMS;
392 MHEG5resolveORef(params, &rcVar);
393 switch (target->clazz)
396 case MHEG5PUSHBUTTON:
397 case MHEG5SWITCHBUTTON:
398 interactible = &((
MHEG5Button *)target)->interactible;
401 interactible = &((
MHEG5Slider *)target)->interactible;
403 case MHEG5ENTRYFIELD:
410 return MHEG5ERR_WRONGTARGET;
413 return MHEG5ERR_PARAMNOTACTIVE;
414 if (rcVar->clazz != MHEG5BOOLEANVARIABLE)
415 return MHEG5ERR_WRONGPARAM;
416 if (!rcVar->runningStatus)
417 return MHEG5ERR_PARAMNOTACTIVE;
420 return MHEG5ERR_NOERROR;
Implement the MHEG5 Hypertext Class. The HyperText class is a subclass of the Text class...
void MHEG5interactibleFree(MHEG5Interactible *interactible)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5interactibleInit(MHEG5Interactible *interactible)
<Function description>="">
Implement the MHEG5 Interactible Class. Defines functionality associated with an interaction behaviou...
Implement the MHEG5 Slider Class. Slider Class. Defines the behaviour of sliders. Base class: Visible...
Implement the MHEG5 Variable Class 21 Variable Class Defines a variable within the context of a Group...
This file defines the profile for the MHEG engine.
Event handling. Implementation of a combined queue for events and actions. This is the eventsystem wh...
void MHEG5interactibleDeactivate(MHEG5Interactible *interactible)
Implementation of the deactivation behaviour of the interactible class. This behaviour was introduced...
void MHEG5genericDestruct(MHEG5Generic *item)
Destruct a MHEG5Generic.
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.
void MHEG5interactiblePrepare(MHEG5Interactible *interactible)
Sets all internal attributes for the specified object to their default values.
MHEG class interface to graphics text render.
MHEG5Scene * MHEG5getCurrentScene(void)
<Function description>="">
void MHEG5sendEvent(MHEG5Root *source, MHEG5EventType event, MHEG5Int data)
Store an event in the asynchronous event queue.
Implement generic MHEG5-display functions - independent from the OSD These are generic functions used...
void MHEG5sendSync(MHEG5Root *source, MHEG5EventType event, MHEG5Int data)
Store an event in the synchronous event queue.
Implement the MHEG5 EntryField Class. Defines an interaction widget used by the final user to edit an...