51 #ifndef MHEG5PROFILE_UK1_06 77 static void MHEG5listGroupDeselect(
MHEG5ListGroup *listGroup, MHEG5Int itemIndex);
98 MHEG5stringPrint(grp->tokenGroup.ingredient.root.grp->groupName, out);
100 MHEG5intPrint(item->id, out);
101 MHEG_PRINT(out,
") ");
102 MHEG5boolPrint(item->itemSelectionStatus, out);
106 MHEG5listGroupItemsPrint(grp, item->next, out);
110 static void MHEG5listGroupPositionsPrint(
MHEG5PosList *pos,
char *out)
113 MHEG_PRINT(out,
"(");
114 MHEG5intPrint(pos->position.x, out);
115 MHEG_PRINT(out,
" ");
116 MHEG5intPrint(pos->position.y, out);
117 MHEG_PRINT(out,
")");
120 MHEG5listGroupPositionsPrint(pos->next, out);
125 MHEG5tokenGroupPrint(&listGroup->tokenGroup, out);
127 if (listGroup->originalPositions)
130 MHEG_PRINT(out,
":OriginalPositions");
133 MHEG5listGroupPositionsPrint(listGroup->originalPositions, out);
136 if (listGroup->wrapAround)
139 MHEG_PRINT(out,
":WrapAround TRUE");
142 if (listGroup->multipleSelection)
145 MHEG_PRINT(out,
":MultipleSelection TRUE");
148 if (listGroup->positions)
151 MHEG_PRINT(out,
"// :Positions");
154 MHEG5listGroupPositionsPrint(listGroup->positions, out);
157 if (listGroup->firstItem != 1)
160 MHEG_PRINT(out,
"// FirstItem:\t");
161 MHEG5intPrint(listGroup->firstItem, out);
164 if (listGroup->positionCount)
167 MHEG_PRINT(out,
"// PositionCount:\t");
168 MHEG5intPrint(listGroup->positionCount, out);
171 if (listGroup->itemCount)
174 MHEG_PRINT(out,
"// ItemCount:\t");
175 MHEG5intPrint(listGroup->itemCount, out);
178 if (listGroup->itemList)
181 MHEG_PRINT(out,
"// :Items");
184 MHEG5listGroupItemsPrint(listGroup, listGroup->itemList, out);
205 assert(listGroup->itemList == 0);
206 listGroup->firstItem = 1;
208 listGroup->positions = 0;
209 position = listGroup->originalPositions;
210 copy = &listGroup->positions;
219 newItem->position.x = position->position.x;
220 newItem->position.y = position->position.y;
223 copy = &newItem->next;
224 position = position->next;
227 listGroup->firstItemVisible = MHEG5FALSE;
228 listGroup->lastItemVisible = MHEG5FALSE;
246 while (listGroup->originalPositions)
248 lastPos = listGroup->originalPositions;
249 listGroup->originalPositions = listGroup->originalPositions->next;
250 MHEG5freeMem(lastPos);
252 while (listGroup->positions)
254 lastPos = listGroup->positions;
255 listGroup->positions = listGroup->positions->next;
256 MHEG5freeMem(lastPos);
271 INFO_PRINT((
"Adding position (%d, %d) to ListGroup id=%d\n", x, y, ((
MHEG5Root *)listGroup)->
id));
280 newItem->position.x = x;
281 newItem->position.y = y;
283 position = listGroup->originalPositions;
284 listGroup->positionCount++;
287 listGroup->originalPositions = newItem;
291 while (position->next)
293 position = position->next;
295 position->next = newItem;
311 MHEG5Bool alreadyPresent;
315 INFO_PRINT((
"Prepare ListGroup id=%d\n", ((
MHEG5Root *) listGroup)->
id));
318 if (listGroup->tokenGroup.ingredient.root.availabilityStatus)
323 assert(listGroup->itemList == 0);
325 MHEG5listGroupInitInternal(listGroup);
328 MHEG5tokenGroupPrepare(&listGroup->tokenGroup);
336 token_ptr = listGroup->tokenGroup.tokens_ptr + 1;
337 token_num = listGroup->tokenGroup.tokens_num - 1;
341 item = listGroup->itemList;
342 alreadyPresent = MHEG5FALSE;
345 if ((token_ptr->groupid.ptr.name == NULL) || (token_ptr->id == 0))
347 alreadyPresent = MHEG5TRUE;
353 if ((item->id == token_ptr->id) &&
354 ((item->groupRef.ptr.group == token_ptr->groupid.ptr.group) ||
357 alreadyPresent = MHEG5TRUE;
372 newItem->groupRef = token_ptr->groupid;
373 newItem->id = token_ptr->id;
374 newItem->itemSelectionStatus = MHEG5FALSE;
379 lastItem->next = newItem;
384 listGroup->itemList = newItem;
387 listGroup->itemCount++;
393 if (listGroup->itemCount > 0)
408 while (listGroup->itemList)
410 lastItem = listGroup->itemList;
411 listGroup->itemList = listGroup->itemList->next;
412 MHEG5freeMem(lastItem);
415 MHEG5tokenGroupDestruct(&listGroup->tokenGroup);
428 if (!listGroup->tokenGroup.ingredient.root.runningStatus)
434 if (!listGroup->tokenGroup.ingredient.root.availabilityStatus)
444 MHEG5sendSync((
MHEG5Root *)listGroup, MHEG5TOKENMOVEDTO, listGroup->tokenGroup.tokenManager.tokenPosition );
447 listGroup->tokenGroup.ingredient.root.runningStatus = MHEG5TRUE;
450 MHEG5listGroupUpdate(listGroup);
475 item = listGroup->itemList;
478 visible = MHEG5findObject(item->groupRef, item->id);
488 MHEG5tokenGroupDeactivate(&listGroup->tokenGroup);
498 static void MHEG5listGroupUpdateItemVisibleIndices(
MHEG5ListGroup *listGroup)
501 MHEG5Int itemPos, firstItem;
505 firstItem = listGroup->firstItem - 1;
506 if (listGroup->wrapAround)
508 firstItem %= listGroup->itemCount;
513 item = listGroup->itemList;
516 if ((itemPos >= firstItem) &&
517 (itemPos < firstItem + listGroup->positionCount))
520 item->visibleIndex = itemPos - firstItem;
522 else if (((listGroup->wrapAround) &&
523 (listGroup->positionCount >= listGroup->itemCount)) ||
524 ((listGroup->wrapAround) &&
525 (itemPos < firstItem) &&
526 (firstItem + listGroup->positionCount > listGroup->itemCount) &&
527 (itemPos < (firstItem + listGroup->positionCount) % listGroup->itemCount)))
530 item->visibleIndex = itemPos - firstItem + listGroup->itemCount;
535 item->visibleIndex = -1;
548 static void MHEG5listGroupDeactivateNotPresentedVisibles(
MHEG5ListGroup *listGroup)
555 item = listGroup->itemList;
558 if (item->visibleIndex < 0)
560 visible = MHEG5findObject(item->groupRef, item->id);
563 INFO_PRINT((
" Item id=%d not visible\n", ((
MHEG5Root *)visible)->
id));
578 static void MHEG5listGroupPreparePresentedVisibles(
MHEG5ListGroup *listGroup)
586 item = listGroup->itemList;
589 if (item->visibleIndex >= 0)
592 visible = MHEG5findObject(item->groupRef, item->id);
597 INFO_PRINT((
" Item id=%d visible\n", ((
MHEG5Root *)visible)->
id));
598 if (!visible->availabilityStatus)
600 switch (visible->clazz)
611 case MHEG5DYNAMICLINEART:
620 case MHEG5ENTRYFIELD:
630 #ifndef MHEG5PROFILE_UK1_06 634 case MHEG5PUSHBUTTON:
637 case MHEG5SWITCHBUTTON:
640 case MHEG5RTGRAPHICS:
646 case MHEG5CURSORSHAPE:
652 case MHEG5APPLICATION:
654 case MHEG5RESIDENTPROGRAM:
655 case MHEG5REMOTEPROGRAM:
656 case MHEG5INTERCHANGEDPROGRAM:
657 case MHEG5BOOLEANVARIABLE:
658 case MHEG5INTEGERVARIABLE:
659 case MHEG5OCTETSTRINGVARIABLE:
660 case MHEG5OBJECTREFVARIABLE:
661 case MHEG5CONTENTREFVARIABLE:
665 case MHEG5TOKENGROUP:
668 ERROR_PRINT((
"ListGroup: item not visible %d\n", visible->clazz));
672 pos = listGroup->positions;
674 for (i = 0; i < item->visibleIndex && pos; i++)
682 INFO_PRINT((
"Setting position of item id=%d to (%d, %d)\n", visible->id, pos->position.x, pos->position.y));
697 static void MHEG5listGroupActivatePresentedVisibles(
MHEG5ListGroup *listGroup)
704 item = listGroup->itemList;
707 if (item->visibleIndex >= 0)
709 visible = MHEG5findObject(item->groupRef, item->id);
714 if (item == listGroup->itemList && !listGroup->firstItemVisible)
716 listGroup->firstItemVisible = MHEG5TRUE;
719 if (!item->next && !listGroup->lastItemVisible)
721 listGroup->lastItemVisible = MHEG5TRUE;
727 if (item == listGroup->itemList && listGroup->firstItemVisible)
729 listGroup->firstItemVisible = MHEG5FALSE;
732 if (!item->next && listGroup->lastItemVisible)
734 listGroup->lastItemVisible = MHEG5FALSE;
750 INFO_PRINT((
"INFO: ListGroup update id=%d\n", ((
MHEG5Root *)listGroup)->
id));
762 if (!((
MHEG5Root *)listGroup)->runningStatus)
764 DEBUG_PRINT((
"WARNING: MHEG5listGroupUpdate - listgroup id=%d not running\n", ((
MHEG5Root *)listGroup)->
id));
769 MHEG5listGroupUpdateItemVisibleIndices(listGroup);
775 MHEG5listGroupDeactivateNotPresentedVisibles(listGroup);
781 MHEG5listGroupPreparePresentedVisibles(listGroup);
786 MHEG5listGroupActivatePresentedVisibles(listGroup);
802 INFO_PRINT((
"Adding item ( %d, %d ) to ListGroup id=%d\n", grpRef.len,
id, ((
MHEG5Root *)listGroup)->id));
807 item = listGroup->itemList;
810 if ((item->id ==
id) &&
811 ((item->groupRef.ptr.group == grpRef.ptr.group) ||
814 DEBUG_PRINT((
"MHEG5listGroupAddItem: Item already in ListGroup\n"));
823 if ((idx < 1) || (idx > listGroup->itemCount + 1))
825 DEBUG_PRINT((
"MHEG5listGroupAddItem: Index out of range\n"));
830 gptr = listGroup->tokenGroup.ingredient.root.grp;
833 if (gptr->root.clazz == MHEG5SCENE)
855 TRACE(TERROR,(
"Out of memory"))
861 newItem->groupRef.len = 0;
862 newItem->groupRef.ptr.group = gptr;
866 newItem->groupRef.len = i;
867 newItem->groupRef.ptr.name = (MHEG5Byte*)(newItem + 1);
868 memcpy(newItem->groupRef.ptr.name,grpRef.ptr.name,i);
871 newItem->itemSelectionStatus = MHEG5FALSE;
874 listGroup->itemCount++;
878 newItem->next=listGroup->itemList;
879 listGroup->itemList=newItem;
883 item=listGroup->itemList;
885 while (item && (i<idx))
893 assert( item != NULL );
899 newItem->next=item->next;
904 if ((idx <= listGroup->firstItem) && (listGroup->firstItem < listGroup->itemCount))
906 listGroup->firstItem++;
918 MHEG5listGroupUpdate(listGroup);
935 INFO_PRINT((
"Deleting item ( %ld ) from ListGroup %d\n",
id, ((
MHEG5Root *)listGroup)->
id));
938 item = listGroup->itemList;
946 if ((item->id ==
id) &&
947 ((item->groupRef.ptr.group == grpRef.ptr.group) ||
950 INFO_PRINT((
" Found it!\n"));
958 listGroup->itemList = listGroup->itemList->next;
962 prevItem->next = item->next;
966 visible = MHEG5findObject(item->groupRef, item->id);
971 listGroup->itemCount--;
985 if ((idx <= listGroup->firstItem) && (listGroup->firstItem > 1))
987 listGroup->firstItem--;
999 MHEG5listGroupUpdate(listGroup);
1013 static void MHEG5listGroupSelect(
MHEG5ListGroup *listGroup, MHEG5Int itemIndex)
1018 item = listGroup->itemList;
1019 for (i = 1; (i < itemIndex) && (item != NULL); i++)
1032 if (item->itemSelectionStatus)
1041 if (!listGroup->multipleSelection)
1046 item2 = listGroup->itemList;
1051 if (item2->itemSelectionStatus)
1053 MHEG5listGroupDeselect(listGroup, idx);
1055 item2 = item2->next;
1060 item->itemSelectionStatus = MHEG5TRUE;
1072 static void MHEG5listGroupDeselect(
MHEG5ListGroup *listGroup, MHEG5Int itemIndex)
1077 item = listGroup->itemList;
1078 for (i = 1; (i < itemIndex) && (item != NULL); i++)
1091 if (!item->itemSelectionStatus)
1097 item->itemSelectionStatus = MHEG5FALSE;
1109 static MHEG5Int MHEG5listGroupAdjustindex(
MHEG5ListGroup *listGroup, MHEG5Int idx)
1121 if (!listGroup->itemCount)
1130 if (idx > listGroup->itemCount)
1132 return ((idx - 1) % listGroup->itemCount) + 1;
1140 return listGroup->itemCount - ((-idx) % listGroup->itemCount);
1165 if (target->clazz != MHEG5LISTGROUP)
1167 return MHEG5ERR_WRONGTARGET;
1171 return MHEG5ERR_WRONGNUMBEROFPARAMS;
1173 thirdParam = MHEG5resolveGenericInteger(params, &itemIndex);
1176 return MHEG5ERR_WRONGNUMBEROFPARAMS;
1179 if ((
id == 0) || (gref.ptr.group == 0))
1181 return MHEG5ERR_REFERENCEDPARAMNOTAVAILABLE;
1188 MHEG5listGroupAddItem((
MHEG5ListGroup *)target, itemIndex, gref,
id);
1190 return MHEG5ERR_NOERROR;
1206 if (target->clazz != MHEG5LISTGROUP)
1208 return MHEG5ERR_WRONGTARGET;
1212 return MHEG5ERR_WRONGNUMBEROFPARAMS;
1216 if ((
id == 0) || (gref.ptr.group == 0))
1218 return MHEG5ERR_REFERENCEDPARAMNOTAVAILABLE;
1227 return MHEG5ERR_NOERROR;
1255 if (target->clazz != MHEG5LISTGROUP)
1257 return MHEG5ERR_WRONGTARGET;
1261 return MHEG5ERR_WRONGNUMBEROFPARAMS;
1263 thirdParam = MHEG5resolveGenericInteger(params, &itemIndex);
1266 return MHEG5ERR_WRONGNUMBEROFPARAMS;
1268 MHEG5resolveORef(thirdParam, &visible);
1271 return MHEG5ERR_REFERENCEDPARAMNOTAVAILABLE;
1273 if (visible->clazz != MHEG5OBJECTREFVARIABLE)
1275 return MHEG5ERR_WRONGPARAM;
1280 if (!listGroup->wrapAround)
1286 if ((itemIndex >= 1) && (itemIndex <= listGroup->itemCount))
1292 return MHEG5ERR_NOERROR;
1300 idx = MHEG5listGroupAdjustindex(listGroup, itemIndex);
1304 item = listGroup->itemList;
1305 for (i = 1; (i < idx) && (item != NULL); i++)
1317 MHEG5objRefStoreValue( oRef, item->groupRef, item->id );
1322 TRACE(TERROR, (
"itemIndex=%d wr=%d", itemIndex, listGroup->wrapAround))
1325 return MHEG5ERR_NOERROR;
1338 MHEG5Int idx, first;
1343 if (target->clazz != MHEG5LISTGROUP)
1345 return MHEG5ERR_WRONGTARGET;
1349 return MHEG5ERR_WRONGNUMBEROFPARAMS;
1351 thirdParam = MHEG5resolveGenericInteger(params, &idx);
1354 return MHEG5ERR_WRONGNUMBEROFPARAMS;
1356 MHEG5resolveORef(thirdParam, &visible);
1359 return MHEG5ERR_REFERENCEDPARAMNOTAVAILABLE;
1361 if (visible->clazz != MHEG5OBJECTREFVARIABLE)
1363 return MHEG5ERR_WRONGPARAM;
1379 if (idx > listGroup->positionCount)
1381 idx = listGroup->positionCount;
1384 if (listGroup->wrapAround)
1386 if (idx > listGroup->itemCount)
1395 first = MHEG5listGroupAdjustindex(listGroup, listGroup->firstItem + idx - 1);
1400 first = listGroup->firstItem + idx - 1;
1401 if (first > listGroup->itemCount)
1410 item = listGroup->itemList;
1411 while ((first) && (item))
1424 MHEG5objRefStoreValue( oRef, item->groupRef, item->id );
1430 gref.ptr.group = NULL;
1431 MHEG5objRefStoreValue( oRef, gref, 0 );
1433 return MHEG5ERR_NOERROR;
1455 if (target->clazz != MHEG5LISTGROUP)
1457 return MHEG5ERR_WRONGTARGET;
1461 return MHEG5ERR_WRONGNUMBEROFPARAMS;
1463 thirdParam = MHEG5resolveGenericInteger(params, &itemIndex);
1466 return MHEG5ERR_WRONGNUMBEROFPARAMS;
1468 MHEG5resolveORef(thirdParam, &visible);
1471 return MHEG5ERR_REFERENCEDPARAMNOTAVAILABLE;
1473 if (visible->clazz != MHEG5BOOLEANVARIABLE)
1475 return MHEG5ERR_WRONGPARAM;
1480 if (!listGroup->wrapAround)
1486 if ((itemIndex >= 1) && (itemIndex <= listGroup->itemCount))
1492 return MHEG5ERR_NOERROR;
1500 idx = MHEG5listGroupAdjustindex(listGroup, itemIndex);
1504 item = listGroup->itemList;
1505 for (i = 1; (i < idx) && (item != NULL); i++)
1517 oRef->value = item->itemSelectionStatus;
1521 oRef->value = MHEG5FALSE;
1524 return MHEG5ERR_NOERROR;
1541 if (target->clazz != MHEG5LISTGROUP)
1543 return MHEG5ERR_WRONGTARGET;
1547 return MHEG5ERR_WRONGNUMBEROFPARAMS;
1549 MHEG5resolveGenericInteger(params, &itemIndex);
1553 if (!listGroup->wrapAround)
1559 if ((itemIndex >= 1) && (itemIndex <= listGroup->itemCount))
1565 return MHEG5ERR_NOERROR;
1573 idx = MHEG5listGroupAdjustindex(listGroup, itemIndex);
1577 MHEG5listGroupSelect(listGroup, idx);
1579 return MHEG5ERR_NOERROR;
1596 if (target->clazz != MHEG5LISTGROUP)
1598 return MHEG5ERR_WRONGTARGET;
1602 return MHEG5ERR_WRONGNUMBEROFPARAMS;
1604 MHEG5resolveGenericInteger(params, &itemIndex);
1608 if (!listGroup->wrapAround)
1614 if ((itemIndex >= 1) && (itemIndex <= listGroup->itemCount))
1620 return MHEG5ERR_NOERROR;
1628 idx = MHEG5listGroupAdjustindex(listGroup, itemIndex);
1632 MHEG5listGroupDeselect(listGroup, idx);
1634 return MHEG5ERR_NOERROR;
1653 if (target->clazz != MHEG5LISTGROUP)
1655 return MHEG5ERR_WRONGTARGET;
1659 return MHEG5ERR_WRONGNUMBEROFPARAMS;
1661 MHEG5resolveGenericInteger(params, &itemIndex);
1665 if (!listGroup->wrapAround)
1671 if ((itemIndex >= 1) && (itemIndex <= listGroup->itemCount))
1677 return MHEG5ERR_NOERROR;
1685 idx = MHEG5listGroupAdjustindex(listGroup, itemIndex);
1689 item = listGroup->itemList;
1692 return MHEG5ERR_NOERROR;
1694 for (i = 1; i < idx; i++)
1699 return MHEG5ERR_NOERROR;
1707 if (item->itemSelectionStatus)
1709 MHEG5listGroupDeselect(listGroup, idx);
1713 MHEG5listGroupSelect(listGroup, idx);
1716 return MHEG5ERR_NOERROR;
1727 MHEG5Int itemsToScroll = 0, newIndex;
1729 MHEG5Int oldFirstItem;
1733 if (target->clazz != MHEG5LISTGROUP)
1735 return MHEG5ERR_WRONGTARGET;
1739 return MHEG5ERR_WRONGNUMBEROFPARAMS;
1741 MHEG5resolveGenericInteger(params, &itemsToScroll);
1744 newIndex = listGroup->firstItem + itemsToScroll;
1745 oldFirstItem = listGroup->firstItem;
1747 if (!listGroup->wrapAround)
1753 if ((newIndex >= 1) && (newIndex <= listGroup->itemCount))
1755 listGroup->firstItem = newIndex;
1759 return MHEG5ERR_NOERROR;
1767 listGroup->firstItem = MHEG5listGroupAdjustindex(listGroup, newIndex);
1770 if (oldFirstItem != listGroup->firstItem)
1778 MHEG5listGroupUpdate(listGroup);
1780 return MHEG5ERR_NOERROR;
1791 MHEG5Int newFirstItem;
1793 MHEG5Int oldFirstItem;
1797 if (target->clazz != MHEG5LISTGROUP)
1799 return MHEG5ERR_WRONGTARGET;
1803 return MHEG5ERR_WRONGNUMBEROFPARAMS;
1805 MHEG5resolveGenericInteger(params, &newFirstItem);
1808 oldFirstItem = listGroup->firstItem;
1810 if (!listGroup->wrapAround)
1816 if ((newFirstItem >= 1) && (newFirstItem <= listGroup->itemCount))
1818 listGroup->firstItem = newFirstItem;
1822 return MHEG5ERR_NOERROR;
1830 listGroup->firstItem = MHEG5listGroupAdjustindex(listGroup, newFirstItem);
1833 if (oldFirstItem != listGroup->firstItem)
1841 MHEG5listGroupUpdate(listGroup);
1843 return MHEG5ERR_NOERROR;
1860 if (target->clazz != MHEG5LISTGROUP)
1862 return MHEG5ERR_WRONGTARGET;
1866 return MHEG5ERR_WRONGNUMBEROFPARAMS;
1868 MHEG5resolveORef(params, &
object);
1871 return MHEG5ERR_REFERENCEDPARAMNOTAVAILABLE;
1873 if (object->clazz != MHEG5INTEGERVARIABLE)
1875 return MHEG5ERR_WRONGPARAM;
1884 oRef->value = listGroup->firstItem;
1886 return MHEG5ERR_NOERROR;
1903 if (target->clazz != MHEG5LISTGROUP)
1905 return MHEG5ERR_WRONGTARGET;
1909 return MHEG5ERR_WRONGNUMBEROFPARAMS;
1911 MHEG5resolveORef(params, &
object);
1914 return MHEG5ERR_REFERENCEDPARAMNOTAVAILABLE;
1916 if (object->clazz != MHEG5INTEGERVARIABLE)
1918 return MHEG5ERR_WRONGPARAM;
1927 oRef->value = listGroup->itemCount;
1929 return MHEG5ERR_NOERROR;
1943 MHEG5Int idx, newXPosition, newYPosition;
1949 if (target->clazz != MHEG5LISTGROUP)
1951 return MHEG5ERR_WRONGTARGET;
1955 return MHEG5ERR_WRONGNUMBEROFPARAMS;
1957 thirdParam = MHEG5resolveGenericInteger(params, &idx);
1959 return MHEG5ERR_WRONGNUMBEROFPARAMS;
1960 fourthParam = MHEG5resolveGenericInteger(thirdParam, &newXPosition);
1962 return MHEG5ERR_WRONGNUMBEROFPARAMS;
1963 MHEG5resolveGenericInteger(fourthParam, &newYPosition);
1967 position = listGroup->positions;
1968 for (counter = 1; counter < idx; ++counter)
1972 position = position->next;
1975 position->position.x = newXPosition;
1976 position->position.y = newYPosition;
1979 MHEG5listGroupUpdate(listGroup);
1981 return MHEG5ERR_NOERROR;
MHEG5ErrorCode MHEG5getCellItem(MHEG5Root *target, MHEG5GList *params)
Implementation of the ListGroup GetCellItem elementary action.
Implement the MHEG5 Hypertext Class. The HyperText class is a subclass of the Text class...
Distributor for Prepare, Destruct, Activate, Deactivate and Clone calls. Distribute the +Prepare +Des...
MHEG5Bool MHEG5sameGroup(MH5GroupPtr gptr, MH5GroupRef gref)
Compares group ptr with group ref to see whether they both reference the same group. The first is pointer to group, the second can be a relative group name and will be converted to absolute prior to the comparison, so two different references that resolve to reference the same group name produces a True return value.
MHEG5ErrorCode MHEG5addItem(MHEG5Root *target, MHEG5GList *params)
Implementation of the ListGroup AddItem elementary action.
Implementation of the RTGraphics class Description Defines the attributes and behaviour of non-persis...
void MHEG5finalActivate(MHEG5Root *item)
Implement the MHEG5 Dynamiclineart Class Defines means to dynamically draw vectorial graphical object...
MHEG5ErrorCode MHEG5setFirstItem(MHEG5Root *target, MHEG5GList *params)
Implementation of the ListGroup SetFirstItem elementary action.
MHEG5ErrorCode MHEG5toggleItem(MHEG5Root *target, MHEG5GList *params)
Implementation of the ListGroup ToggleItem elementary action.
void MHEG5cursorShapePrepare(MHEG5CursorShape *cursorShape)
Apply the preparation behaviour of the cursorshape class Apply the preparation behaviour of the curso...
void MHEG5finalDeactivate(MHEG5Root *item)
Implementation of the Video class Description Defines the attributes and behaviour of an elementary v...
MHEG5ErrorCode MHEG5getFirstItem(MHEG5Root *target, MHEG5GList *params)
Implementation of the ListGroup GetFirstItem elementary action.
MHEG5ErrorCode MHEG5deselectItem(MHEG5Root *target, MHEG5GList *params)
Implementation of the ListGroup DeselectItem elementary action.
Implement the MHEG5 Hotspot Class. Defines invisible unlabelled rectangular areas on the screen that ...
Implementation of the Group class Description Defines the structure and behaviour of objects used as ...
void MHEG5ingredientActivate(MHEG5Ingredient *ingredient)
Implementation of Activate behaviour Inherrited from Root class.
void MHEG5listGroupDestruct(MHEG5ListGroup *listGroup)
Implementation of the ListGroup Destruction behaviour.
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...
Implement the MHEG5 Variable Class 21 Variable Class Defines a variable within the context of a Group...
void MHEG5listGroupFree(MHEG5ListGroup *listGroup)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
MHEG5ErrorCode MHEG5delItem(MHEG5Root *target, MHEG5GList *params)
Implementation of the ListGroup DelItem elementary action.
void MHEG5listGroupAddPosition(MHEG5ListGroup *listGroup, MHEG5Int x, MHEG5Int y)
Adds a new cell position to the ListGroup.
Implement the MHEG5 ListGroup Class Defines the location of list elements on the screen and theire in...
MHEG5Bool MHEG5sameGroups(MH5GroupRef gref1, MH5GroupRef gref2)
Compares two group ID strings to see whether they both reference the same group. Relative group ID st...
void MHEG5dynamicLineartPrepare(MHEG5DynamicLineart *dynamicLineart)
Apply the preparation behaviour of the dynamiclineart class Apply the preparation behaviour of the dy...
void MHEG5listGroupActivate(MHEG5ListGroup *listGroup)
Implementation of the ListGroup Activation behaviour.
void MHEG5videoPrepare(MHEG5Video *video)
Apply the preparation behaviour of the video class As this class has no own preparation behaviour thi...
void MHEG5listGroupDeactivate(MHEG5ListGroup *listGroup)
Implementation of the ListGroup Deactivation behaviour.
This file defines the profile for the MHEG engine.
void MHEG5sliderPrepare(MHEG5Slider *slider)
Apply the preparation behaviour of the slider class Apply the preparation behaviour of the slider cla...
Implement Functions to support Service Gateways. Functions for standarizing several GroupIDs like +DS...
Implement the MHEG5 Rectangle Class Rectangle Class Defines a data structure that deals with rectangl...
void MHEG5rtgraphicsPrepare(MHEG5RTGraphics *rtgraphics)
Apply the preparation behaviour of the RTGraphics class As this class has no own preparation behaviou...
MHEG5ErrorCode MHEG5getListSize(MHEG5Root *target, MHEG5GList *params)
Implementation of the ListGroup GetListSize elementary action.
void MHEG5visibleSetPosition(MHEG5Visible *visible, MHEG5Int x, MHEG5Int y)
This procedure sets the position of the target visible object to the given values.
Event handling. Implementation of a combined queue for events and actions. This is the eventsystem wh...
Module Description: Implement the MHEG5 Bitmap Class. 32 Bitmap Class Defines the behaviour of a two-...
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.
MHEG5ErrorCode MHEG5scrollItems(MHEG5Root *target, MHEG5GList *params)
Implementation of the ListGroup ScrollItems elementary action.
MHEG5ErrorCode MHEG5setCellPosition(MHEG5Root *target, MHEG5GList *params)
Implementation of the ListGroup SetCellPosition elementary action.
void MHEG5visibleResetPosition(MHEG5Visible *visible)
Reset the position of the visible back to its original values (as stored in originalPosition).
void MHEG5listGroupPrepare(MHEG5ListGroup *listGroup)
Implementation of the ListGroup Preparation behaviour.
MHEG5Scene * MHEG5getCurrentScene(void)
<Function description>="">
MHEG5ErrorCode MHEG5selectItem(MHEG5Root *target, MHEG5GList *params)
Implementation of the ListGroup SelectItem elementary action.
void MHEG5tokenGroupFree(MHEG5TokenGroup *tokenGroup)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
MHEG5ErrorCode MHEG5getItemStatus(MHEG5Root *target, MHEG5GList *params)
Implementation of the ListGroup GetItemStatus elementary action.
void MHEG5bitmapPrepare(MHEG5Bitmap *bitmap)
Apply the preparation behaviour of the bitmap class. As this class has no own preparation behaviour t...
MHEG5ErrorCode MHEG5getListItem(MHEG5Root *target, MHEG5GList *params)
Implementation of the ListGroup GetListItem elementary action.
void MHEG5sendSync(MHEG5Root *source, MHEG5EventType event, MHEG5Int data)
Store an event in the synchronous event queue.
MHEG5GList * MHEG5resolveGenericORefProper(MHEG5GList *params, MH5GroupRef *pgroupRef, MHEG5Int *id)
Resolve a generic object reference, returning the object reference. The reference can be direct or in...
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...