MHEG  17.9.0
 All Data Structures Files Functions Variables Typedefs Enumerations Macros Pages
mh5hypertext.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  * Copyright © 2004 Ocean Blue Software Ltd
4  * Copyright © 2000 Koninklijke Philips Electronics N.V
5  *
6  * This file is part of a DTVKit Software Component
7  * You are permitted to copy, modify or distribute this file subject to the terms
8  * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
9  *
10  * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
11  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
12  * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
13  *
14  * If you or your organisation is not a member of DTVKit then you have access
15  * to this source code outside of the terms of the licence agreement
16  * and you are expected to delete this and any associated files immediately.
17  * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
18  *******************************************************************************/
33 #ifndef _MH5HYPERTEXT_H_
34 #define _MH5HYPERTEXT_H_
35 
36 /*---includes for this file--------------------------------------------------*/
37 #include "mh5text.h"
38 #include "mh5interactible.h"
39 
40 /*---Constant and macro definitions for public use---------------------------*/
41 
42 /*---Enumerations for public use---------------------------------------------*/
43 
44 /*---Global type defs for public use-----------------------------------------*/
45 typedef struct
46 {
47  /* Base classes */
48  MHEG5Text text;
49  MHEG5Interactible interactible;
50 
51  /* No exchanged attributes for this class */
52 
53  /* Internal attributes */
54  MHEG5String lastAnchorFired;
55  MHEG5Int focusPosition;
56 
57  /* Engine data */
58  MHEG5Int numberOfLinks;
59  MHEG5Int lastFocusPosition;
60  MHEG5Bool anchorWrappingFlag;
61  MHEG5Bool lafAlloc;
63 
64 /*---Global variable declarations for public use-----------------------------*/
65 
66 /*---Global Function prototypes for public use-------------------------------*/
67 
78 void MHEG5hypertextInit(MHEG5Hypertext *hypertext);
79 
80 
88 void MHEG5hypertextFree(MHEG5Hypertext *hypertext);
89 
90 /*
91  Internal behaviours
92  */
93 void MHEG5hypertextPrepare(MHEG5Hypertext *hypertext);
94 void MHEG5hypertextActivate(MHEG5Hypertext *hypertext);
95 void MHEG5hypertextDeactivate(MHEG5Hypertext *hypertext);
96 void MHEG5hypertextDestruct(MHEG5Hypertext *hypertext);
97 
98 void MHEG5hyperTextInitCurrentLink(MHEG5Hypertext *hypertext);
99 
100 void MHEG5hypertextUP(MHEG5Hypertext *hypertext);
101 void MHEG5hypertextDOWN(MHEG5Hypertext *hypertext);
102 void MHEG5hypertextSELECT(MHEG5Hypertext *hypertext);
103 
104 
105 MHEG5ErrorCode MHEG5getLastAnchorFired(MHEG5Root *target, MHEG5GList *params);
106 MHEG5ErrorCode MHEG5getFocusPosition(MHEG5Root *target, MHEG5GList *params);
107 MHEG5ErrorCode MHEG5setFocusPosition(MHEG5Root *target, MHEG5GList *params);
108 
109 /*
110  Debug
111  */
112 #ifdef MH5PRINTOUT
113 void MHEG5hypertextPrint(MHEG5Hypertext *hypertext, char *out);
114 #endif
115 
116 #endif /*_MH5HYPERTEXT_H_*/
Definition: mh5base.h:82
Implement the MHEG5 Interactible Class. Defines functionality associated with an interaction behaviou...
void MHEG5hypertextFree(MHEG5Hypertext *hypertext)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
Definition: mh5hypertext.c:246
Implement the MHEG5 Text Class 36 Text Class Defines attributes and behaviour of pieces of textual in...
Definition: mh5hypertext.h:45
void MHEG5hypertextInit(MHEG5Hypertext *hypertext)
<Function description>="">
Definition: mh5hypertext.c:231
void MHEG5hypertextUP(MHEG5Hypertext *hypertext)
Definition: mh5hypertext.c:72
Definition: mh5base.h:169
Definition: mh5text.h:59
Definition: mh5interactible.h:44
void MHEG5hypertextDOWN(MHEG5Hypertext *hypertext)
Definition: mh5hypertext.c:108
Definition: mh5root.h:43