90 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
/**
 | 
						|
    YUV Format Font to be generated by INDEX8 font.
 | 
						|
 | 
						|
    For date imprint to generate yuv string to paste on picture.
 | 
						|
 | 
						|
    @file       FontConv.h
 | 
						|
    @ingroup    mFONTCONV
 | 
						|
 | 
						|
    Copyright   Novatek Microelectronics Corp. 2012.  All rights reserved.
 | 
						|
*/
 | 
						|
 | 
						|
#ifndef _FONTCONV_H
 | 
						|
#define _FONTCONV_H
 | 
						|
#include "GxGfx/GxGfx.h"
 | 
						|
#include "hd_type.h"
 | 
						|
/**
 | 
						|
    @addtogroup mFONTCONV
 | 
						|
*/
 | 
						|
//@{
 | 
						|
 | 
						|
/**
 | 
						|
     Font rotation degree
 | 
						|
 | 
						|
     For date imprint with rotation.
 | 
						|
*/
 | 
						|
typedef enum _FONT_CONV_DEG {
 | 
						|
	FONT_CONV_DEG_0,      ///< no rotation
 | 
						|
	FONT_CONV_DEG_90,     ///< 90 degree rotation
 | 
						|
	FONT_CONV_DEG_180,    ///< 180 degree rotation
 | 
						|
	FONT_CONV_DEG_270,    ///< 270 degree rotation
 | 
						|
	ENUM_DUMMY4WORD(FONT_CONV_DEG)
 | 
						|
} FONT_CONV_DEG;
 | 
						|
 | 
						|
/**
 | 
						|
     String font translate to YUV format information
 | 
						|
 | 
						|
     An input structure for FontConv
 | 
						|
*/
 | 
						|
typedef void (*FontConvCB)(UINT32, UINT32, UINT32, UINT32);
 | 
						|
 | 
						|
typedef struct _FONT_CONV_IN {
 | 
						|
	UINT32 MemAddr;             ///< Working Memory Address
 | 
						|
	UINT32 MemSize;             ///< Working Memory Size
 | 
						|
	FONT_CONV_DEG Deg;        ///< degree
 | 
						|
	CHAR  *pStr;                ///< Source String
 | 
						|
	FONT  *pFont;               ///< Font Data
 | 
						|
	COLOR_ITEM ciSolid;         ///< Solid Color of Font
 | 
						|
	COLOR_ITEM ciFrame;         ///< Frame Color of Font
 | 
						|
	COLOR_ITEM ciTransparet;    ///< Transparent Color of Font
 | 
						|
	UINT32 ScaleFactor;         ///< Scale Factor base on scale = ScaleFactor/65536
 | 
						|
	HD_VIDEO_PXLFMT Format;  ///< Only Support to GX_IMAGE_PIXEL_FMT_YUV422_PACKED currently
 | 
						|
	BOOL   bEnableSmooth;       ///< Set TRUE for Font with Frame Smooth
 | 
						|
	FontConvCB  pStringCB;     ///< user draw string/icon callback
 | 
						|
	PALETTE_ITEM *pPalette ;    ///< global palette for callback
 | 
						|
	ISIZE StampSize;
 | 
						|
} FONT_CONV_IN, *PFONT_CONV_IN;
 | 
						|
 | 
						|
/**
 | 
						|
     String font translate to YUV format information
 | 
						|
 | 
						|
     An output structure for FontConv
 | 
						|
*/
 | 
						|
typedef struct _FONT_CONV_OUT {
 | 
						|
	HD_VIDEO_FRAME GenImg;           ///< Generated Image
 | 
						|
	UINT32 ColorKeyY;           ///< Color Key Y
 | 
						|
	UINT32 ColorKeyCb;          ///< Color Key Cb
 | 
						|
	UINT32 ColorKeyCr;          ///< Color Key Cr
 | 
						|
	UINT32 UsedMemSize;         ///< Used Memory Size
 | 
						|
	UINT32 UsedMaxMemSize;      ///< Used Max Usage Memory Size
 | 
						|
} FONT_CONV_OUT, *PFONT_CONV_OUT;
 | 
						|
 | 
						|
 | 
						|
typedef struct _F2Y_DC {
 | 
						|
	UINT32 uiPxlfmt;
 | 
						|
	UINT32 uiAddrY;
 | 
						|
	UINT32 uiAddrUV;
 | 
						|
	UINT32 uiLineOffsetY;
 | 
						|
	UINT32 uiLineOffsetUV;
 | 
						|
} F2Y_DC, *PF2Y_DC;
 | 
						|
 | 
						|
/**
 | 
						|
     Font data to Packed UV 422
 | 
						|
 | 
						|
     A source with INDEX8 trans to YUV format.
 | 
						|
*/
 | 
						|
extern ER FontConv(FONT_CONV_IN *pIn, FONT_CONV_OUT *pOut);
 | 
						|
 | 
						|
//@}
 | 
						|
#endif
 |