📄 bbgui.h
字号:
//--------------------------------------------------------------
//蓝宇科技,版权所有
//作者:赵崇伟
//V1.0~V2.2:
// 用于PCM3486
//V3.0: 2006-4-1,赵崇伟
// 用于PCM3486E
// 新增函数:LcdSetMode(color,size,clk)//设置显示方式
// 色彩数据类型由8位char型改为16位int型
//--------------------------------------------------------------
#ifdef __cplusplus
extern "C" {
#endif
#ifndef __GUI_H
#define __GUI_H
#define GUI_CHAR_BMP //使用优化显示字符函数,,注意当像素小于1个字节时,坐标须对齐字节边界
//#define GUI_SWAP_XY //纵横坐标交换
#include "BBstn.h" //BBPC4X86配套显卡
#include "dots.h"
//***************************************************************************************************
//用户自定义自符库相关变量,由用户自行设置。注意防止野指针
//用户自定义软字符库
#define Guifpmirouser Dotfpmirouser //用户自定义字符库
#define Guimirouser_x Dotmirouser_x //字符字体宽度
#define Guimirouser_y Dotmirouser_y //字符字体高度
//用户自定义硬汉字库
#define Guihzkwin hzkwin //硬字库所在flash起始窗口号,一般=27*4
#define Guihzkuser_x hzkuser_x //汉字字体宽度
#define Guihzkuser_y hzkuser_y //汉字字体宽度
//用户自定义硬字符库
#define Guizfkwin zfkwin //硬字库所在flash起始窗口号,一般=27*4
//****************************************************************************************************
#define GuiRegWin LcdRegWin //当前操作页窗口寄存器值
#define GuiRegPage LcdRegPage //当前操作页面寄存器值
#define GuiRegActivePage LcdRegActivePage //当前活动页面寄存器值
#define Gui_BPP LCD_BPP //像素位数
#define GuiSetMode(color,size,clk) LcdSetMode(color,size,clk)//设置显示方式
#define GuiWaitFrame() LcdWaitFrame() //等待当前桢扫描结束
#define GuiSetPage(page) LcdSetPage(page) //设置当前操作页
#define GuiSetActive(page) LcdSetActive(page) //设置当前活动页
#define GuiSetWin(win) LcdSetWin(win) //设置当前窗口号
#define GuiXmsWin(win) XmsSetWin(win) //设置当前xms窗口号
#define GuiXmsWrite(address,data) XmsWrite(address,data) //写1字节
#define GuiXmsRead(address) XmsRead(address) //读1字节
#define GuiXmsWriteString(address,len,str) XmsWriteString(address,len,str)
#define GuiXmsReadString(address,len,str) XmsReadString(address,len,str)
#define GuiXmsSetBaseWin(win) XmsSetBaseWin(win) //设置XMS起始窗口
#define GuiPalSet(index,colorR5G5B5) LcdPalSet(index,colorR5G5B5) //设置硬件调色板
#define GuiOn() LcdOn() //允许液晶显示
#define GuiOff() LcdOff() //关闭液晶显示
#define GuiSetHzFont(Font) DotSetHzFont(Font) //设置汉字字体
#define GuiSetZfFont(Font) DotSetZfFont(Font) //设置字符字体
#define GuiGetDots(pucCode,fpDotsBuf,pwidth,high) DotGetDots(pucCode,fpDotsBuf,pwidth,high)//取字符点阵
#define GuiColor(rgb) LcdColor(rgb)//真彩色转换到256色
#define GuiRGB(color) LcdRGB(color)//256色转换到真彩色
#define GuiSetPaltte(index,rgb) LcdSetPaltte(index,rgb)//设置软件调色板项
#define GuiInitPaltte() LcdInitPaltte() //初始化软件调色板
#define GuiPalette LcdPalette //软件调色板表,共计256项,索引转换到256色
#define GuiPaleTab LcdPaleTab //标准调色板真彩色表,共计256项
#define GuiIndex LcdIndex //256色转换到索引表,共计256项
#ifdef GUI_SWAP_XY //纵横坐标交换
#define GUI_WIDTH lcd_high
#define GUI_HIGTH lcd_width
#define GuiPixelRead(x,y) LcdPixelRead(y,x) //读像素
#define GuiPixel(x,y,color) LcdPixel(y,x,color) //画像素
#define GuiPixelXor(x,y,color) LcdPixelXor(y,x,color) //xor画像素
#define GuiPixelOr(x,y,color) LcdPixelOr(y,x,color) //or画像素
#define GuiPixelAnd(x,y,color) LcdPixelAnd(y,x,color) //and画像素
#define GuiPixelNot(x,y) LcdPixelNot(y,x) //not画像素
#define GuiPixelAlpha(x,y,color,alpha) LcdPixelAlpha(y,x,color,alpha) //透明画像素
#define GuiBox(left,top,right,bottom,color) GuiBoxLine(top,left,bottom,right,color) //画矩形
#define GuiBoxXor(left,top,right,bottom,color) GuiBoxLineXor(top,left,bottom,right,color) //xor画矩形
#define GuiBoxOr(left,top,right,bottom,color) GuiBoxLineOr(top,left,bottom,right,color) //or画矩形
#define GuiBoxAnd(left,top,right,bottom,color) GuiBoxLineAnd(top,left,bottom,right,color) //and画矩形
#define GuiBoxNot(left,top,right,bottom) GuiBoxLineNot(top,left,bottom,right) //not画矩形
#define GuiBoxAlpha(left,top,right,bottom,color,alpha) GuiBoxLineAlpha(top,left,bottom,right,color,alpha) //透明画矩形
#define GuiCircle(x0,y0,r,color) GuiCirclePixel(y0,x0,r,color) //画圆
#define GuiCircleAnd(x0,y0,r,color) GuiCirclePixelAnd(y0,x0,r,color) //and画圆
#define GuiCircleOr(x0,y0,r,color) GuiCirclePixelOr(y0,x0,r,color) //or画圆
#define GuiCircleXor(x0,y0,r,color) GuiCirclePixelXor(y0,x0,r,color) //xor画圆
#define GuiCircleNot(x0,y0,r) GuiCirclePixelNot(y0,x0,r) //not画圆
#define GuiCircleAlpha(x0,y0,r,color,alpha) GuiCirclePixelAlpha(y0,x0,r,color,alpha)//透明画圆
#define GuiCircleFill(x0,y0,r,color) GuiCirclePixelFill(y0,x0,r,color) //画填充圆
#define GuiCircleFillAnd(x0,y0,r,color) GuiCirclePixelFillAnd(y0,x0,r,color) //and画填充圆
#define GuiCircleFillOr(x0,y0,r,color) GuiCirclePixelFillOr(y0,x0,r,color) //or画填充圆
#define GuiCircleFillXor(x0,y0,r,color) GuiCirclePixelFillXor(y0,x0,r,color) //xor画填充圆
#define GuiCircleFillNot(x0,y0,r) GuiCirclePixelFillNot(y0,x0,r) //not画填充圆
#define GuiCircleFillAlpha(x0,y0,r,color,alpha) GuiCirclePixelFillAlpha(y0,x0,r,color,alpha) //透明画填充圆
#define GuiEllipse(x0,y0,rx,ry,color) GuiEllipsePixel(y0,x0,ry,rx,color) //画椭圆
#define GuiEllipseAnd(x0,y0,rx,ry,color) GuiEllipsePixelAnd(y0,x0,ry,rx,color) //and画椭圆
#define GuiEllipseOr(x0,y0,rx,ry,color) GuiEllipsePixelOr(y0,x0,ry,rx,color) //or画椭圆
#define GuiEllipseXor(x0,y0,rx,ry,color) GuiEllipsePixelXor(y0,x0,ry,rx,color) //xor画椭圆
#define GuiEllipseNot(x0,y0,rx,ry) GuiEllipsePixelNot(y0,x0,ry,rx) //not画椭圆
#define GuiEllipseAlpha(x0,y0,rx,ry,color,alpha) GuiEllipsePixelAlpha(y0,x0,yx,rx,color,alpha) //透明画椭圆
#define GuiEllipseFill(x0,y0,rx,ry,color) GuiEllipsePixelFill(y0,x0,ry,rx,color) //画填充椭圆
#define GuiEllipseFillAnd(x0,y0,rx,ry,color) GuiEllipsePixelFillAnd(y0,x0,ry,rx,color) //and画填充椭圆
#define GuiEllipseFillOr(x0,y0,rx,ry,color) GuiEllipsePixelFillOr(y0,x0,ry,rx,color) //or画填充椭圆
#define GuiEllipseFillXor(x0,y0,rx,ry,color) GuiEllipsePixelFillXor(y0,x0,ry,rx,color) //xor画填充椭圆
#define GuiEllipseFillNot(x0,y0,rx,ry) GuiEllipsePixelFillNot(y0,x0,ry,rx) //not画填充椭圆
#define GuiEllipseFillAlpha(x0,y0,rx,ry,color,alpha) GuiEllipsePixelFillAlpha(y0,x0,ry,rxy,color,alpha) //透明画填充椭圆
#ifdef LCD_LINE //使用优化画线函数
#define GuiLine(x0,y0,x1,y1,color) LcdLine(y0,x0,y1,x1,color) //画线
#define GuiLineXor(x0,y0,x1,y1,color) LcdLineXor(y0,x0,y1,x1,color) //xor画线
#define GuiLineOr(x0,y0,x1,y1,color) LcdLineOr(y0,x0,y1,x1,color) //or画线
#define GuiLineAnd(x0,y0,x1,y1,color) LcdLineAnd(y0,x0,y1,x1,color) //and画线
#define GuiLineNot(x0,y0,x1,y1) LcdLineNot(y0,x0,y1,x1) //not画线
#define GuiLineAlpha(x0,y0,x1,y1,color,alpha) LcdLineAlpha(y0,x0,y1,x1,color,alpha) //透明画直线
#define GuiLineDot(x0,y0,x1,y1,color) LcdLineDot(y0,x0,y1,x1,color) //画虚直线
#define GuiLineXorDot(x0,y0,x1,y1,color) LcdLineXorDot(y0,x0,y1,x1,color)//xor画虚直线
#define GuiLineOrDot(x0,y0,x1,y1,color) LcdLineOrDot(y0,x0,y1,x1,color) //or画虚直线
#define GuiLineAndDot(x0,y0,x1,y1,color) LcdLineAndDot(y0,x0,y1,x1,color)//and画虚直线
#define GuiLineNotDot(x0,y0,x1,y1) LcdLineNotDot(y0,x0,y1,x1) //not画虚直线
#define GuiLineAlphaDot(x0,y0,x1,y1,alpha) LcdLineAlphaDot(y0,x0,y1,x1,color,alpha) //透明画虚直线
#else //使用画点功能的画线函数
#define GuiLine(x0,y0,x1,y1,color) GuiLinePixel(y0,x0,y1,x1,color) //画线
#define GuiLineXor(x0,y0,x1,y1,color) GuiLineXor(y0,x0,y1,x1,color) //xor画线
#define GuiLineOr(x0,y0,x1,y1,color) GuiLineOr(y0,x0,y1,x1,color) //or画线
#define GuiLineAnd(x0,y0,x1,y1,color) GuiLineAnd(y0,x0,y1,x1,color) //and画线
#define GuiLineNot(x0,y0,x1,y1) GuiLineNot(y0,x0,y1,x1) //not画线
#define GuiLineAlpha(x0,y0,x1,y1,color,alpha) GuiLinePixelAlpha(y0,x0,y1,x1,color,alpha) //透明画直线
#endif
#ifdef LCD_FILL //使用优化填充函数
#ifdef LCD_BURST //使用硬件加速填充
#define GuiBoxFill(left,top,right,bottom,color) LcdBoxFillBurst(top,left,bottom,right,color) //画填充矩形
#else
#define GuiBoxFill(left,top,right,bottom,color) LcdBoxFill(top,left,bottom,right,color) //画填充矩形
#endif
#define GuiBoxFillXor(left,top,right,bottom,color) LcdBoxFillXor(top,left,bottom,right,color) //xor画填充矩形
#define GuiBoxFillOr(left,top,right,bottom,color) LcdBoxFillOr(top,left,bottom,right,color) //or画填充矩形
#define GuiBoxFillAnd(left,top,right,bottom,color) LcdBoxFillAnd(top,left,bottom,right,color) //and画填充矩形
#define GuiBoxFillNot(left,top,right,bottom) LcdBoxFillNot(top,left,bottom,right) //not画填充矩形
#define GuiBoxFillAlpha(left,top,right,bottom,color,alpha) LcdBoxFillAlpha(top,left,bottom,right,color,alpha)//透明画填充矩形
#else
#define GuiBoxFill(left,top,right,bottom,color) GuiBoxFillPixel(top,left,bottom,right,color) //画填充矩形
#define GuiBoxFillXor(left,top,right,bottom,color) GuiBoxFillPixelXor(top,left,bottom,right,color) //xor画填充矩形
#define GuiBoxFillOr(left,top,right,bottom,color) GuiBoxFillPixelOr(top,left,bottom,right,color) //or画填充矩形
#define GuiBoxFillAnd(left,top,right,bottom,color) GuiBoxFillPixelAnd(top,left,bottom,right,color) //and画填充矩形
#define GuiBoxFillNot(left,top,right,bottom) GuiBoxFillPixelNot(top,left,bottom,right) //not画填充矩形
#define GuiBoxFillAlpha(left,top,right,bottom,color,alpha) GuiBoxFillPixelAlpha(top,left,bottom,right,color,alpha) //透明画填充矩形
#endif
#define GuiAreaFill(yseed,xseed,bordercolr,fillcolr ) LcdAreaFill(xseed,yseed,bordercolr,fillcolr )//填充指定色彩边框区域
#define GuiFillColor(yseed,xseed,oldcolr,newcolr ) LcdFillColor(xseed,yseed,oldcolr,newcolr )//填充指定色彩区域
#ifdef LCD_BMP //使用优化位图函数
#define GuiBmpRead(left,top,right,bottom,pbmp) LcdBmpRead(top,left,bottom,right,pbmp) //读位图
#define GuiBmp(left,top,right,bottom,pbmp) LcdBmp(top,left,bottom,right,pbmp) //画位图
#define GuiBmpXor(left,top,right,bottom,pbmp) LcdBmpXor(top,left,bottom,right,pbmp) //xor画位图
#define GuiBmpOr(left,top,right,bottom,pbmp) LcdBmpOr(top,left,bottom,right,pbmp) //or画位图
#define GuiBmpAnd(left,top,right,bottom,pbmp) LcdBmpAnd(top,left,bottom,right,pbmp) //and画位图
#define GuiBmpNot(left,top,right,bottom) LcdBmpNot(top,left,bottom,right) //not画位图
#define GuiBmpAlpha(left,top,right,bottom,pbmp) LcdBmpAlpha(top,left,bottom,right,pbmp,alpha) //透明画位图
#define GuiBmpFloat(left,top,right,bottom,pbmp,bkcolor) LcdBmpFloat(top,left,bottom,right,pbmp,bkcolor) //画浮动位图
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -