MHEG  17.9.0
 All Data Structures Files Functions Variables Typedefs Enumerations Macros Pages
mh5interactible.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  *******************************************************************************/
31 #ifndef _MH5INTERACTIBLE_H
32 #define _MH5INTERACTIBLE_H
33 
34 /*---includes for this file--------------------------------------------------*/
35 
36 #include "mh5base.h"
37 
38 /*---Constant and macro definitions for public use---------------------------*/
39 
40 /*---Enumerations for public use---------------------------------------------*/
41 
42 /*---Global type defs for public use-----------------------------------------*/
43 
44 typedef struct
45 {
46  /* No base class (mix-in) */
47 
48  /* Exchanged attributes */
49  MHEG5Bool engineResp;
50  MHEG5Colour highlightRefColour;
51 
52  /* Internal attributes */
53  MHEG5Bool highlightStatus;
54  MHEG5Bool interactionStatus;
56 
57 /*---Global variable declarations for public use-----------------------------*/
58 
59 /*---Global Function prototypes for public use-------------------------------*/
60 
66 /*
67  Debug
68  */
69 #ifdef MH5PRINTOUT
70 void MHEG5interactiblePrint(MHEG5Interactible *interactible, char *out);
71 #endif
72 
73 
74 /*
75  Constructor
76  */
82 void MHEG5interactibleInit(MHEG5Interactible *interactible);
83 
84 
92 
93 
101 void MHEG5interactibleFree(MHEG5Interactible *interactible);
102 
103 
104 /*
105  Clone
106  */
107 void MHEG5interactibleClone(MHEG5Interactible *destination, MHEG5Interactible *source);
108 
109 /*
110  Internal behaviours
111  */
112 void MHEG5interactibleDestruct(MHEG5Interactible *interactible);
113 
114 
122 
123 
124 void MHEG5interactibleInteractionCompleted(MHEG5Interactible *interactible, MHEG5Root *item);
125 
126 /*
127  Actions
128  */
129 MHEG5ErrorCode MHEG5setInteractionStatus(MHEG5Root *target, MHEG5GList *params);
130 MHEG5ErrorCode MHEG5getInteractionStatus(MHEG5Root *target, MHEG5GList *params);
131 MHEG5ErrorCode MHEG5setHighlightStatus(MHEG5Root *target, MHEG5GList *params);
132 MHEG5ErrorCode MHEG5getHighlightStatus(MHEG5Root *target, MHEG5GList *params);
133 
134 #endif /*_MH5INTERACTIBLE_H*/
Basis MHEG5 data types.
void MHEG5interactibleDeactivate(MHEG5Interactible *interactible)
Implementation of the deactivation behaviour of the interactible class. This behaviour was introduced...
Definition: mh5interactible.c:151
Definition: mh5base.h:169
Definition: mh5interactible.h:44
Definition: mh5base.h:147
void MHEG5interactibleInit(MHEG5Interactible *interactible)
<Function description>="">
Definition: mh5interactible.c:102
Definition: mh5root.h:43
void MHEG5interactibleFree(MHEG5Interactible *interactible)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
Definition: mh5interactible.c:130
void MHEG5interactiblePrepare(MHEG5Interactible *interactible)
Sets all internal attributes for the specified object to their default values.
Definition: mh5interactible.c:115