1469 lines
		
	
	
		
			47 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			1469 lines
		
	
	
		
			47 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
/**
 | 
						|
    Gfx drawing lib.
 | 
						|
 | 
						|
    Graphics lib for drawing shape, image & text.
 | 
						|
 | 
						|
    @file       GxGfx.h
 | 
						|
    @ingroup    mIGxgfx
 | 
						|
    @note       Nothing
 | 
						|
 | 
						|
                DC : Drawing Canvas object, a bitmap use as a drawing target/source
 | 
						|
 | 
						|
                BRUSH: Draw brush, a property-set to help DC drawing
 | 
						|
 | 
						|
                VAR: Draw variable, a variable array to help DC drawing custom items
 | 
						|
 | 
						|
    Copyright   Novatek Microelectronics Corp. 2012.  All rights reserved.
 | 
						|
*/
 | 
						|
 | 
						|
#ifndef _GX_GRAPHICS_H_
 | 
						|
#define _GX_GRAPHICS_H_
 | 
						|
 | 
						|
#include "GxCommon.h"
 | 
						|
#include "GxGfx/GxDC.h"
 | 
						|
#include "GxGfx/GxData.h"
 | 
						|
#include "GxGfx/GxColor.h"
 | 
						|
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
/**
 | 
						|
    @addtogroup mIGxgfx
 | 
						|
*/
 | 
						|
//@{
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
//  enum - brush
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
/**
 | 
						|
     @name BRUSH for shape setting
 | 
						|
*/
 | 
						|
//@{
 | 
						|
#define BR_SHAPELINESTYLE       0x00  ///< shape line style: line style, brush weight, brush type //(TODO) line style
 | 
						|
#define BR_SHAPEFILLSTYLE       0x01  ///< shape rect style: draw line, fill inner
 | 
						|
#define BR_SHAPEFORECOLOR       0x02  ///< shape fore color (line color)
 | 
						|
#define BR_SHAPEBACKCOLOR       0x03  ///< shape back color (fill color)
 | 
						|
#define BR_SHAPEMAPPING         0x04  ///< shape color mapping table
 | 
						|
#define BR_SHAPELAYOUT          0x05  ///< shape layout style (TODO)
 | 
						|
#define BR_SHAPEALIGN           0x06  ///< shape alignment control (TODO)
 | 
						|
//#define BR_SHAPETABLE           0x07  ///< shape table (TODO)
 | 
						|
//@}
 | 
						|
 | 
						|
/**
 | 
						|
     @name BRUSH for image setting
 | 
						|
*/
 | 
						|
//@{
 | 
						|
#define BR_IMAGEROP             0x08  ///< image ROP
 | 
						|
#define BR_IMAGEPARAM           0x09  ///< image parameters for ROP
 | 
						|
#define BR_IMAGEPALETTE         0x0A  ///< image palette = color LUT for mapping index to color
 | 
						|
#define BR_IMAGEMAPPING         0x0B  ///< image mapping = index LUT for mapping index to index
 | 
						|
#define BR_IMAGELAYOUT          0x0C  ///< image layout (TODO)
 | 
						|
#define BR_IMAGEALIGN           0x0D  ///< image align
 | 
						|
#define BR_IMAGETABLE           0x0E  ///< image table
 | 
						|
//@}
 | 
						|
 | 
						|
/**
 | 
						|
     @name BRUSH for text setting
 | 
						|
*/
 | 
						|
//@{
 | 
						|
#define BR_TEXTFONT             0x0F  ///< text font table
 | 
						|
#define BR_TEXTFONTSTYLE        0x10  ///< text font style: font style, font effect //(TODO) font style
 | 
						|
#define BR_TEXTFONTSIZE         0x11  ///< text font size (TODO)
 | 
						|
#define BR_TEXTFORECOLOR1       0x12  ///< text font face color
 | 
						|
#define BR_TEXTFORECOLOR2       0x13  ///< text font shadow color
 | 
						|
#define BR_TEXTFORECOLOR3       0x14  ///< text font line color (TODO)
 | 
						|
#define BR_TEXTLAYOUT           0x15  ///< text layout: Line-break, Use-Margin
 | 
						|
#define BR_TEXTALIGN            0x16  ///< text align: line, vertical, horizontal
 | 
						|
#define BR_TEXTLINEHEIGHT       0x17  ///< text line height
 | 
						|
#define BR_TEXTLETTERSPACE      0x18  ///< text letter space
 | 
						|
#define BR_TEXTINDENTSPACE      0x19  ///< text indent space (TODO)
 | 
						|
#define BR_TEXTSTRINGTABLE      0x1A  ///< text string table
 | 
						|
#define BR_TEXTCOLORMAPPING     0x1B  ///< text color mapping table
 | 
						|
//@}
 | 
						|
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
//  enum - brush value
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
/**
 | 
						|
     @name value for BR_SHAPELINESTYLE
 | 
						|
*/
 | 
						|
//@{
 | 
						|
#define LINESTYLE_LINE          0  ///< line style : ----------------
 | 
						|
#if 0
 | 
						|
#define LINESTYLE_DOT           1  ///< line style : . . . . . . . .
 | 
						|
#define LINESTYLE_DASH          2  ///< line style : -- -- -- -- --
 | 
						|
#define LINESTYLE_DOTDASH       3  ///< line style : . -- . -- . -- .
 | 
						|
#define LINESTYLE_DOTDOTDASH    4  ///< line style : . . -- . . -- .
 | 
						|
#define LINESTYLE_DOTDASHDASH   5  ///< line style : . -- -- . -- --
 | 
						|
#define LINESTYLE_SPARSEDOT     6  ///< line style : .   .   .   .
 | 
						|
#define LINESTYLE_SPARSEDASH    7  ///< line style : --  --  --  --
 | 
						|
#endif
 | 
						|
#define LINESTYLE_MAX           7  ///< line style max value
 | 
						|
#define LINEBRUSH_CIRCLE        0x00000000 ///< line brush : circle
 | 
						|
#define LINEBRUSH_SQUARE        0x00000010 ///< line brush : square
 | 
						|
#define LINEBRUSH_MAX           0x000000f0 ///< line brush max value
 | 
						|
#define LINEWEIGHT_MAX          31 ///< line weight max value
 | 
						|
//@}
 | 
						|
 | 
						|
/**
 | 
						|
     @name Mask for BR_SHAPELINESTYLE
 | 
						|
*/
 | 
						|
//@{
 | 
						|
#define DSF_LS_MASK             0x00000007 ///< Mask for accessing LINESTYLE in BR_SHAPELINESTYLE
 | 
						|
#define DSF_LB_MASK             0x000000f0 ///< Mask for accessing LINEBRUSH in BR_SHAPELINESTYLE
 | 
						|
#define DSF_LW_MASK             0x0000ff00 ///< Mask for accessing LINEWEIGHT in BR_SHAPELINESTYLE
 | 
						|
//@}
 | 
						|
 | 
						|
/**
 | 
						|
     Generate LINESTYLE value of BR_SHAPELINESTYLE.
 | 
						|
 | 
						|
     Generate LINESTYLE value of BR_SHAPELINESTYLE.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] ls              LINESTYLE_XXX.
 | 
						|
     @return                    Value of BR_SHAPELINESTYLE.
 | 
						|
*/
 | 
						|
#define LINESTYLE(ls)           ((UINT32)(ls) & 0x07)
 | 
						|
 | 
						|
/**
 | 
						|
     Get LINESTYLE value of BR_SHAPELINESTYLE.
 | 
						|
 | 
						|
     Get LINESTYLE value of BR_SHAPELINESTYLE.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] ls               Value of BR_SHAPELINESTYLE.
 | 
						|
     @return                    LINESTYLE_XXX.
 | 
						|
*/
 | 
						|
#define GET_LINESTYLE(ls)       ((ls) & DSF_LS_MASK)
 | 
						|
 | 
						|
/**
 | 
						|
     Generate LINEBRUSH value of BR_SHAPELINESTYLE.
 | 
						|
 | 
						|
     Generate LINEBRUSH value of BR_SHAPELINESTYLE.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] lt              LINEBRUSH_XXX.
 | 
						|
     @return                    Value of BR_SHAPELINESTYLE.
 | 
						|
*/
 | 
						|
