MHEG  17.9.0
 All Data Structures Files Functions Variables Typedefs Enumerations Macros Pages
mh5video.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  *******************************************************************************/
32 #ifndef _MH5VIDEO_H
33 #define _MH5VIDEO_H
34 
35 /*---includes for this file--------------------------------------------------*/
36 
37 #include "mh5presentable.h"
38 #include "mh5stream.h"
39 
40 /*---Constant and macro definitions for public use---------------------------*/
41 
42 /*---Enumerations for public use---------------------------------------------*/
43 
44 /*---Global type defs for public use-----------------------------------------*/
45 
46 typedef struct
47 {
48  /* Base class */
49  MHEG5Visible visible;
50 
51  /* Engine data */
52  MHEG5Bool scaleSet;
53  MHEG5Int xScale;
54  MHEG5Int yScale;
55 
56  /* Internal attributes */
57  MHEG5Int xOffset;
58  MHEG5Int yOffset;
59 
60  /* above attributes are common with bitmap class - and need the same positions */
61 
62  MHEG5Bool terminationFreeze;
63  MHEG5Int componentTag;
64 
65  MHEG5Stream *parent;
66 } MHEG5Video;
67 
68 
69 /*---Global variable declarations for public use-----------------------------*/
70 
71 /*---Global Function prototypes for public use-------------------------------*/
72 
84 void MHEG5videoInit(MHEG5Video *video);
85 
86 
94 void MHEG5videoFree(MHEG5Video *video);
95 
96 /*
97  Internal behaviours
98  */
106 void MHEG5videoPrepare(MHEG5Video *video);
107 
113 void MHEG5videoActivate(MHEG5Video *video);
114 
122 void MHEG5videoDeactivate(MHEG5Video *video);
123 
130 void MHEG5videoDestruct(MHEG5Video *video);
131 
132 /*
133  Actions
134  */
135 
160 MHEG5ErrorCode MHEG5scaleVideo(MHEG5Root *target, MHEG5GList *params);
161 
191 MHEG5ErrorCode MHEG5setVideoDecodeOffset(MHEG5Root *target, MHEG5GList *params);
192 
213 MHEG5ErrorCode MHEG5getVideoDecodeOffset(MHEG5Root *target, MHEG5GList *params);
214 
215 
216 /*
217  Debug
218  */
219 
220 #ifdef MH5PRINTOUT
221 
229 void MHEG5videoPrint(MHEG5Video *video, char *out);
230 
231 #endif /* #ifdef MH5PRINTOUT */
232 
233 #endif /*_MH5VIDEO_H*/
void MHEG5videoDestruct(MHEG5Video *video)
Destruct a video object. See also MHEG5videoInit.
Definition: mh5video.c:200
void MHEG5videoDeactivate(MHEG5Video *video)
Apply the deactivation behaviour of the video class. As this class has no own deactivation behaviour ...
Definition: mh5video.c:171
MHEG5ErrorCode MHEG5getVideoDecodeOffset(MHEG5Root *target, MHEG5GList *params)
Implementation of the GetVideoDecodeOffset (XOffsetVar, YOffsetVar) action of the video class...
Definition: mh5video.c:368
Implement the MHEG5 Stream Class Stream Class Defines the behaviour of a composition of continuous me...
MHEG5ErrorCode MHEG5setVideoDecodeOffset(MHEG5Root *target, MHEG5GList *params)
Implementation of the SetVideoDecodeOffset (NewXOffset, NewYOffset) action of the video class...
Definition: mh5video.c:312
Definition: mh5visible.h:46
void MHEG5videoActivate(MHEG5Video *video)
Apply the activation behaviour of the video class.
Definition: mh5video.c:141
void MHEG5videoPrepare(MHEG5Video *video)
Apply the preparation behaviour of the video class As this class has no own preparation behaviour thi...
Definition: mh5video.c:125
Definition: mh5base.h:169
Definition: mh5stream.h:62
Implement the MHEG5 Presentable Class Description Presentable Class Defines the behaviour of objects ...
Definition: mh5video.h:46
void MHEG5videoFree(MHEG5Video *video)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
Definition: mh5video.c:106
void MHEG5videoInit(MHEG5Video *video)
<Function description>="">
Definition: mh5video.c:92
Definition: mh5root.h:43
MHEG5ErrorCode MHEG5scaleVideo(MHEG5Root *target, MHEG5GList *params)
Implementation of the ScaleVideo (XScale, YScale) action of the video class. The effect of this actio...
Definition: mh5video.c:240