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 *******************************************************************************/ 00032 #ifndef _MH5BUTTON_H 00033 #define _MH5BUTTON_H 00034 00035 /*---includes for this file--------------------------------------------------*/ 00036 00037 #include "mh5visible.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 00046 /* struct Hotspot */ 00047 typedef struct 00048 { 00049 /* Base classes */ 00050 MHEG5Visible visible; 00051 MHEG5Interactible interactible; 00052 00053 /* Exchanged attributes */ 00054 MHEG5Colour buttonColour; 00055 00056 /* Internal attributes */ 00057 MHEG5Bool selectionStatus; 00058 MHEG5Bool cursorHere; 00059 } MHEG5Button; 00060 00061 /*---Global variable declarations for public use-----------------------------*/ 00062 00063 /*---Global Function prototypes for public use-------------------------------*/ 00064 00070 /* 00071 Debug 00072 */ 00073 #ifdef MH5PRINTOUT 00074 void MHEG5buttonPrint(MHEG5Button *button, char *out); 00075 #endif 00076 00077 /* 00078 Constructor 00079 */ 00085 void MHEG5buttonInit(MHEG5Button *button); 00086 00087 00095 void MHEG5buttonFree(MHEG5Button *button); 00096 00097 00098 /* 00099 Internal behaviours 00100 */ 00101 void MHEG5buttonPrepare(MHEG5Button *button); 00102 void MHEG5buttonActivate(MHEG5Button *button); 00103 void MHEG5buttonDeactivate(MHEG5Button *button); 00104 void MHEG5buttonDestruct(MHEG5Button *button); 00105 00106 /* 00107 Actions 00108 */ 00109 MHEG5ErrorCode MHEG5select(MHEG5Root *target, MHEG5GList *params); 00110 MHEG5ErrorCode MHEG5deselect(MHEG5Root *target, MHEG5GList *params); 00111 00112 #endif /*_MH5BUTTON_H*/