#define LINEBRUSH(lt)           (((UINT32)(lt) & 0x0f)<<4)
 | 
						|
 | 
						|
/**
 | 
						|
     Get LINEBRUSH value of BR_SHAPELINESTYLE.
 | 
						|
 | 
						|
     Get LINEBRUSH value of BR_SHAPELINESTYLE.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] lb               Value of BR_SHAPELINESTYLE.
 | 
						|
     @return                    LINEBRUSH_XXX.
 | 
						|
*/
 | 
						|
#define GET_LINEBRUSH(lb)       (((lb) & DSF_LB_MASK) >> 4)
 | 
						|
 | 
						|
/**
 | 
						|
     Generate LINEWEIGHT value of BR_SHAPELINESTYLE.
 | 
						|
 | 
						|
     Generate LINEWEIGHT value of BR_SHAPELINESTYLE.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] lw              LINEWEIGHT_XXX.
 | 
						|
     @return                    Value of BR_SHAPELINESTYLE.
 | 
						|
*/
 | 
						|
#define LINEWEIGHT(lw)          (((UINT32)(lw) & 0xff)<<8)
 | 
						|
 | 
						|
/**
 | 
						|
     Get LINEWEIGHT value of BR_SHAPELINESTYLE.
 | 
						|
 | 
						|
     Get LINEWEIGHT value of BR_SHAPELINESTYLE.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] lw               Value of BR_SHAPELINESTYLE.
 | 
						|
     @return                    LINEWEIGHT_XXX.
 | 
						|
*/
 | 
						|
#define GET_LINEWEIGHT(lw)      (((lw) & DSF_LW_MASK) >> 8)
 | 
						|
 | 
						|
/**
 | 
						|
     @name value for BR_SHAPEFILLSTYLE
 | 
						|
*/
 | 
						|
//@{
 | 
						|
#define FILLSTYLE_FILL          0x00000000  ///< fill style: enable fill color at rect background
 | 
						|
#define FILLSTYLE_BORDER        0x00000000  ///< fill style: enable draw frame at rect conner
 | 
						|
#define FILLSTYLE_EMPTY         0x00000001  ///< fill style: disable fill color
 | 
						|
#define FILLSTYLE_NOBORDER      0x00000002  ///< fill style: disable draw frame
 | 
						|
#define FILLSTYLE_FILLALPHA     0x00000010  ///< fill style: fill alpha channel
 | 
						|
#define FILLSTYLE_FILLRED       0x00000020  ///< fill style: fill color.r channel
 | 
						|
#define FILLSTYLE_FILLGREEN     0x00000040  ///< fill style: fill color.g channel
 | 
						|
#define FILLSTYLE_FILLBLUE      0x00000080  ///< fill style: fill color.b channel
 | 
						|
#define FILLSTYLE_FILLCOLOR     (FILLSTYLE_FILLRED|FILLSTYLE_FILLGREEN|FILLSTYLE_FILLBLUE) ///< fill style: fill color.rgb channel
 | 
						|
//@}
 | 
						|
 | 
						|
/**
 | 
						|
     @name value for BR_IMAGEROP
 | 
						|
*/
 | 
						|
//@{
 | 
						|
#ifndef ROP_COPY    //the same as linux fb.h
 | 
						|
#define ROP_COPY                0x00000000 ///< image rop: COPY (Support INDEX,YUV format)
 | 
						|
#endif
 | 
						|
/*
 | 
						|
#define ROP_NOT                 0x01000000 ///< image rop: NOT (Support INDEX,YUV format)
 | 
						|
#define ROP_AND                 0x02000000 ///< image rop: AND (Support INDEX,YUV format)
 | 
						|
#define ROP_OR                  0x03000000 ///< image rop: OR (Support INDEX,YUV format)
 | 
						|
#define ROP_XOR                 0x04000000 ///< image rop: XOR (Support INDEX,YUV format)
 | 
						|
*/
 | 
						|
#define ROP_KEY                 0x05000000 ///< image rop: KEY (Support INDEX,YUV format) param: color = 0x0~0xfffff
 | 
						|
//#define ROP_DESTNOT             0x06000000 ///< image rop: DESTNOT (Support INDEX,YUV format)
 | 
						|
//#define ROP_DESTKEY             0x07000000 ///< image rop: DESTKEY (Support INDEX,YUV format) param: color = 0x0~0xfffff
 | 
						|
#define ROP_DESTFILL            0x08000000 ///< image rop: DESTFILL (Support INDEX,YUV format) param: color = 0x0~0xfffff
 | 
						|
/*
 | 
						|
#define ROP_ADD                 0x10000000 ///< image rop: ADD (Support YUV format only)  sub-type: SRC_DIV***
 | 
						|
#define ROP_SUB                 0x11000000 ///< image rop: SUB (Support YUV format only)  sub-type: SRC_DIV***
 | 
						|
#define ROP_ABSSUB              0x12000000 ///< image rop: ABSSUB (Support YUV format only)  sub-type: SRC_DIV***
 | 
						|
#define ROP_MUL                 0x13000000 ///< image rop: MUL (Support YUV format only)  sub-type: OUT_DIV***
 | 
						|
*/
 | 
						|
#define ROP_MUL_CNST_ALPHA      0x13000000 ///< image rop: MUL  alpha a constant value,stand alone ROP
 | 
						|
#define ROP_BLEND               0x14000000 ///< image rop: BLEND (alpha plan blenging)
 | 
						|
#define ROP_BLEND_CNST_ALPHA    0x15000000 ///< image rop: ROP_BLEND_CNST_ALPHA (constant alpha)
 | 
						|
#define ROP_FONT                0x20000000 ///< image rop: FONT (Support INDEX format only) [always rop=ROP_KEY and colorkey =0]
 | 
						|
#define ROP_ROTATE              0x40000000 ///< image rop: ROTATE (Support INDEX,YUV format) sub-type: SRC_RCW***,SRC_RCCW***,SRC_MRR***
 | 
						|
#define ROP_MASK                0xFF000000 ///< image rop mask
 | 
						|
#define ROP_SUB_MASK            0x00ff0000
 | 
						|
#define SRC_CNST_ALPHA(a)       (ROP_MUL_CNST_ALPHA>>8 | ((a)&0x000000ff)) ///< image src: ALPHA (subtype for ROP_COPY, ROP_KEY,ROP_BLEND with ARGB image)
 | 
						|
 | 
						|
#define SRC_RCW_90              0x00000000 ///< image src: rotate CW 90 degree (subtype for ROP_ROTATE)
 | 
						|
#define SRC_RCW_180             0x01000000 ///< image src: rotate CW 180 degree (subtype for ROP_ROTATE)
 | 
						|
#define SRC_RCW_270             0x02000000 ///< image src: rotate CW 270 degree (subtype for ROP_ROTATE)
 | 
						|
#define SRC_RCW_360             0x10000000 ///< image src: rotate CW 360 degree (subtype for ROP_ROTATE)
 | 
						|
#define SRC_MRR_X               0x04000000 ///< image src: mirror in x (horizontal flip) (subtype for ROP_ROTATE)
 | 
						|
#define SRC_MRR_Y               0x08000000 ///< image src: mirror in y (vertical flip) (subtype for ROP_ROTATE)
 | 
						|
#define SRC_RCCW_90             SRC_RCW_270 ///< image src: rotate CCW 270 degree (subtype for ROP_ROTATE)
 | 
						|
#define SRC_RCCW_180            SRC_RCW_180 ///< image src: rotate CCW 180 degree (subtype for ROP_ROTATE)
 | 
						|
#define SRC_RCCW_270            SRC_RCW_90 ///< image src: rotate CCW 90 degree (subtype for ROP_ROTATE)
 | 
						|
#define FILTER_NONE             0x00000000 ///< image filter: NONE (subtype for scaling API)
 | 
						|
#define FILTER_PIXEL            0x00400000 ///< image filter: PIXEL (TODO) (subtype for scaling API)
 | 
						|
#define FILTER_LINEAR           0x00800000 ///< image filter: LINEAR (subtype for scaling API)
 | 
						|
