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 *******************************************************************************/ 00029 #ifndef _MHEG5DISPLAY_H 00030 #define _MHEG5DISPLAY_H 00031 00032 /*---includes for this file--------------------------------------------------*/ 00033 #include "mh5visible.h" 00034 #include "mh5bitmap.h" 00035 #include "mh5lineart.h" 00036 #include "mh5rectangle.h" 00037 #include "mh5stream.h" 00038 #include "mh5audio.h" 00039 #include "mh5video.h" 00040 #include "mh5rtgraphics.h" 00041 00042 /*---Constant and macro definitions for public use---------------------------*/ 00043 00044 /*displayHide does same thing as displayShow - marks area of OSD for updating*/ 00045 #define MHEG5displayShow(v) MHEG5displayVisUpd(v, 0) 00046 #define MHEG5displayHide(v) MHEG5displayVisUpd(v, 1) 00047 #define MHEG5displayRedraw(v) if ((v)->ingredient.root.runningStatus) MHEG5displayVisUpd(v, 2); 00048 00049 /*---Enumerations for public use---------------------------------------------*/ 00050 00051 /*---Global type defs for public use-----------------------------------------*/ 00052 00053 /*---Global variable declarations for public use-----------------------------*/ 00054 00055 /*---Global Function prototypes for public use-------------------------------*/ 00056 00062 void MHEG5displayClear(void); 00063 void MHEG5displayVisUpd(MHEG5Visible *visible, U8BIT upd); 00064 void MHEG5displayShowAll(void); 00065 void MHEG5displayResume(void); 00066 void MHEG5groupClearImages( MHEG5Root *group ); 00067 void MHEG5groupRedraw( MHEG5Root *group ); 00068 00069 #ifdef INCLUDE_FREESAT 00070 00074 void MHEG5displayImagePlaneStop(void); 00075 #endif 00076 00083 void MHEG5displayUpdate(void); 00084 00085 00090 void MHEG5displayLockStreams(void); 00091 00092 00097 void MHEG5displayUnlockStreams(void); 00098 00099 00108 OSDColor MHEG5displayColour(MHEG5Colour *colour); 00109 00110 /* 00111 Stream Functions 00112 */ 00118 void MHEG5displayAudioPlay(MHEG5Audio *audio); 00119 00120 00125 void MHEG5displayAudioStop(void); 00126 00127 00128 /* 00129 Volume Control 00130 */ 00131 void MHEG5displaySetVolume(MHEG5Int volume); 00132 00133 00139 void MHEG5displayVideoPlay(MHEG5Video *video); 00140 00141 00146 void MHEG5displayVideoStop(void); 00147 00148 00154 void MHEG5displayStreamPlay(MHEG5Stream *stream); 00155 00156 00162 void MHEG5displayStreamStop(MHEG5Stream *stream); 00163 00164 00170 void MHEG5displayIFrameStart(MHEG5Bitmap *bitmap); 00171 00172 00177 void MHEG5displayIFrameStop(void); 00178 00184 void MHEG5displayResetStreamDecoders(BOOLEAN update); 00185 00186 00187 void MHEG5displayVideoPositionUpdate(void); 00188 00189 #ifdef MHEG5_STREAM_TRICK_MODES 00190 00191 void MHEG5displaySkipTo(MHEG5Root *item, MHEG5Int pos); 00192 00193 #endif /* #ifdef MHEG5_STREAM_TRICK_MODES */ 00194 00195 #ifdef SURFACE_THRESHOLD 00196 00204 void MHEG5displaySetSurfaceThreshold(S32BIT pixels); 00205 #endif /* SURFACE_THRESHOLD */ 00206 00207 /* 00208 Send Stream notification 00209 */ 00210 void MHEG5notifyVideoStarted(void); 00211 void MHEG5notifyVideoStopped(void); 00212 void MHEG5notifyAudioStarted(BOOLEAN isClip); 00213 void MHEG5notifyAudioStopped(BOOLEAN isClip); 00214 00215 void MHEG5displayVideoDestroy( MHEG5Video *video ); 00216 void MHEG5displayAudioDestroy( MHEG5Audio *audio ); 00217 void MHEG5displayIframeDestroy( MHEG5Bitmap *iframe ); 00218 void MHEG5displayStreamUpdate(void); 00219 00220 void MHEG5displayRefreshStreams( U16BIT service_id ); 00221 U16BIT MHEG5GetVideoSid(void); 00222 U16BIT MHEG5GetAudioSid(void); 00223 00224 #ifdef _MOVINGCURSOR_ 00225 00226 /* Moving Cursor 00227 */ 00228 void MHEG5displayMouseMove(MHEG5Int mx, MHEG5Int my); 00229 00230 #endif /* #ifdef _MOVINGCURSOR_ */ 00231 00232 #endif /*_MHEG5DISPLAY_H*/