MHEG5  15.3.0
source/classes/inc/mh5interactible.h
Go to the documentation of this file.
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*/
 All Data Structures Files Functions Variables Typedefs Defines