#define FILTER_CUBIC            0x00C00000 ///< image filter: CUBIC (TODO) (subtype for scaling API)
 | 
						|
#define FILTER_MASK             0x00C00000 ///< image filter mask (subtype for scaling API)
 | 
						|
#define FILTER_SHIFT            22 ///< image filter shift
 | 
						|
//@}
 | 
						|
 | 
						|
/**
 | 
						|
     @name value for BR_SHAPELAYOUT, BR_IMAGELAYOUT, BR_TEXTLAYOUT
 | 
						|
*/
 | 
						|
//@{
 | 
						|
#define LAYOUT_NORMAL           0x00000000 ///< layout : NORMAL
 | 
						|
#define LAYOUT_LINEBREAK        0x00000100 ///< layout : LINEBREAK
 | 
						|
#define LAYOUT_LINEWRAP         0x00000200 ///< layout : LINEWRAP
 | 
						|
#if 0 //TODO
 | 
						|
#define LAYOUT_ROTATE_L         0x00000001
 | 
						|
#define LAYOUT_ROTATE_R         0x00000002
 | 
						|
#define LAYOUT_MIRROR_X         0x00000004
 | 
						|
#define LAYOUT_MIRROR_Y         0x00000008
 | 
						|
#define LAYOUT_REPEAT_X         0x00000010
 | 
						|
#define LAYOUT_REPEAT_Y         0x00000020
 | 
						|
#define LAYOUT_MARGIN           0x00000400
 | 
						|
#endif //TODO
 | 
						|
#define LAYOUT_CLIPPING         0x00000800 ///< layout : CLIPPING
 | 
						|
//@}
 | 
						|
 | 
						|
/**
 | 
						|
     @name value for BR_SHAPEALIGN, BR_IMAGEALIGN, BR_TEXTALIGN
 | 
						|
*/
 | 
						|
//@{
 | 
						|
#define ALIGN_LEFT              0x00000000  ///< alignment: horizontal align to left
 | 
						|
#define ALIGN_CENTER            0x00000001  ///< alignment: horizontal align to center
 | 
						|
#define ALIGN_RIGHT             0x00000002  ///< alignment: horizontal align to right
 | 
						|
#define ALIGN_JUSTIFY           0x00000003  ///< alignment: horizontal align to justify (distributed) (TODO)
 | 
						|
#define ALIGN_H_MASK            0x00000003  ///< alignment horizontal mask
 | 
						|
#define ALIGN_TOP               0x00000000  ///< alignment: vertical align to top
 | 
						|
#define ALIGN_MIDDLE            0x00000010  ///< alignment: vertical align to middle
 | 
						|
#define ALIGN_BOTTOM            0x00000020  ///< alignment: vertical align to bottom
 | 
						|
#define ALIGN_V_MASK            0x00000030  ///< alignment vertical mask
 | 
						|
//@}
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
     @name value for BR_TEXTFONT
 | 
						|
*/
 | 
						|
//@{
 | 
						|
//scale
 | 
						|
#define SCALE_1X                0     ///< font scale=1.00
 | 
						|
#if 0 //TODO
 | 
						|
#define SCALE_2X                100   ///< font scale=2.00
 | 
						|
#define SCALE_3X                200   ///< font scale=3.00
 | 
						|
#define SCALE_4X                300   ///< font scale=4.00
 | 
						|
#endif //TODO
 | 
						|
//@}
 | 
						|
 | 
						|
/**
 | 
						|
     @name value for BR_TEXTFONTSTYLE
 | 
						|
*/
 | 
						|
//@{
 | 
						|
#define FONTSTYLE_NORMAL        0x00000000  ///< font style : normal (use color index 1)
 | 
						|
#if 0 //TODO
 | 
						|
#define FONTSTYLE_ITALIC        0x00000001  ///< font style : italic (use color index 1)
 | 
						|
#define FONTSTYLE_BOLD          0x00000002  ///< font style : bold  (use color index 1)
 | 
						|
#define FONTSTYLE_UNDERLINE     0x00000004  ///< font style : underline (use color index 3)
 | 
						|
#define FONTSTYLE_STRIKEOUT     0x00000008  ///< font style : strikeout (use color index 3)
 | 
						|
#define DSF_FS(fs)              (((UINT32)(fs) & 0x000000ff))
 | 
						|
#define DSF_FS_MASK             0x000000ff
 | 
						|
#endif //TODO
 | 
						|
#define FONTEFFECT_NONE         0x00000000  ///< font effect : none
 | 
						|
#define FONTEFFECT_SHADOW       0x00000100  ///< font effect : shadow (use color index 2)
 | 
						|
#define FONTEFFECT_SHADOW2      0x00000200  ///< font effect : shadow2 (use color index 2)
 | 
						|
#define FONTEFFECT_HIGHLIGHT    0x00000300  ///< font effect : highlight (use color index 2)
 | 
						|
#define FONTEFFECT_HIGHLIGHT2   0x00000400  ///< font effect : highlight2 (use color index 2)
 | 
						|
#define FONTEFFECT_OUTLINE      0x00000500  ///< font effect : outline (use color index 2)
 | 
						|
#define FONTEFFECT_OUTLINE2     0x00000600  ///< font effect : outline2 (use color index 2)
 | 
						|
#define F_NOEXTEND              0x00008000  ///< font effect : no auto extend
 | 
						|
#define DSF_FE(fs)              ((((UINT32)(fs) & 0x00007f00))>>8)
 | 
						|
#define DSF_FE_MASK             0x0000ff00
 | 
						|
//@}
 | 
						|
 | 
						|
/**
 | 
						|
     @name value for BR_TEXTALIGN
 | 
						|
*/
 | 
						|
//@{
 | 
						|
#define LETTERALIGN_TOP         0x00000000  ///< letter alignment : text letter align to top
 | 
						|
#define LETTERALIGN_BASELINE    0x00000100  ///< letter alignment : text letter align to baseline = (bottom-2)
 | 
						|
#define LETTERALIGN_BOTTOM      0x00000200  ///< letter alignment : text letter align to bottom
 | 
						|
#define LETTERALIGN_MASK        0x00000300  ///< letter alignment text letter mask
 | 
						|
#define STREAMALIGN_FORWARD     0x00000000  ///< stream alignment : text stream is forward
 | 
						|
#define STREAMALIGN_BACKWARD    0x00000400  ///< stream alignment : text stream is backward (reverse order) (Ex: Arabic, Persian and Hebrew)
 | 
						|
#define STREAMALIGN_MASK        0x00000400  ///< stream alignment text stream mask
 | 
						|
//@}
 | 
						|
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
//  enum - brush default value
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
/**
 | 
						|
     @name default value for shape
 | 
						|
*/
 | 
						|
//@{
 | 
						|
#define SHAPELINESTYLE_DEFAULT  (LINESTYLE_LINE|LINEBRUSH_CIRCLE|LINEWEIGHT(0)) ///< default value
 | 
						|
#define SHAPEFILLSTYLE_DEFAULT  (FILLSTYLE_FILL|FILLSTYLE_BORDER) ///< default value
 | 
						|
#define SHAPEFORECOLOR_DEFAULT  0 ///< default value
 | 
						|
#define SHAPEBACKCOLOR_DEFAULT  0 ///< default value
 | 
						|
#define SHAPEMAPPING_DEFAULT    0 ///< default value
 | 
						|
#define SHAPELAYOUT_DEFAULT     0 ///< default value (TODO)
 | 
						|
#define SHAPEALIGN_DEFAULT      0 ///< default value (TODO)
 | 
						|
//@}
 | 
						|
 | 
						|
/**
 | 
						|
     @name default value for image
 | 
						|
*/
 | 
						|
//@{
 | 
						|
#define IMAGEROP_DEFAULT        (ROP_COPY|FILTER_NONE) ///< default value
 | 
						|
#define IMAGEPARAM_DEFAULT      0 ///< default value
 | 
						|
#define IMAGEPALETTE_DEFAULT    0 ///< default value
 | 
						|
#define IMAGEMAPPING_DEFAULT    0 ///< default value
 | 
						|
#define IMAGELAYOUT_DEFAULT     (LAYOUT_NORMAL) ///< default value (TODO)
 | 
						|
