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 + -
显示快捷键?