MHEG5  18.9.0
MHEG5 Documentation
mg_osd.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  * Copyright © 2008 Ocean Blue Software Ltd
4  *
5  * This file is part of a DTVKit Software Component
6  * You are permitted to copy, modify or distribute this file subject to the terms
7  * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
8  *
9  * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
10  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
11  * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
12  *
13  * If you or your organisation is not a member of DTVKit then you have access
14  * to this source code outside of the terms of the licence agreement
15  * and you are expected to delete this and any associated files immediately.
16  * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
17  *******************************************************************************/
25 #ifndef _MG_OSD_H
26 #define _MG_OSD_H
27 
28 #include "mg_ctxt.h"
29 #include "osdtype.h"
30 #include "osdtypes.h"
31 
32 #define SRF_TYPE_TXT 0
33 #define SRF_TYPE_PNG 1
34 #define SRF_TYPE_JPG 2
35 #define SRF_TYPE_DLA 3
36 
37 typedef struct s_surface
38 {
41  void *col_buff;
42  void *hw_handle;
46  #ifdef SRF_MEM_DGB
47  struct s_surface *next;
48  struct s_surface *prev;
49  #endif
50 } S_SURFACE;
51 
52 
61 void MG_OSDMhegInit( U16BIT inWidth, U16BIT inHeight, E_ASPECT_RATIO sar );
62 void MG_OSDInit( U16BIT inWidth, U16BIT inHeight,
63  U16BIT outWidth, U16BIT outHeight );
64 
74 void MG_DisplayImage( S_SURFACE *data, S_REGION *overlap, S32BIT x, S32BIT y );
75 
76 E_MhegErr MG_Initialise( U16BIT screenWidth, U16BIT screenHeight, U8BIT colourDepth );
77 
78 void MG_Terminate(void);
79 
81 
82 #ifdef SRF_MEM_DGB
83 
84 void OSD_DbgAddSurf( S_SURFACE *srf );
85 void OSD_DbgRemSurf( S_SURFACE *srf );
86 void OSD_DbgListSrf(void);
87 
88 #else
89 
90 #define OSD_DbgAddSurf( s )
91 #define OSD_DbgRemSurf( s )
92 #define OSD_DbgListSurf()
93 
94 #endif
95 
96 #endif /*_MG_OSD_H*/
definition of OSD types
struct s_surface S_SURFACE
void * col_buff
Definition: mg_osd.h:41
const char * data
Definition: mh5gate.c:56
E_MhegErr
Definition: mherrors.h:28
U32BIT buff_pitch
Definition: mg_osd.h:43
uint8_t U8BIT
Definition: techtype.h:82
void * hw_handle
Definition: mg_osd.h:42
#define OSD_DbgRemSurf(s)
Definition: mg_osd.h:91
void MG_DisplayImage(S_SURFACE *data, S_REGION *overlap, S32BIT x, S32BIT y)
Copy the image to the screen buffer.
Definition: mg_osd.c:1266
void MG_Terminate(void)
Free all OSD resources.
Definition: mg_osd.c:367
U16BIT height
Definition: mg_osd.h:40
Define OSD types.
void MG_OSDMhegInit(U16BIT inWidth, U16BIT inHeight, E_ASPECT_RATIO sar)
Initialise the on screen display Initialise the font and fill in font info.
Definition: mg_osd.c:250
#define OSD_DbgAddSurf(s)
Definition: mg_osd.h:90
U8BIT opaque
Definition: mg_osd.h:44
int32_t S32BIT
Definition: techtype.h:87
uint16_t U16BIT
Definition: techtype.h:84
U16BIT width
Definition: mg_osd.h:39
U8BIT srf_type
Definition: mg_osd.h:45
void MG_OSDInit(U16BIT inWidth, U16BIT inHeight, U16BIT outWidth, U16BIT outHeight)
Definition: mg_osd.c:182
E_MhegErr MG_Initialise(U16BIT screenWidth, U16BIT screenHeight, U8BIT colourDepth)
Initialise OSD, font, and font fill information. Should only be called at start up.
Definition: mg_osd.c:281
U8BIT BOOLEAN
Definition: techtype.h:99
BOOLEAN MG_IsHdSupported(void)
Definition: mg_osd.c:171
Interface to OSD.
E_ASPECT_RATIO
Definition: osdtype.h:39
uint32_t U32BIT
Definition: techtype.h:86