#define IMAGEALIGN_DEFAULT      (ALIGN_LEFT|ALIGN_TOP) ///< default value
 | 
						|
#define IMAGETABLE_DEFAULT      0  ///< default value
 | 
						|
 | 
						|
/**
 | 
						|
     @name default value for text
 | 
						|
*/
 | 
						|
//@{
 | 
						|
#define TEXTFONT_DEFAULT        0  ///< default value
 | 
						|
#define TEXTFONTSTYLE_DEFAULT   (FONTSTYLE_NORMAL|FONTEFFECT_NONE) ///< default value
 | 
						|
#define TEXTFONTSIZE_DEFAULT    SCALE_1X ///< default value (TODO)
 | 
						|
#define TEXTFORECOLOR1_DEFAULT  0  ///< default value
 | 
						|
#define TEXTFORECOLOR2_DEFAULT  0  ///< default value
 | 
						|
#define TEXTFORECOLOR3_DEFAULT  0  ///< default value
 | 
						|
#define TEXTLAYOUT_DEFAULT      (LAYOUT_NORMAL)  ///< default value
 | 
						|
#define TEXTALIGN_DEFAULT       (LETTERALIGN_TOP|ALIGN_LEFT|ALIGN_TOP)  ///< default value
 | 
						|
#define TEXTLINEHEIGHT_DEFAULT  SCALE_1X  ///< default value
 | 
						|
#define TEXTLETTERSPACE_DEFAULT 0  ///< default value
 | 
						|
#define TEXTINDENTSPACE_DEFAULT 0  ///< default value (TODO)
 | 
						|
#define TEXTSTRINGTABLE_DEFAULT 0   ///< default value
 | 
						|
//@}
 | 
						|
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
//  type - brush
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
/**
 | 
						|
    bursh property value
 | 
						|
*/
 | 
						|
typedef UINT32  BVALUE;
 | 
						|
 | 
						|
#define BR_STATE_NUM            0x20 ///<- total brush state numbers
 | 
						|
 | 
						|
/**
 | 
						|
     BRUSH info.
 | 
						|
 | 
						|
     BRUSH info.
 | 
						|
     @note Nothing.
 | 
						|
*/
 | 
						|
typedef struct _BRUSH {
 | 
						|
	BVALUE uiState[BR_STATE_NUM]; ///<- state array
 | 
						|
} BRUSH, *PBRUSH;
 | 
						|
 | 
						|
#define FLOAT_TO_BVALUE(fv)     (*(BVALUE*)&(fv))       ///< convert float to BVALUE
 | 
						|
 | 
						|
/**
 | 
						|
    config string buffer size,used for GxGfx_Config
 | 
						|
*/
 | 
						|
#define CFG_STRING_BUF_SIZE     0x00000001
 | 
						|
 | 
						|
/**
 | 
						|
     Config gfx.
 | 
						|
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] cfg           configure item
 | 
						|
     @param[in] vale          configure vale.
 | 
						|
*/
 | 
						|
RESULT GxGfx_Config(UINT32 cfg, UINT32 vale);
 | 
						|
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
//  function - init/exit
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
/**
 | 
						|
     Initialize gfx.
 | 
						|
 | 
						|
     Initialize gfx.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] pWorkBuf        Working buffer address. (NOTE: need word alignment)
 | 
						|
     @param[in] nWorkBufSize    Working buffer size.
 | 
						|
*/
 | 
						|
RESULT GxGfx_Init(UINT32 *pWorkBuf, UINT32 nWorkBufSize);
 | 
						|
 | 
						|
/**
 | 
						|
     Uninitialize gfx.
 | 
						|
 | 
						|
     Uninitialize gfx.
 | 
						|
     @note Nothing.
 | 
						|
*/
 | 
						|
RESULT GxGfx_Exit(void);
 | 
						|
 | 
						|
/**
 | 
						|
     Reset working stack.
 | 
						|
 | 
						|
     Reset working stack.
 | 
						|
     @note The memory space is using working buffer.
 | 
						|
*/
 | 
						|
void GxGfx_ResetStack(void);
 | 
						|
 | 
						|
/**
 | 
						|
     Alloc space from stack.
 | 
						|
 | 
						|
     Alloc space from stack.
 | 
						|
     @note The memory space is using working buffer.
 | 
						|
 | 
						|
     @param[in] uiSize          Buffer size.
 | 
						|
     @return                    Buffer address.
 | 
						|
*/
 | 
						|
UINT32 *GxGfx_PushStack(UINT32 uiSize);
 | 
						|
 | 
						|
/**
 | 
						|
     Free space to stack.
 | 
						|
 | 
						|
     Free space to stack.
 | 
						|
     @note The memory space is using working buffer.
 | 
						|
*/
 | 
						|
void GxGfx_PopStack(void);
 | 
						|
 | 
						|
/**
 | 
						|
     Alloc DC from stack.
 | 
						|
 | 
						|
     Alloc DC from stack.
 | 
						|
     @note The memory space is using working buffer.
 | 
						|
 | 
						|
     @param[in,out] pDC         Pointer to DC.
 | 
						|
     @param[in] uiType          Type. (ex: TYPE_XXX).
 | 
						|
     @param[in] uiPxlfmt        Format (ex: PXLFMT_XXX).
 | 
						|
     @param[in] uiWidth         Buffer width (in pixels).
 | 
						|
     @param[in] uiHeight        Buffer height (in pixels).
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b GX_ERROR_TYPE:    Failed, not support format with this type.
 | 
						|
              GX_ERROR_FORMAT:  Failed, not support format.
 | 
						|
              GX_NULL_POINTER:  Failed, not given pDC pointer.
 | 
						|
              GX_NULL_BUF:      Failed, not enough memory space in stack.
 | 
						|
              GX_ERROR_SIZEZERO:  Failed, buffer size (width, height, pitch) is zero.
 | 
						|
              GX_ERROR_SIZEALIGN:  Failed, not match size align requirement.
 | 
						|
*/
 | 
						|
RESULT GxGfx_PushStackDC(DC *pDC, UINT16 uiType, UINT16 uiPxlfmt, UINT32 uiWidth, UINT32 uiHeight);
 | 
						|
 | 
						|
/**
 | 
						|
     Free DC to stack.
 | 
						|
 | 
						|
     Free DC to stack.
 | 
						|
     @note The memory space is using working buffer.
 | 
						|
 | 
						|
     @param[in,out] pDC         Pointer to DC.
 | 
						|
*/
 | 
						|
void GxGfx_PopStackDC(DC *pDC);
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
     Lock GxGfx resource.
 | 
						|
 | 
						|
     Font table,color mapping and index mapping resource should be access by 1 task.
 | 
						|
     Different task access should lock/unlock.
 | 
						|
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_Lock(void);
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
     Unlock GxGfx resource.
 | 
						|
 | 
						|
     Font table,color mapping and index mapping resource should be access by 1 task.
 | 
						|
     Different task access should lock/unlock.
 | 
						|
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_Unlock(void);
 | 
						|
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
//  function - set/get brush state and variable
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
/**
 | 
						|
     Get all brush state.
 | 
						|
 | 
						|
     Get all brush state.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] pBrush          Pointer to BRUSH.
 | 
						|
*/
 | 
						|
void GxGfx_GetAll(BRUSH *pBrush);
 | 
						|
 | 
						|
/**
 | 
						|
     Set all brush state.
 | 
						|
 | 
						|
     Set all brush state.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] pBrush          Pointer to BRUSH.
 | 
						|
*/
 | 
						|
void GxGfx_SetAll(const BRUSH *pBrush);
 | 
						|
 | 
						|
/**
 | 
						|
     Set all brush state to default.
 | 
						|
 | 
						|
     Set all brush state to default.
 | 
						|
     @note Nothing.
 | 
						|
*/
 | 
						|
void GxGfx_SetAllDefault(void);
 | 
						|
 | 
						|
/**
 | 
						|
     internal function.
 | 
						|
 | 
						|
     internal function.
 | 
						|
     @note User should not call this function.
 | 
						|
*/
 | 
						|
void BR_SetP(UINT8 uiBrush, BVALUE uiValue);
 | 
						|
 | 
						|
