⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bbgui.h

📁 蓝宇BBPC-SOM2496嵌入式主板 模拟屏实例代码与函数库和对应DOS驱动
💻 H
📖 第 1 页 / 共 3 页
字号:
//--------------------------------------------------------------
//蓝宇科技,版权所有
//作者:赵崇伟
//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 + -