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