/**
 | 
						|
     internal function.
 | 
						|
 | 
						|
     internal function.
 | 
						|
     @note User should not call this function.
 | 
						|
*/
 | 
						|
BVALUE BR_GetP(UINT8 uiBrush);
 | 
						|
 | 
						|
/**
 | 
						|
     Set BRUSH state.
 | 
						|
 | 
						|
     Set BRUSH state.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] n         Property (ex: BR_XXX).
 | 
						|
     @param[in] p         value.
 | 
						|
*/
 | 
						|
//void   GxGfx_Set                (UINT8 uiProperty, BVALUE uiValue);
 | 
						|
#define GxGfx_Set(n, p)         BR_SetP(n, (BVALUE)(p))
 | 
						|
 | 
						|
/**
 | 
						|
     Get BRUSH state.
 | 
						|
 | 
						|
     Get BRUSH state.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] n               Property (ex: BR_XXX).
 | 
						|
     @return                    value.
 | 
						|
*/
 | 
						|
//BVALUE GxGfx_Get                (UINT8 uiProperty);
 | 
						|
#define GxGfx_Get(n)            BR_GetP(n)
 | 
						|
 | 
						|
/**
 | 
						|
     internal function.
 | 
						|
 | 
						|
     internal function.
 | 
						|
     @note User should not call this function.
 | 
						|
*/
 | 
						|
void VAR_SetV(UINT8 nVarId, BVALUE nValue);
 | 
						|
 | 
						|
/**
 | 
						|
     internal function.
 | 
						|
 | 
						|
     internal function.
 | 
						|
     @note User should not call this function.
 | 
						|
*/
 | 
						|
BVALUE VAR_GetV(UINT8 nVarId);
 | 
						|
 | 
						|
/**
 | 
						|
     Set variable.
 | 
						|
 | 
						|
     Set variable.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] n           variable Id.
 | 
						|
     @param[in] v           value.
 | 
						|
*/
 | 
						|
//void GxGfx_SetVar               (UINT8 nVarId, BVALUE nValue);
 | 
						|
#define GxGfx_SetVar(n, v)      VAR_SetV(n, (BVALUE)(v))
 | 
						|
 | 
						|
/**
 | 
						|
     Get variable.
 | 
						|
 | 
						|
     Get variable.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] n               variable Id (ex: BR_XXX).
 | 
						|
     @return                    value.
 | 
						|
*/
 | 
						|
//BVALUE GxGfx_GetVar             (UINT8 nVarId);
 | 
						|
#define GxGfx_GetVar(n)         VAR_GetV(n)
 | 
						|
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
//  function - set dc unit/origin/window/pos
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
/*
 | 
						|
Xfm Relation:
 | 
						|
Loc/Size -> Orig -> 0 -> Coord
 | 
						|
            Win  -> 0 -> Coord
 | 
						|
*/
 | 
						|
 | 
						|
/**
 | 
						|
     Set origin point of DC.
 | 
						|
 | 
						|
     Set origin point of DC.
 | 
						|
     @note Origin point is used to support transform (shift).
 | 
						|
 | 
						|
     @param[in,out] pDC         Pointer to DC.
 | 
						|
     @param[in] x               x of origin point.
 | 
						|
     @param[in] y               y of origin point.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_SetOrigin(DC *pDC, LVALUE x, LVALUE y);
 | 
						|
 | 
						|
/**
 | 
						|
     Get origin point of DC.
 | 
						|
 | 
						|
     Get origin point of DC.
 | 
						|
     @note Origin point is used to support transform (shift).
 | 
						|
 | 
						|
     @param[in,out] pDC         Pointer to DC.
 | 
						|
     @return                    Origin point.
 | 
						|
*/
 | 
						|
IPOINT GxGfx_GetOrigin(const DC *pDC);
 | 
						|
 | 
						|
/**
 | 
						|
     Set coordinate system of DC.
 | 
						|
 | 
						|
     Set coordinate system of DC.
 | 
						|
     @note Coordinate system is used to support transform (shift+scale).
 | 
						|
 | 
						|
     @param[in,out] pDC         Pointer to DC.
 | 
						|
     @param[in] vw              Virtual width.
 | 
						|
     @param[in] vh              Virtual height.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_SetCoord(DC *pDC, LVALUE vw, LVALUE vh);
 | 
						|
 | 
						|
/**
 | 
						|
     Set coordinate system of DC.
 | 
						|
 | 
						|
     Set coordinate system of DC.
 | 
						|
     @note Coordinate system is used to support transform (shift+scale).
 | 
						|
 | 
						|
     @param[in,out] pDC         Pointer to DC.
 | 
						|
     @param[in] vw              Virtual width.
 | 
						|
     @param[in] vh              Virtual height.
 | 
						|
     @param[in] rx              Real x (base on buffer coordinate).
 | 
						|
     @param[in] ry              Real y (base on buffer coordinate).
 | 
						|
     @param[in] rw              Real width (base on buffer coordinate).
 | 
						|
     @param[in] rh              Real height (base on buffer coordinate).
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_SetCoordEx(DC *pDC, LVALUE vw, LVALUE vh, LVALUE rx, LVALUE ry, LVALUE rw, LVALUE rh);
 | 
						|
 | 
						|
/**
 | 
						|
     Get coordinate system of DC.
 | 
						|
 | 
						|
     Get coordinate system of DC.
 | 
						|
     @note Coordinate system is used to support transform (shift+scale).
 | 
						|
 | 
						|
     @param[in,out] pDC         Pointer to DC.
 | 
						|
     @return                    Virtual width, height.
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
ISIZE GxGfx_GetCoord(const DC *pDC);
 | 
						|
 | 
						|
/**
 | 
						|
     Get coordinate system of DC.
 | 
						|
 | 
						|
     Get coordinate system of DC.
 | 
						|
     @note Coordinate system is used to support transform (shift+scale).
 | 
						|
 | 
						|
     @param[in,out] pDC         Pointer to DC.
 | 
						|
     @return                    Real x,y,width,height (base on buffer coordinate).
 | 
						|
*/
 | 
						|
IRECT GxGfx_GetCoordEx(const DC *pDC);
 | 
						|
 | 
						|
/**
 | 
						|
     Set clipping window of DC.
 | 
						|
 | 
						|
     Set clipping window of DC.
 | 
						|
     @note Clipping window is used to skip drawing action on non-crop range.
 | 
						|
 | 
						|
     @param[in,out] pDC         Pointer to DC.
 | 
						|
     @param[in] x1              Left of window.
 | 
						|
     @param[in] y1              Top of window.
 | 
						|
     @param[in] x2              Right of window.
 | 
						|
     @param[in] y2              Bottom of window.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_SetWindow(DC *pDC, LVALUE x1, LVALUE y1, LVALUE x2, LVALUE y2);
 | 
						|
 | 
						|
/**
 | 
						|
     Get clipping window of DC.
 | 
						|
 | 
						|
     Get clipping window of DC.
 | 
						|
     @note Clipping window is used to skip drawing action on non-crop range.
 | 
						|
 | 
						|
     @param[in,out] pDC         Pointer to DC.
 | 
						|
     @return                    The window
 | 
						|
*/
 | 
						|
IRECT GxGfx_GetWindow(const DC *pDC);
 | 
						|
 | 
						|
/**
 | 
						|
     Move cursor of DC to new location.
 | 
						|
 | 
						|
     Move cursor of DC to new location.
 | 
						|
     @note Each DC has an cursor to record last drawing location.
 | 
						|
 | 
						|
     @param[in,out] pDC         Pointer to DC.
 | 
						|
     @param[in] x               x of cursor.
 | 
						|
     @param[in] y               y of cursor.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_MoveTo(DC *pDC, LVALUE x, LVALUE y);
 | 
						|
 | 
						|
/**
 | 
						|
     Move cursor of DC to previous location.
 | 
						|
 | 
						|
     Move cursor of DC to previous location.
 | 
						|
     @note Each DC has an cursor to record last drawing location.
 | 
						|
 | 
						|
     @param[in,out] pDC         Pointer to DC.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_MoveBack(DC *pDC);
 | 
						|
 | 
						|
/**
 | 
						|
     Get cursor location of DC.
 | 
						|
 | 
						|
     Get cursor location of DC.
 | 
						|
     @note Each DC has an cursor to record last drawing location.
 | 
						|
 | 
						|
     @param[in,out] pDC         Pointer to DC.
 | 
						|
     @return                    Current location.
 | 
						|
*/
 | 
						|
