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 *******************************************************************************/ 00031 #ifndef _MH5INTERACTIBLE_H 00032 #define _MH5INTERACTIBLE_H 00033 00034 /*---includes for this file--------------------------------------------------*/ 00035 00036 #include "mh5base.h" 00037 00038 /*---Constant and macro definitions for public use---------------------------*/ 00039 00040 /*---Enumerations for public use---------------------------------------------*/ 00041 00042 /*---Global type defs for public use-----------------------------------------*/ 00043 00044 typedef struct 00045 { 00046 /* No base class (mix-in) */ 00047 00048 /* Exchanged attributes */ 00049 MHEG5Bool engineResp; 00050 MHEG5Colour highlightRefColour; 00051 00052 /* Internal attributes */ 00053 MHEG5Bool highlightStatus; 00054 MHEG5Bool interactionStatus; 00055 } MHEG5Interactible; 00056 00057 /*---Global variable declarations for public use-----------------------------*/ 00058 00059 /*---Global Function prototypes for public use-------------------------------*/ 00060 00066 /* 00067 Debug 00068 */ 00069 #ifdef MH5PRINTOUT 00070 void MHEG5interactiblePrint(MHEG5Interactible *interactible, char *out); 00071 #endif 00072 00073 00074 /* 00075 Constructor 00076 */ 00082 void MHEG5interactibleInit(MHEG5Interactible *interactible); 00083 00084 00091 void MHEG5interactiblePrepare(MHEG5Interactible *interactible); 00092 00093 00101 void MHEG5interactibleFree(MHEG5Interactible *interactible); 00102 00103 00104 /* 00105 Clone 00106 */ 00107 void MHEG5interactibleClone(MHEG5Interactible *destination, MHEG5Interactible *source); 00108 00109 /* 00110 Internal behaviours 00111 */ 00112 void MHEG5interactibleDestruct(MHEG5Interactible *interactible); 00113 00114 00121 void MHEG5interactibleDeactivate(MHEG5Interactible *interactible); 00122 00123 00124 void MHEG5interactibleInteractionCompleted(MHEG5Interactible *interactible, MHEG5Root *item); 00125 00126 /* 00127 Actions 00128 */ 00129 MHEG5ErrorCode MHEG5setInteractionStatus(MHEG5Root *target, MHEG5GList *params); 00130 MHEG5ErrorCode MHEG5getInteractionStatus(MHEG5Root *target, MHEG5GList *params); 00131 MHEG5ErrorCode MHEG5setHighlightStatus(MHEG5Root *target, MHEG5GList *params); 00132 MHEG5ErrorCode MHEG5getHighlightStatus(MHEG5Root *target, MHEG5GList *params); 00133 00134 #endif /*_MH5INTERACTIBLE_H*/