MHEG5  15.3.0
source/classes/inc/mh5button.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  *******************************************************************************/
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*/
 All Data Structures Files Functions Variables Typedefs Defines