MHEG  17.9.0
 All Data Structures Files Functions Variables Typedefs Enumerations Macros Pages
mh5display.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  *******************************************************************************/
29 #ifndef _MHEG5DISPLAY_H
30 #define _MHEG5DISPLAY_H
31 
32 /*---includes for this file--------------------------------------------------*/
33 #include "mh5visible.h"
34 #include "mh5bitmap.h"
35 #include "mh5lineart.h"
36 #include "mh5rectangle.h"
37 #include "mh5stream.h"
38 #include "mh5audio.h"
39 #include "mh5video.h"
40 #include "mh5application.h"
41 
42 /*---Constant and macro definitions for public use---------------------------*/
43 
44 /*displayHide does same thing as displayShow - marks area of OSD for updating*/
45 #define MHEG5displayShow(v) MHEG5displayVisUpd(v, 0)
46 #define MHEG5displayHide(v) MHEG5displayVisUpd(v, 1)
47 #define MHEG5displayRedraw(v) if ((v)->ingredient.root.runningStatus) MHEG5displayVisUpd(v, 2);
48 
49 /*---Enumerations for public use---------------------------------------------*/
50 
51 /*---Global type defs for public use-----------------------------------------*/
52 
53 /*---Global variable declarations for public use-----------------------------*/
54 
55 /*---Global Function prototypes for public use-------------------------------*/
56 
62 void MHEG5displayClear(void);
63 void MHEG5displayVisUpd(MHEG5Visible *visible, U8BIT upd);
64 void MHEG5displayShowAll(void);
65 void MHEG5displayResume(void);
66 void MHEG5displayPause(void);
67 void MHEG5groupClearImages( MHEG5Root *group );
68 void MHEG5groupRedraw( MHEG5Root *group );
69 
70 #ifdef INCLUDE_FREESAT
71 
75 void MHEG5displayImagePlaneStop(void);
76 #endif
77 
84 void MHEG5displayUpdate(void);
85 
86 
91 void MHEG5displayLockStreams(void);
92 
93 
98 void MHEG5displayUnlockStreams(void);
99 
100 
109 OSDColor MHEG5displayColour(MHEG5Colour *colour);
110 
111 /*
112  Stream Functions
113  */
119 void MHEG5displayAudioPlay(MHEG5Audio *audio);
120 
121 
126 void MHEG5displayAudioStop(void);
127 
128 
129 /*
130  Volume Control
131  */
132 void MHEG5displaySetVolume(MHEG5Int volume);
133 
134 
140 void MHEG5displayVideoPlay(MHEG5Video *video);
141 
142 
147 void MHEG5displayVideoStop(void);
148 
149 
155 void MHEG5displayStreamPlay(MHEG5Stream *stream);
156 
157 
163 void MHEG5displayStreamStop(MHEG5Stream *stream);
164 
165 
172 
173 
178 void MHEG5displayIFrameStop(void);
179 
185 void MHEG5displayResetStreamDecoders(BOOLEAN update);
186 
187 
188 void MHEG5displayVideoPositionUpdate(void);
189 
190 #ifdef MHEG5_STREAM_TRICK_MODES
191 
192 void MHEG5displaySkipTo(MHEG5Root *item, MHEG5Int pos);
193 
194 #endif /* #ifdef MHEG5_STREAM_TRICK_MODES */
195 
196 #ifdef SURFACE_THRESHOLD
197 
205 void MHEG5displaySetSurfaceThreshold(S32BIT pixels);
206 #endif /* SURFACE_THRESHOLD */
207 
208 /*
209  Send Stream notification
210  */
211 void MHEG5notifyVideoStarted(void);
212 void MHEG5notifyVideoStopped(void);
213 void MHEG5notifyAudioStarted(BOOLEAN isClip);
214 void MHEG5notifyAudioStopped(BOOLEAN isClip);
215 
216 void MHEG5displayVideoDestroy( MHEG5Video *video );
217 void MHEG5displayAudioDestroy( MHEG5Audio *audio );
218 void MHEG5displayIframeDestroy( MHEG5Bitmap *iframe );
219 void MHEG5displayStreamUpdate( MHEG5Application *application );
220 
221 void MHEG5displayRefreshAudioStream( void );
222 void MHEG5displayRefreshStreams( U16BIT service_id );
223 void MHEG5displayRefreshDefaultAudio( U16BIT service_id );
224 U16BIT MHEG5GetVideoSid(void);
225 U16BIT MHEG5GetAudioSid(void);
226 
227 #ifdef _MOVINGCURSOR_
228 
229 /* Moving Cursor
230  */
231 void MHEG5displayMouseMove(MHEG5Int mx, MHEG5Int my);
232 
233 #endif /* #ifdef _MOVINGCURSOR_ */
234 
235 #endif /*_MHEG5DISPLAY_H*/
Definition: mh5bitmap.h:42
Implementation of the Video class Description Defines the attributes and behaviour of an elementary v...
void MHEG5displayUpdate(void)
Update the display, redrawing any visible objects that are in the dirty rectangle.
Definition: mh5display.c:2028
void MHEG5displayUnlockStreams(void)
Unlock streams, allow stream updates.
Definition: mh5display.c:2953
Implement the MHEG5 Stream Class Stream Class Defines the behaviour of a composition of continuous me...
Definition: mh5application.h:56
Implement the MHEG5 LineArt Class. Defines functionality associated with vectorial representation of ...
Definition: mh5visible.h:46
void MHEG5displayVideoPlay(MHEG5Video *video)
Begin playback of the specified video object.
Definition: mh5display.c:2266
OSDColor MHEG5displayColour(MHEG5Colour *colour)
Convert Generic Colour value to OSD specific value. If the generic colour is encoded as a string it i...
Definition: mh5display.c:256
void MHEG5displayAudioPlay(MHEG5Audio *audio)
Begin playback of the specified audio object.
Definition: mh5display.c:2143
void MHEG5displaySetVolume(MHEG5Int volume)
Volume Control.
Definition: mh5display.c:2964
void MHEG5displayVideoStop(void)
Stops playback of the video media decoder.
Definition: mh5display.c:2458
void MHEG5displayAudioStop(void)
Stops playback of the audio media decoder.
Definition: mh5display.c:2440
Implement the MHEG5 Rectangle Class Rectangle Class Defines a data structure that deals with rectangl...
void MHEG5displayIFrameStart(MHEG5Bitmap *bitmap)
Start displaying an I-Frame.
Definition: mh5display.c:2604
Definition: mh5stream.h:62
Implement the MHEG5 Visible Class Defines the behaviour of Presentables that have a visual representa...
void MHEG5displayStreamPlay(MHEG5Stream *stream)
Begin playback of all active components in the specifed stream object.
Definition: mh5display.c:2389
Module Description: Implement the MHEG5 Bitmap Class. 32 Bitmap Class Defines the behaviour of a two-...
Definition: mh5video.h:46
Definition: mh5base.h:147
Implementation of the MHEG5 Application Class Defines a set of Ingredient objects, which are shared within an application scope. Base class: Group Subclasses: None Status: Concrete class.
void MHEG5displayLockStreams(void)
Lock streams, disallow any stream updates.
Definition: mh5display.c:2944
Definition: mh5root.h:43
void MHEG5displayShowAll(void)
Redisplay all active visible objects. AKD: Optimised 12/5/99.
Definition: mh5display.c:1362
void MHEG5displayResetStreamDecoders(BOOLEAN update)
Reset all media decoders to default values. This is used when the MHEG-5 engine is terminated...
Definition: mh5display.c:2899
Implement the MHEG5 Audio Class Audio Class Defines the attributes and behaviour of an elementary aud...
void MHEG5displayStreamStop(MHEG5Stream *stream)
Stops playback of all active component of the specified stream object.
Definition: mh5display.c:2477
void MHEG5displayIFrameStop(void)
Stop displaying an I-Frame.
Definition: mh5display.c:2707
void MHEG5displayClear(void)
<Function description>="">
Definition: mh5display.c:220
Definition: mh5audio.h:45