MHEG  17.9.0
 All Data Structures Files Functions Variables Typedefs Enumerations Macros Pages
stb_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  *******************************************************************************/
30 #ifndef _STB_OSD_H
31 #define _STB_OSD_H
32 
33 #include "techtype.h"
34 #include "osdtype.h"
35 
36 /*---Constant and macro definitions for public use-----------------------------*/
37 
38 /*---Enumerations for public use-----------------------------------------------*/
39 
40 /*---Global type defs for public use-------------------------------------------*/
41 
42 /*---Global Function prototypes for public use---------------------------------*/
43 
51 void STB_OSDMhegSetPalette(U16BIT index, U16BIT number, const U32BIT *argb);
52 
63 void* STB_OSDMhegSetResolution(U16BIT width, U16BIT height, U8BIT bits);
64 
80 void* STB_OSDMhegCreateSurface( U16BIT width, U16BIT height,
81  BOOLEAN init, U32BIT colour );
82 
95 void* STB_OSDMhegLockBuffer( void *surface, U32BIT *pPitch );
96 
102 void STB_OSDMhegUnlockBuffer( void *surface );
103 
110 void STB_OSDMhegDestroySurface( void *surface );
111 
131 void STB_OSDMhegBlitBitmap( void *surface, S_RECTANGLE *pRect, U32BIT pitch,
132  U16BIT screen_x, U16BIT screen_y, E_BLIT_OP bflg );
133 
144 void STB_OSDMhegFillRectangle( S_RECTANGLE *pRect, U32BIT colour, E_BLIT_OP bflg );
145 
159 void STB_OSDMhegBlitStretch( S_RECTANGLE *pSrcRect, void *src_surf,
160  S_RECTANGLE *pDstRect, void *dst_surf, E_BLIT_OP bflg );
161 
172 void STB_OSDMhegFillSurface( void *surface, S_RECTANGLE *pRect, U32BIT colour,
173  E_BLIT_OP bflg );
174 
180 void STB_OSDMhegUpdate(void);
181 
185 void STB_OSDMhegClear(void);
186 
187 
188 #endif /* _STB_OSD_H */
definition of OSD types
Definition: osdtype.h:54
void STB_OSDMhegClear(void)
Clear MHEG's entire OSD.
void STB_OSDMhegFillRectangle(S_RECTANGLE *pRect, U32BIT colour, E_BLIT_OP bflg)
Draw a filled rectangle on OSD back buffer in the location given. Where pixel colour is less than fou...
void * STB_OSDMhegCreateSurface(U16BIT width, U16BIT height, BOOLEAN init, U32BIT colour)
Creates a hardware surface on which MHEG5 engine will draw an individual MHEG object. At its basic the function can just allocate the buffer to be returned by STB_OSDMhegLockBuffer(). It's size being: (width * height * bytes_per_pixel) Also, when 'init' is TRUE, function initialises surface buffer to the specified colour. For pixel colour format of less than four bytes, use least significant bits of 'colour'.
void * STB_OSDMhegSetResolution(U16BIT width, U16BIT height, U8BIT bits)
Sets the size of the OSD to be used by MHEG engine. The return must be a surface handle for the entir...
void STB_OSDMhegDestroySurface(void *surface)
This function destroys surface and all data allocated by STB_OSDMhegCreateSurface() ...
void STB_OSDMhegUpdate(void)
Commit OSD changes to the screen - changes given by previous calls to STB_OSDMhegDrawRectangle() and ...
System Wide Global Technical Data Type Definitions.
void STB_OSDMhegSetPalette(U16BIT index, U16BIT number, const U32BIT *argb)
Sets Colour Palette array of up to 256 values, for single byte colour depth. This palette being an ar...
void STB_OSDMhegFillSurface(void *surface, S_RECTANGLE *pRect, U32BIT colour, E_BLIT_OP bflg)
Draw a filled rectangle on surface in the location given. Where pixel colour is less than four bytes...
void * STB_OSDMhegLockBuffer(void *surface, U32BIT *pPitch)
Converts hardware surface handle returned by STB_OSDMhegCreateSurface() to buffer address that the en...
void STB_OSDMhegBlitStretch(S_RECTANGLE *pSrcRect, void *src_surf, S_RECTANGLE *pDstRect, void *dst_surf, E_BLIT_OP bflg)
Stretch blit bitmap data from source surface to destination surface using source and destination rect...
void STB_OSDMhegBlitBitmap(void *surface, S_RECTANGLE *pRect, U32BIT pitch, U16BIT screen_x, U16BIT screen_y, E_BLIT_OP bflg)
Render bitmap on OSD back buffer in the given screen location, with given operation. The bitmap is referenced 'surface' - a handle returned by STB_OSDMhegCreateSurface()
void STB_OSDMhegUnlockBuffer(void *surface)
This function informs HW that MHEG5 is finished writing to the buffer.