MHEG  17.9.0
 All Data Structures Files Functions Variables Typedefs Enumerations Macros Pages
mh5scene.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  * Copyright © 2004 Ocean Blue Software Ltd
4  * Copyright © 2000 Koninklijke Philips Electronics N.V
5  *
6  * This file is part of a DTVKit Software Component
7  * You are permitted to copy, modify or distribute this file subject to the terms
8  * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
9  *
10  * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
11  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
12  * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
13  *
14  * If you or your organisation is not a member of DTVKit then you have access
15  * to this source code outside of the terms of the licence agreement
16  * and you are expected to delete this and any associated files immediately.
17  * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
18  *******************************************************************************/
31 #ifndef _MH5SCENE_H_
32 #define _MH5SCENE_H_
33 
34 /*---includes for this file--------------------------------------------------*/
35 #include "mh5group.h"
36 #include "osdtype.h"
37 
38 /*---Constant and macro definitions for public use---------------------------*/
39 
40 /*---Enumerations for public use---------------------------------------------*/
41 
42 /*---Global type defs for public use-----------------------------------------*/
43 typedef struct
44 {
45  /* Base class */
46  MHEG5Group group;
47 
48  /* Exchanged attributes */
49  MHEG5Int inputEventRegister;
50  MHEG5Int sceneCoordinateSystem[2];
51  E_ASPECT_RATIO aspectRatio;
52  MHEG5Bool movingCursor;
53  ParamList nextScenes;
54  MHEG5String inputMask;
55  /* Engine data */
56  MHEG5Root *currentInteractible;
57 } MHEG5Scene;
58 
59 /*---Global variable declarations for public use-----------------------------*/
60 
61 /*---Global Function prototypes for public use-------------------------------*/
62 
63 #ifdef MH5PRINTOUT
64 
71 void MHEG5scenePrint(MHEG5Scene *scene, char *out);
72 
73 #endif /* MH5PRINTOUT */
74 
80 /*
81  grant access to curent Scene
82  */
84 
90 void MHEG5sceneInit(MHEG5Scene *scene);
91 
92 
100 void MHEG5sceneFree(MHEG5Scene *scene);
101 
102 /*
103  Internal behaviours
104  */
105 void MHEG5scenePrepare(MHEG5Scene *scene);
106 void MHEG5sceneDestruct(MHEG5Scene *scene);
107 void MHEG5sceneActivate(MHEG5Scene *scene);
108 void MHEG5sceneDeactivate(MHEG5Scene *scene);
109 
110 /*
111  Actions
112  */
113 MHEG5ErrorCode MHEG5transitionTo(MHEG5Root *target, MHEG5GList *params);
114 MHEG5ErrorCode MHEG5sendEventAction(MHEG5Root *target, MHEG5GList *params);
115 MHEG5ErrorCode MHEG5setCursorShape(MHEG5Root *target, MHEG5GList *params);
116 MHEG5ErrorCode MHEG5setCursorPosition(MHEG5Root *target, MHEG5GList *params);
117 MHEG5ErrorCode MHEG5getCursorPosition(MHEG5Root *target, MHEG5GList *params);
118 MHEG5ErrorCode MHEG5setInputRegister(MHEG5Root *target, MHEG5GList *params);
119 MHEG5ErrorCode MHEG5setInputMask(MHEG5Root *target, MHEG5GList *params);
120 
121 
122 #endif /*_MH5SCENE_H_*/
definition of OSD types
void MHEG5sceneDestruct(MHEG5Scene *scene)
Destruct a scene object.
Definition: mh5scene.c:446
MHEG5ErrorCode MHEG5sendEventAction(MHEG5Root *target, MHEG5GList *params)
The actions inserts an event defined by the given parameters into the systems event queue...
Definition: mh5scene.c:640
MHEG5ErrorCode MHEG5setCursorShape(MHEG5Root *target, MHEG5GList *params)
This action sets a new cursor shape. Implementation of the SetCursorShape (NewCursorShape) action of ...
Definition: mh5scene.c:715
void MHEG5sceneFree(MHEG5Scene *scene)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
Definition: mh5scene.c:395
Definition: mh5base.h:82
Definition: mh5group.h:47
Implementation of the Group class Description Defines the structure and behaviour of objects used as ...
void MHEG5sceneActivate(MHEG5Scene *scene)
Apply the activation behaviour of the scene class. As this class has no own activation behaviour this...
Definition: mh5scene.c:474
void MHEG5sceneInit(MHEG5Scene *scene)
Initialise a scene object with default values.
Definition: mh5scene.c:378
MHEG5ErrorCode MHEG5setInputRegister(MHEG5Root *target, MHEG5GList *params)
Change the InputEventRegister attribute of the target Scene object. Changing the register will affect...
Definition: mh5scene.c:897
Definition: mh5base.h:169
Definition: mh5base.h:179
MHEG5ErrorCode MHEG5setInputMask(MHEG5Root *target, MHEG5GList *params)
Change the InputMask attribute of the target Scene object. Changing the registermask will affect how ...
Definition: mh5scene.c:937
MHEG5ErrorCode MHEG5getCursorPosition(MHEG5Root *target, MHEG5GList *params)
The effect of this action is that the current cursor position is retrieved and stored in the given va...
Definition: mh5scene.c:837
MHEG5ErrorCode MHEG5transitionTo(MHEG5Root *target, MHEG5GList *params)
This function performs the TransitionTo action which leads to a new scene. Implementation of the Tran...
Definition: mh5scene.c:566
void MHEG5scenePrepare(MHEG5Scene *scene)
Apply the preparation behaviour of the scene class. As this class has no own preparation behaviour th...
Definition: mh5scene.c:414
MHEG5Scene * MHEG5getCurrentScene(void)
<Function description>="">
Definition: mh5scene.c:207
void MHEG5sceneDeactivate(MHEG5Scene *scene)
Apply the deactivation behaviour of the scene class. As this class has no own deactivation behaviour ...
Definition: mh5scene.c:511
Definition: mh5root.h:43
Definition: mh5scene.h:43
MHEG5ErrorCode MHEG5setCursorPosition(MHEG5Root *target, MHEG5GList *params)
This action sets the cursor position to the values given as parameters. Implementation of the SetCurs...
Definition: mh5scene.c:782