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 _MH5SCENE_H_ 00032 #define _MH5SCENE_H_ 00033 00034 /*---includes for this file--------------------------------------------------*/ 00035 #include "mh5group.h" 00036 00037 /*---Constant and macro definitions for public use---------------------------*/ 00038 00039 /*---Enumerations for public use---------------------------------------------*/ 00040 00041 /*---Global type defs for public use-----------------------------------------*/ 00042 typedef struct 00043 { 00044 /* Base class */ 00045 MHEG5Group group; 00046 00047 /* Exchanged attributes */ 00048 MHEG5Int inputEventRegister; 00049 MHEG5Int sceneCoordinateSystem[2]; 00050 MHEG5SceneRatio_t aspectRatio; 00051 MHEG5Bool movingCursor; 00052 ParamList nextScenes; 00053 MHEG5String inputMask; 00054 /* Engine data */ 00055 MHEG5Root *currentInteractible; 00056 } MHEG5Scene; 00057 00058 /*---Global variable declarations for public use-----------------------------*/ 00059 00060 /*---Global Function prototypes for public use-------------------------------*/ 00061 00062 #ifdef MH5PRINTOUT 00063 00070 void MHEG5scenePrint(MHEG5Scene *scene, char *out); 00071 00072 #endif /* MH5PRINTOUT */ 00073 00079 /* 00080 grant access to curent Scene 00081 */ 00082 MHEG5Scene* MHEG5getCurrentScene(void); 00083 00089 void MHEG5sceneInit(MHEG5Scene *scene); 00090 00091 00099 void MHEG5sceneFree(MHEG5Scene *scene); 00100 00101 /* 00102 Internal behaviours 00103 */ 00104 void MHEG5scenePrepare(MHEG5Scene *scene); 00105 void MHEG5sceneDestruct(MHEG5Scene *scene); 00106 void MHEG5sceneActivate(MHEG5Scene *scene); 00107 void MHEG5sceneDeactivate(MHEG5Scene *scene); 00108 00109 /* 00110 Actions 00111 */ 00112 MHEG5ErrorCode MHEG5transitionTo(MHEG5Root *target, MHEG5GList *params); 00113 MHEG5ErrorCode MHEG5sendEventAction(MHEG5Root *target, MHEG5GList *params); 00114 MHEG5ErrorCode MHEG5setCursorShape(MHEG5Root *target, MHEG5GList *params); 00115 MHEG5ErrorCode MHEG5setCursorPosition(MHEG5Root *target, MHEG5GList *params); 00116 MHEG5ErrorCode MHEG5getCursorPosition(MHEG5Root *target, MHEG5GList *params); 00117 MHEG5ErrorCode MHEG5setInputRegister(MHEG5Root *target, MHEG5GList *params); 00118 MHEG5ErrorCode MHEG5setInputMask(MHEG5Root *target, MHEG5GList *params); 00119 00120 00121 #endif /*_MH5SCENE_H_*/