MHEG5
15.3.0
|
00001 /******************************************************************************* 00002 * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org) 00003 * Copyright © 2004 Ocean Blue Software Ltd 00004 * Copyright © 2000 Koninklijke Philips Electronics N.V 00005 * 00006 * This file is part of a DTVKit Software Component 00007 * You are permitted to copy, modify or distribute this file subject to the terms 00008 * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org 00009 * 00010 * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, 00011 * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES 00012 * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. 00013 * 00014 * If you or your organisation is not a member of DTVKit then you have access 00015 * to this source code outside of the terms of the licence agreement 00016 * and you are expected to delete this and any associated files immediately. 00017 * Further information on DTVKit, membership and terms can be found at www.dtvkit.org 00018 *******************************************************************************/ 00033 #ifndef _MH5HYPERTEXT_H_ 00034 #define _MH5HYPERTEXT_H_ 00035 00036 /*---includes for this file--------------------------------------------------*/ 00037 #include "mh5text.h" 00038 #include "mh5interactible.h" 00039 00040 /*---Constant and macro definitions for public use---------------------------*/ 00041 00042 /*---Enumerations for public use---------------------------------------------*/ 00043 00044 /*---Global type defs for public use-----------------------------------------*/ 00045 typedef struct 00046 { 00047 /* Base classes */ 00048 MHEG5Text text; 00049 MHEG5Interactible interactible; 00050 00051 /* No exchanged attributes for this class */ 00052 00053 /* Internal attributes */ 00054 MHEG5String lastAnchorFired; 00055 MHEG5Int focusPosition; 00056 00057 /* Engine data */ 00058 MHEG5Int numberOfLinks; 00059 MHEG5Int lastFocusPosition; 00060 MHEG5Bool anchorWrappingFlag; 00061 MHEG5Bool lafAlloc; 00062 } MHEG5Hypertext; 00063 00064 /*---Global variable declarations for public use-----------------------------*/ 00065 00066 /*---Global Function prototypes for public use-------------------------------*/ 00067 00078 void MHEG5hypertextInit(MHEG5Hypertext *hypertext); 00079 00080 00088 void MHEG5hypertextFree(MHEG5Hypertext *hypertext); 00089 00090 /* 00091 Internal behaviours 00092 */ 00093 void MHEG5hypertextPrepare(MHEG5Hypertext *hypertext); 00094 void MHEG5hypertextActivate(MHEG5Hypertext *hypertext); 00095 void MHEG5hypertextDeactivate(MHEG5Hypertext *hypertext); 00096 void MHEG5hypertextDestruct(MHEG5Hypertext *hypertext); 00097 00098 void MHEG5hyperTextInitCurrentLink(MHEG5Hypertext *hypertext); 00099 00100 void MHEG5hypertextUP(MHEG5Hypertext *hypertext); 00101 void MHEG5hypertextDOWN(MHEG5Hypertext *hypertext); 00102 void MHEG5hypertextSELECT(MHEG5Hypertext *hypertext); 00103 00104 00105 MHEG5ErrorCode MHEG5getLastAnchorFired(MHEG5Root *target, MHEG5GList *params); 00106 MHEG5ErrorCode MHEG5getFocusPosition(MHEG5Root *target, MHEG5GList *params); 00107 MHEG5ErrorCode MHEG5setFocusPosition(MHEG5Root *target, MHEG5GList *params); 00108 00109 /* 00110 Debug 00111 */ 00112 #ifdef MH5PRINTOUT 00113 void MHEG5hypertextPrint(MHEG5Hypertext *hypertext, char *out); 00114 #endif 00115 00116 #endif /*_MH5HYPERTEXT_H_*/