IPOINT GxGfx_GetPos(const DC *pDC);
 | 
						|
 | 
						|
/**
 | 
						|
     Get last cursor movement of DC.
 | 
						|
 | 
						|
     Get last cursor movement of DC.
 | 
						|
     @note Each DC has an cursor to record last drawing location.
 | 
						|
 | 
						|
     @param[in,out] pDC         Pointer to DC.
 | 
						|
     @return                    Last movement (vector).
 | 
						|
*/
 | 
						|
ISIZE GxGfx_GetLastMove(const DC *pDC);
 | 
						|
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
//  function - clear/copy/convert dc
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
//dc clear/copy/convert
 | 
						|
/**
 | 
						|
     Clear DC.
 | 
						|
 | 
						|
     Clear DC to zero or black color.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] pDestDC     Pointer to destination DC.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_Clear(DC *pDestDC);
 | 
						|
 | 
						|
/**
 | 
						|
     Copy DC to another DC.
 | 
						|
 | 
						|
     Copy DC to another DC.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] pDestDC     Pointer to destination DC.
 | 
						|
     @param[in] pSrcDC          Pointer to source DC.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_Copy(DC *pDestDC, const DC *pSrcDC);
 | 
						|
 | 
						|
/**
 | 
						|
     Enhanced copy DC to another DC.
 | 
						|
 | 
						|
     Enhanced copy DC to another DC.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] pDestDC     Pointer to destination DC.
 | 
						|
     @param[in] pSrcDC          Pointer to source DC.
 | 
						|
     @param[in] uiRop           Raster OP.
 | 
						|
     @param[in] uiParam         Raster parameter.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_CopyEx(DC *pDestDC, const DC *pSrcDC, UINT32 uiRop, UINT32 uiParam);
 | 
						|
 | 
						|
/**
 | 
						|
     Convert DC format to another DC format.
 | 
						|
 | 
						|
     Convert DC format to another DC format.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] pDestDC     Pointer to destination DC.
 | 
						|
     @param[in] pSrcDC          Pointer to source DC.
 | 
						|
     @param[in] pConvertTable   Reference convert table.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_Convert(DC *pDestDC, const DC *pSrcDC, const void *pConvertTable);
 | 
						|
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
//  function - draw shape on dc
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
/**
 | 
						|
     Set shape stroke.
 | 
						|
 | 
						|
     Set shape stroke: line style and fill scale.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] uiLineStyle     Line style. (ex: LINESTYLE_XXX|LINEBRUSH_XXX|LINEWEIGHT(n))
 | 
						|
     @param[in] uiFillStyle     Fill style (ex: FILLSTYLE_XXX).
 | 
						|
*/
 | 
						|
void GxGfx_SetShapeStroke(BVALUE uiLineStyle, BVALUE uiFillStyle);
 | 
						|
 | 
						|
/**
 | 
						|
     Set shape color.
 | 
						|
 | 
						|
     Set shape color: fore-color, back-color and index mapping table.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] uiForeColor     Fore-color (ex: index color or y-cb-cr color).
 | 
						|
     @param[in] uiBackColor     Back-color (ex: index color or y-cb-cr color).
 | 
						|
     @param[in] pTable          Index mapping table.
 | 
						|
*/
 | 
						|
void GxGfx_SetShapeColor(BVALUE uiForeColor, BVALUE uiBackColor, const MAPPING_ITEM *pTable);
 | 
						|
 | 
						|
/**
 | 
						|
     Set shape layout.
 | 
						|
 | 
						|
     Set shape layout: shape layout, shape alignment.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] uiLayout        Shape layout (ex: LAYOUT_XXX). (TODO)
 | 
						|
     @param[in] uiAlignment     Shape alignment (ex: ALIGN_XXX). (TODO)
 | 
						|
*/
 | 
						|
void GxGfx_SetShapeLayout(BVALUE uiLayout, BVALUE uiAlignment);
 | 
						|
 | 
						|
/**
 | 
						|
     Draw point shape to DC.
 | 
						|
 | 
						|
     Draw point shape to DC.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] pDestDC     Pointer to DC.
 | 
						|
     @param[in] x               x of point.
 | 
						|
     @param[in] y               y of point.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_Point(DC *pDestDC, LVALUE x, LVALUE y);
 | 
						|
 | 
						|
/**
 | 
						|
     Draw line shape to DC.
 | 
						|
 | 
						|
     Draw line shape to DC.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] pDestDC     Pointer to DC.
 | 
						|
     @param[in] x1              x of start point.
 | 
						|
     @param[in] y1              y of start point.
 | 
						|
     @param[in] x2              x of end point.
 | 
						|
     @param[in] y2              y of end point.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_Line(DC *pDestDC, LVALUE x1, LVALUE y1, LVALUE x2, LVALUE y2);
 | 
						|
 | 
						|
/**
 | 
						|
     Draw line shape to DC. (from last cursor)
 | 
						|
 | 
						|
     Draw line shape to DC. (from last cursor)
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] pDestDC     Pointer to DC.
 | 
						|
     @param[in] x               x of end point.
 | 
						|
     @param[in] y               y of end point.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_LineTo(DC *pDestDC, LVALUE x, LVALUE y);
 | 
						|
 | 
						|
/**
 | 
						|
     Draw fill-only rectangle shape to DC.
 | 
						|
 | 
						|
     Draw fill-only rectangle shape to DC.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] pDestDC     Pointer to DC.
 | 
						|
     @param[in] x1              x of start point.
 | 
						|
     @param[in] y1              y of start point.
 | 
						|
     @param[in] x2              x of end point.
 | 
						|
     @param[in] y2              y of end point.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_FillRect(DC *pDestDC, LVALUE x1, LVALUE y1, LVALUE x2, LVALUE y2);
 | 
						|
 | 
						|
/**
 | 
						|
     Draw frame-only rectangle shape to DC.
 | 
						|
 | 
						|
     Draw frame-only rectangle shape to DC.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] pDestDC     Pointer to DC.
 | 
						|
     @param[in] x1              x of start point.
 | 
						|
     @param[in] y1              y of start point.
 | 
						|
     @param[in] x2              x of end point.
 | 
						|
     @param[in] y2              y of end point.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_FrameRect(DC *pDestDC, LVALUE x1, LVALUE y1, LVALUE x2, LVALUE y2);
 | 
						|
 | 
						|
/**
 | 
						|
     Draw color-inverted rectangle shape to DC.
 | 
						|
 | 
						|
     Draw color-inverted rectangle shape to DC.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] pDestDC     Pointer to DC.
 | 
						|
     @param[in] x1              x of start point.
 | 
						|
     @param[in] y1              y of start point.
 | 
						|
     @param[in] x2              x of end point.
 | 
						|
     @param[in] y2              y of end point.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
//RESULT GxGfx_InvertRect         (DC* pDestDC, LVALUE x1, LVALUE y1, LVALUE x2, LVALUE y2);
 | 
						|
 | 
						|
/**
 | 
						|
     Draw font-connverted to DC.
 | 
						|
 | 
						|
     Draw rectangle _pSrcDC to _pDestDC to do font-connverted.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] _pDestDC     Pointer to destination DC.
 | 
						|
     @param[in,out] _pSrcDC     Pointer to source DC.
 | 
						|
     @param[in] pColorTable     Pointer of palette table.
 | 
						|
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_ConvertFont(DC *_pDestDC,  const DC *_pSrcDC, const PALETTE_ITEM *pColorTable);
 | 
						|
 | 
						|
/**
 | 
						|
     Draw rectangle shape to DC.
 | 
						|
 | 
						|
     Draw rectangle shape to DC.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] pDestDC     Pointer to DC.
 | 
						|
     @param[in] x1              x of start point.
 | 
						|
     @param[in] y1              y of start point.
 | 
						|
     @param[in] x2              x of end point.
 | 
						|
     @param[in] y2              y of end point.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_Rectangle(DC *pDestDC, LVALUE x1, LVALUE y1, LVALUE x2, LVALUE y2);
 | 
						|
 | 
						|
/**
 | 
						|
     Draw rectangle shape to DC. (from last cursor)
 | 
						|
 | 
						|
     Draw rectangle shape to DC. (from last cursor)
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] pDestDC     Pointer to DC.
 | 
						|
     @param[in] x               x of end point.
 | 
						|
     @param[in] y               y of end point.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_RectTo(DC *pDestDC, LVALUE x, LVALUE y);              //like GxGfx_Rectangle()
 | 
						|
 | 
						|
/**
 | 
						|
     Draw ellipse shape to DC.
 | 
						|
 | 
						|
     Draw ellipse shape to DC.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] pDestDC     Pointer to DC.
 | 
						|
     @param[in] x1              x of start point.
 | 
						|
     @param[in] y1              y of start point.
 | 
						|
     @param[in] x2              x of end point.
 | 
						|
     @param[in] y2              y of end point.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_Ellipse(DC *pDestDC, LVALUE x1, LVALUE y1, LVALUE x2, LVALUE y2);
 | 
						|
 | 
						|
/**
 | 
						|
     Draw round-conner rectangle shape to DC.
 | 
						|
 | 
						|
     Draw round-conner rectangle shape to DC.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] pDestDC     Pointer to DC.
 | 
						|
     @param[in] x1              x of start point.
 | 
						|
     @param[in] y1              y of start point.
 | 
						|
     @param[in] x2              x of end point.
 | 
						|
     @param[in] y2              y of end point.
 | 
						|
     @param[in] rw              Diameter of x of round-conner.
 | 
						|
     @param[in] rh              Diameter of y of round-conner.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_RoundRect(DC *pDestDC, LVALUE x1, LVALUE y1, LVALUE x2, LVALUE y2, LVALUE rw, LVALUE rh);
 | 
						|
 | 
						|
//NOT SUPPORT ANY MORE!
 | 
						|
//RESULT GxGfx_ShapeInRect        (DC* pDestDC, LVALUE x1, LVALUE y1, LVALUE x2, LVALUE y2, UINT8 uiShapeType);
 | 
						|
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
//  function - draw image on dc
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
/**
 | 
						|
     Set image stroke.
 | 
						|
 | 
						|
     Set image stroke: raster OP and related parameter.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] uiRop           Raster OP (ex: ROP_XXX or ROP_XXX|SRC_XXX or ROP_XXX|OUT_XXX or ROP_XXX|FILTER_XXX).
 | 
						|
     @param[in] uiParam         Parameter.
 | 
						|
*/
 | 
						|
