📄 ghal.h
字号:
#ifndef __NANA_GHAL_H__
#define __NANA_GHAL_H__
#ifdef __cplusplus /* Insert start of extern C construct */
extern "C" {
#endif
typedef unsigned int COLOR;
#define SETRGB(r,g,b) ((r<<16) | (g<<8) | (b))
typedef struct _NANA_BITMAP_
{
int biWidth; //位图宽度,以像素为单位
int biHeight; //位图高度,以像素为单位
int biBitCount; //位图每像素位数,有几种
//1:黑白
//4:16色
//8:256色
//16:16位真彩
//24:24位真彩
//32:32位真彩
//每个底层显示驱动可以选择支持哪种位图,不一定要全部支持
COLOR biColorMask;//屏蔽颜色用来去掉背景色
int biReverseColor;//是否反色,反色的含义是对每个颜色分量<实际亮度>=<最大亮度>-<pData中的亮度>
unsigned char * pData; //指向实际的位图像素,格式是固定的:
//<Pixel 0,0> <Pixel 1,0>..... <Pixel x-1,0>
//<Pixel 0,1> <Pixel 1,1>..... <Pixel x-1,1>
//...
//<Pixel 0,y-1> <Pixel 1,y-1>..... <Pixel x-1,y-1>
//
//每个Pixel的存储格式根据biBitCount的不同有不同,但是均为8位对齐的:
//例如单色位图宽度为1~7的时候,总是要占1个字节来保存一行的点阵
//而单色位图宽度为9~15的时候,总是要占2个字节来保存一行的点阵
//这是为了一行的数据字节对齐
}NANA_BITMAP,*PNANA_BITMAP;
//定义颜色 RGB(r,g,b)
//画点 put_pixel(x,y,color)
//画线 put_line(x1,y1,x2,y2,color)
//画位图 put_bmp(bmp)
/*
typedef void (*FP_nana_GHAL_put_pixel)(int x,int y,COLOR color);
typedef void (*FP_nana_GHAL_put_line)(int x1,int y1,int x2,int y2,COLOR color);
typedef void (*FP_nana_GHAL_put_bmp)(int x1,int y1,PNANA_BITMAP pbmp);
typedef struct _NANA_GHAL_
{
FP_nana_GHAL_put_pixel put_pixel;
FP_nana_GHAL_put_line put_line;
FP_nana_GHAL_put_bmp put_bmp;
}NANA_GHAL;
*/
#define SCREEN_WIDTH 320
#define SCREEN_HEIGHT 240
void GHAL_put_pixel(int x,int y,COLOR color);
void GHAL_put_line(int x1,int y1,int x2,int y2,COLOR color);
void GHAL_put_bmp(int x1,int y1,PNANA_BITMAP pbmp);
void GHAL_RefreshAll(void);
#ifdef __cplusplus /* Insert start of extern C construct */
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -