displaydrv.h

来自「logic display driver」· C头文件 代码 · 共 132 行

H
132
字号
/*
@internal
@file	 DisplayDrv.h
Author: xieqin
Date: 2006-08-03
Dsc: Display Driver
-------------------------------------------------------------------------*/

#ifndef _DISPLAY_DRV_H_
#define _DISPLAY_DRV_H_

#if !defined( __LCD_PIXEL_W )  
#error Not defined macro __LCD_PIXEL_W ( lcd pixel width ) in cc.opt file
#endif
#if !defined( __LCD_PIXEL_W ) 
#error Not defined macro __LCD_PIXEL_W ( lcd pixel width ) in cc.opt file
#endif

#if !defined( __LCD_ROTATE_ANGLE )
#error Not defined macro  __LCD_ROTATE_ANGLE  in cc.opt file
#endif

#if ( __LCD_ROTATE_ANGLE == 90 ) || ( __LCD_ROTATE_ANGLE == 270 )
#define PIXELSCREEN_W  ( __LCD_PIXEL_H )
#define PIXELSCREEN_H  ( __LCD_PIXEL_W )
#else
#define PIXELSCREEN_W   ( __LCD_PIXEL_W )
#define PIXELSCREEN_H   ( __LCD_PIXEL_H )
#endif

#define FONT_W 16
#define FONT_H 16

#define HZ_MODE_SIZE (( ( FONT_W + 7L ) >> 3 ) * FONT_H )

typedef struct{
   INT16 x;
   INT16 y;
   UINT16 w;
   UINT16 h;
}	UHRECT, *PUHRECT, OSFRect;

typedef struct{
	UINT32 w;
	UINT32 h;
	UINT32 bits;
	UINT32 offset;
}BMP_BIN_INFO;  /* BMP资源信息结构 */

typedef struct{
   UINT16 w;                    
   UINT16 h;                   
   UINT8 bitsPerPixel;                     
   const UINT8 *pixels;         
}OSFBitmap;


#define	COLOR_RED  		0xf800
#define COLOR_GREEN  	0x07e0
#define COLOR_BLUE  	0x001f
#define COLOR_WHITE		0xffff
#define COLOR_BLACK 	0x0000

#define COLOR_DEFAULT  COLOR_BLACK

#if defined( __HZK_START_ADD )
#define HZK_BASE_ADD_ON_FLASH ( __HZK_START_ADD ) /* FLASH的第64K之后的256K */	 /* 预先烧入的汉字库在 Nor Flash中的位置 */
#else
#error  Not defined macro ( __HZK_START_ADD ) in cc.opt
#endif

#if defined( __PICTURE_START_ADD )
#define BMP_SOURCE_INFO_START_ADD (__PICTURE_START_ADD )
#define BMP_SOURCE_DATA_START_ADD ( BMP_SOURCE_INFO_START_ADD + 4 * 1024 )
#else
#error	Not defined macro ( __PICTURE_START_ADD ) in cc.opt
#endif


extern void BitmapResourceInit( void );
extern OSFBitmap BitmapCreateFromResource( UINT16 resourceID );
extern UINT32 BitmapGetNums( void );
extern BMP_BIN_INFO* BitmapGetInfo( void );

/************************************************************/

typedef struct{
   void *pLogicScreen;
   UINT16 LogicScreenWidth;
   UINT16 LogicScreenHigh;      
} DisplayDef;

typedef struct{
	INT16 x;
	INT16 y;	
}OSFPos;

typedef struct{
	UINT16 W;
	UINT16 H;
}OSFFont;

extern DisplayDef* DisplayDrvGetDrv( void );

extern OSFFont* DisplayDrvGetFont( void );

extern void DisplayDrvDrawString( OSFPos* pPos, const char* str, UINT16 Color, OSFFont* pFont, const DisplayDef * disDrv );	

extern void DisplayDrvDrawOneChinese(OSFPos* pPos, UINT8* hzkSource, UINT16 fontColor , OSFFont* pFont ,const DisplayDef * disDrv );

extern void DisplayDrvDrawPixel( OSFPos * pPos, UINT16 Color,  DisplayDef * disDrv );

extern void DisplayDrvDrawLine( OSFPos *pStartPos, OSFPos *pEndPos, UINT16 Color,  DisplayDef * disDrv );

extern  void DisplayDrvDrawHorizontalLine( UINT16 sx, UINT16 ex, UINT16 y, UINT16 Color, DisplayDef * disDrv );

extern  void DisplayDrvDrawVerticalLine( UINT16 sy, UINT16 ey, UINT16 x, UINT16 Color, DisplayDef * disDrv );

extern void DisplayDrvDrawRect( OSFRect* pRect, UINT32 frameColor , UINT16 frameWidth, UINT32 fillColor, DisplayDef * DispDrv );

extern void DisplayDrvDrawCircle( OSFPos *pCenter, UINT16 r , UINT32 frameColor , UINT32 fillColor, DisplayDef * DispDrv );

extern void DisplayDrvDrawEllipse(	UHRECT * rect, UINT32 frameColor , UINT32 fillColor, DisplayDef * DispDrv );

extern void DisplayDrvDrawBitmap( OSFPos* pPos, OSFBitmap* pBitmap , DisplayDef * DispDrv );

extern void PrintScreen ( INT16 x, INT16 y , UINT16 Color, char *fmt,... );

extern void DisplayDrvDrawBK( UINT16 Color );

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?