void GxGfx_SetImageStroke(BVALUE uiRop, BVALUE uiParam);
 | 
						|
 | 
						|
/**
 | 
						|
     Set text color.
 | 
						|
 | 
						|
     Set text color: color palette and index mapping table.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] pPalette        Color palette.
 | 
						|
     @param[in] pTable          Index mapping table.
 | 
						|
*/
 | 
						|
void GxGfx_SetImageColor(const PALETTE_ITEM *pPalette, const MAPPING_ITEM *pTable);
 | 
						|
 | 
						|
/**
 | 
						|
     Set image layout.
 | 
						|
 | 
						|
     Set image layout: image layout, image alignment.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] uiLayout        Image layout (ex: LAYOUT_XXX).
 | 
						|
     @param[in] uiAlignment     Image alignment (ex: ALIGN_XXX).
 | 
						|
*/
 | 
						|
void GxGfx_SetImageLayout(BVALUE uiLayout, BVALUE uiAlignment);
 | 
						|
 | 
						|
/**
 | 
						|
     Set image current IMAGE_TABLE.
 | 
						|
 | 
						|
     Set image current IMAGE_TABLE.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] pTable          Text IMAGE_TABLE resource.
 | 
						|
*/
 | 
						|
void GxGfx_SetImageTable(const IMAGE_TABLE *pTable);
 | 
						|
 | 
						|
/**
 | 
						|
     Get image size from current IMAGE_TABLE.
 | 
						|
 | 
						|
     Get image size from current IMAGE_TABLE.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] img_id          Image id.
 | 
						|
     @param[out] pImageSize     Size w,h of this image.
 | 
						|
     @return                    Image of current IMAGE_TABLE with given id.
 | 
						|
*/
 | 
						|
RESULT GxGfx_GetImageIDSize(IVALUE img_id, ISIZE *pImageSize);     //(refe to current IMAGE_TABLE)
 | 
						|
 | 
						|
/**
 | 
						|
     Get image from current IMAGE_TABLE.
 | 
						|
 | 
						|
     Get image from current IMAGE_TABLE.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] img_id          Image id.
 | 
						|
     @return                    Image of current IMAGE_TABLE with given id.
 | 
						|
*/
 | 
						|
const IMAGE *GxGfx_GetImageID(IVALUE img_id);
 | 
						|
 | 
						|
/**
 | 
						|
     Get sub-image from current IMAGE_TABLE.
 | 
						|
 | 
						|
     Get sub-image from current IMAGE_TABLE.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] img_id          Image id.
 | 
						|
     @param[in] x1              Left of sub-image rectangle (base on image coordinate).
 | 
						|
     @param[in] y1              Top of sub-image rectangle (base on image coordinate).
 | 
						|
     @param[in] x2              Right of sub-image rectangle (base on image coordinate).
 | 
						|
     @param[in] y2              Bottom of sub-image rectangle (base on image coordinate).
 | 
						|
     @return                    Image of current IMAGE_TABLE with given id.
 | 
						|
*/
 | 
						|
const IMAGE *GxGfx_GetImageIDEx(IVALUE img_id, LVALUE x1, LVALUE y1, LVALUE x2, LVALUE y2);
 | 
						|
 | 
						|
/**
 | 
						|
     Draw image to DC.
 | 
						|
 | 
						|
     Draw image to DC.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] pDestDC     Pointer to DC.
 | 
						|
     @param[in] x               x of Left-Top point.
 | 
						|
     @param[in] y               y of Left-Top point.
 | 
						|
     @param[in] pImage          Pointer to image resource.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_Image(DC *pDestDC, LVALUE x, LVALUE y, const IMAGE *pImage);
 | 
						|
 | 
						|
/**
 | 
						|
     Draw scaling image to DC.
 | 
						|
 | 
						|
     Draw scaling image to DC.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] pDestDC     Pointer to DC.
 | 
						|
     @param[in] x               x of Left-Top point.
 | 
						|
     @param[in] y               y of Left-Top point.
 | 
						|
     @param[in] w               Width of scaling image.
 | 
						|
     @param[in] h               Height of scaling image.
 | 
						|
     @param[in] pImage          Pointer to image resource.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_ImageScale(DC *pDestDC, LVALUE x, LVALUE y, LVALUE w, LVALUE h, const IMAGE *pImage);
 | 
						|
 | 
						|
/**
 | 
						|
     Draw image inside rectangle to DC.
 | 
						|
 | 
						|
     Draw image inside rectangle to DC.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] pDestDC     Pointer to DC.
 | 
						|
     @param[in] x1              x of start point.
 | 
						|
     @param[in] y1              y of start point.
 | 
						|
     @param[in] x2              x of end point.
 | 
						|
     @param[in] y2              y of end point.
 | 
						|
     @param[in] pImage          Pointer to image resource.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_ImageInRect(DC *pDestDC, LVALUE x1, LVALUE y1, LVALUE x2, LVALUE y2, const IMAGE *pImage);
 | 
						|
 | 
						|
/**
 | 
						|
     Draw scaling image inside rectangle to DC.
 | 
						|
 | 
						|
     Draw scaling image inside rectangle to DC.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] pDestDC     Pointer to DC.
 | 
						|
     @param[in] x1              x of start point.
 | 
						|
     @param[in] y1              y of start point.
 | 
						|
     @param[in] x2              x of end point.
 | 
						|
     @param[in] y2              y of end point.
 | 
						|
     @param[in] w               Width of scaling image.
 | 
						|
     @param[in] h               Height of scaling image.
 | 
						|
     @param[in] pImage          Pointer to image resource.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_ImageScaleInRect(DC *pDestDC, LVALUE x1, LVALUE y1, LVALUE x2, LVALUE y2, LVALUE w, LVALUE h, const IMAGE *pImage);
 | 
						|
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
//  function - draw text on dc
 | 
						|
//--------------------------------------------------------------------------------------
 | 
						|
/**
 | 
						|
     Set text stroke.
 | 
						|
 | 
						|
     Set text stroke: current FONT, font style and font scale.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] pFont           Text FONT resource.
 | 
						|
     @param[in] uiFontStyle     Style (ex: FONTSTYLE_XXX).
 | 
						|
     @param[in] uiScale         Scale (ex: SCALE_XXX).
 | 
						|
*/
 | 
						|
void GxGfx_SetTextStroke(const FONT *pFont, BVALUE uiFontStyle, BVALUE uiScale);
 | 
						|
 | 
						|
/**
 | 
						|
     Set text color.
 | 
						|
 | 
						|
     Set text color: font fore-color1, fore-color2 and fore-color3.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] uiForeColor1     Fore-color1 (ex: index color or y-cb-cr color).
 | 
						|
     @param[in] uiForeColor2     Fore-color2 (ex: index color or y-cb-cr color).
 | 
						|
     @param[in] uiForeColor3     Fore-color3 (ex: index color or y-cb-cr color).
 | 
						|
*/
 | 
						|
void GxGfx_SetTextColor(BVALUE uiForeColor1, BVALUE uiForeColor2, BVALUE uiForeColor3);
 | 
						|
 | 
						|
/**
 | 
						|
     Set text color mapping.
 | 
						|
 | 
						|
     Set text color mapping,according font format.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] pColorTabl     color mapping table.
 | 
						|
*/
 | 
						|
 | 
						|
void GxGfx_SetTextColorMapping(const PALETTE_ITEM* pColorTabl);
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
     Get text color mapping.
 | 
						|
 | 
						|
     Get text color mapping,according font format.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @return      current color mapping table.
 | 
						|
*/
 | 
						|
 | 
						|
PALETTE_ITEM* GxGfx_GetTextColorMapping(void);
 | 
						|
 | 
						|
/**
 | 
						|
     Set text layout.
 | 
						|
 | 
						|
     Set text layout: text layout, text alignment, line height, character space and ident space.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] uiLayout        Text layout (ex: LAYOUT_XXX).
 | 
						|
     @param[in] uiAlignment     Text alignment (ex: ALIGN_XXX).
 | 
						|
     @param[in] lh              Line height (in pixels, 0=current font height).
 | 
						|
     @param[in] cs              Character space (in pixels).
 | 
						|
     @param[in] is              Ident space (in pixels)(TODO).
 | 
						|
*/
 | 
						|
void GxGfx_SetTextLayout(BVALUE uiLayout, BVALUE uiAlignment, BVALUE lh, BVALUE cs, BVALUE is);
 | 
						|
 | 
						|
/**
 | 
						|
     Set text current STRING_TABLE.
 | 
						|
 | 
						|
     Set text current STRING_TABLE.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] pTable          Text STRING_TABLE resource.
 | 
						|
*/
 | 
						|
void GxGfx_SetStringTable(const STRING_TABLE *pTable);
 | 
						|
 | 
						|
/**
 | 
						|
     Get font average size.
 | 
						|
 | 
						|
     Get font average size.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[out] pFontSize      Get average character size w,h of current FONT.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_GetFontSize(ISIZE *pFontSize);
 | 
						|
 | 
						|
/**
 | 
						|
     Get font character size.
 | 
						|
 | 
						|
     Get font character size.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] chr_id          Character id.
 | 
						|
     @param[out] pCharSize      Get given character size w,h of current FONT.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_GetFontCharSize(IVALUE chr_id, ISIZE *pCharSize);
 | 
						|
 | 
						|
/**
 | 
						|
     Get string from current STRING_TABLE.
 | 
						|
 | 
						|
     Get string from current STRING_TABLE.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in] str_id          String id.
 | 
						|
     @return                    String of current STRING_TABLE with given id.
 | 
						|
*/
 | 
						|
const TCHAR *GxGfx_GetStringID(IVALUE str_id);
 | 
						|
 | 
						|
/**
 | 
						|
     Draw character to DC.
 | 
						|
 | 
						|
     Draw character to DC.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] pDestDC     Pointer to DC.
 | 
						|
     @param[in] x               x of Left-Top point.
 | 
						|
     @param[in] y               y of Left-Top point.
 | 
						|
     @param[in] id              Character id (of current FONT).
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_Char(DC *pDestDC, LVALUE x, LVALUE y, IVALUE id);
 | 
						|
 | 
						|
/**
 | 
						|
     Draw text to DC.
 | 
						|
 | 
						|
     Draw text to DC.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] pDestDC     Pointer to DC.
 | 
						|
     @param[in] x               x of Left-Top point.
 | 
						|
     @param[in] y               y of Left-Top point.
 | 
						|
     @param[in] pszSrc          Pointer to string resource.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_Text(DC *pDestDC, LVALUE x, LVALUE y, const TCHAR *pszSrc);                //no ESC command (fast)
 | 
						|
 | 
						|
/**
 | 
						|
     Draw text to DC. (with printf format)
 | 
						|
 | 
						|
     Draw text to DC. (with printf format)
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] pDestDC     Pointer to DC.
 | 
						|
     @param[in] x               x of Left-Top point.
 | 
						|
     @param[in] y               y of Left-Top point.
 | 
						|
     @param[in] pszSrc          Pointer to string resource.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_TextPrint(DC *pDestDC, LVALUE x, LVALUE y, const TCHAR *pszSrc, ...);           //no ESC command (fast)
 | 
						|
 | 
						|
/**
 | 
						|
     Draw text inside rectangle to DC.
 | 
						|
 | 
						|
     Draw text inside rectangle to DC.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] pDestDC     Pointer to DC.
 | 
						|
     @param[in] x1              x of start point.
 | 
						|
     @param[in] y1              y of start point.
 | 
						|
     @param[in] x2              x of end point.
 | 
						|
     @param[in] y2              y of end point.
 | 
						|
     @param[in] pszSrc          Pointer to string resource.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_TextInRect(DC *pDestDC, LVALUE x1, LVALUE y1, LVALUE x2, LVALUE y2, const TCHAR *pszSrc);          //support ESC command
 | 
						|
 | 
						|
/**
 | 
						|
     Draw text inside rectangle to DC. (with printf format)
 | 
						|
 | 
						|
     Draw text inside rectangle to DC. (with printf format)
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @param[in,out] pDestDC     Pointer to DC.
 | 
						|
     @param[in] x1              x of start point.
 | 
						|
     @param[in] y1              y of start point.
 | 
						|
     @param[in] x2              x of end point.
 | 
						|
     @param[in] y2              y of end point.
 | 
						|
     @param[in] pszSrc          Pointer to string resource.
 | 
						|
     @return
 | 
						|
         - @b GX_OK:            Successed
 | 
						|
         - @b Other:            Failed.
 | 
						|
*/
 | 
						|
RESULT GxGfx_TextPrintInRect(DC *pDestDC, LVALUE x1, LVALUE y1, LVALUE x2, LVALUE y2, const TCHAR *pszSrc, ...);     //support ESC command
 | 
						|
 | 
						|
/**
 | 
						|
     Get last text location.
 | 
						|
 | 
						|
     Get last text location.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @return                    Last text location
 | 
						|
*/
 | 
						|
IPOINT GxGfx_GetTextLastLoc(void);
 | 
						|
 | 
						|
/**
 | 
						|
     Get last text size.
 | 
						|
 | 
						|
     Get last text size.
 | 
						|
     @note Nothing.
 | 
						|
 | 
						|
     @return                    Last text size
 | 
						|
*/
 | 
						|
ISIZE GxGfx_GetTextLastSize(void);
 | 
						|
 | 
						|
//@}
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
} //extern "C"
 | 
						|
#endif
 | 
						|
 | 
						|
#endif //_GX_GRAPHICS_H_
 |