久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6494|回復: 0
收起左側

stm32單片機自制pda之ui.c源代碼

[復制鏈接]
ID:37685 發表于 2013-9-5 14:36 | 顯示全部樓層 |閱讀模式
完整代碼下載地址:http://www.zg4o1577.cn/f/29782212PDA.rar
<br>
#include <stm32f10x_lib.h>
#include "ui.h"
#include "ILI9320.h"
#include "string.h"http://文本框用

//按鈕模型
//x1y1左上角,x2y2右下角,確定方框范圍
//lon文本長度
//size文本大小
//p文本
//mode為按鈕狀態
void Button(u16 x1,u16 y1,u16 x2,u16 y2,u8 mode,u8 *p,u16 lon,u8 size)
{
	u16 dx=(x2-x1-lon+2)/2;
	u16 dy=(y2-y1-size+2)/2;
	switch(mode)
	{
		case 0:
		{
			clear(x1,y1,x2,y2,color(0xd4,0xd0,0xc8));
			_line_((x1+1),(y1+1),(x2-1),(y1+1),color(255,255,255));
			_line_((x1+1),(y1+1),(x1+1),(y2-1),color(255,255,255));
			_line_(x1,y2,x2,y2,color(0x40,0x40,0x40));
			_line_(x2,y1,x2,y2,color(0x40,0x40,0x40));
			_line_((x1+1),(y2-1),(x2-1),(y2-1),color(0x80,0x80,0x80));
			_line_((x2-1),(y1+1),(x2-1),(y2-1),color(0x80,0x80,0x80));
			if(p!=NULL)show_string((x1+dx),(y1+dy),lon,p,size,color(0,0,0));
		}break;
		case 1:
		{
			clear((x1+1),(y1+1),(x2-1),(y2-1),color(0xd4,0xd0,0xc8));
			_line_((x1+1),(y1+1),(x2-1),(y1+1),color(0x80,0x80,0x80));
			_line_((x1+1),(y1+1),(x1+1),(y2-1),color(0x80,0x80,0x80));
			_line_(x1,y1,x2,y1,color(0x40,0x40,0x40));
			_line_(x1,y1,x1,y2,color(0x40,0x40,0x40));
			_line_(x2,y1,x2,y2,color(255,255,255));
			_line_(x1,y2,x2,y2,color(255,255,255));
			if(p!=NULL)show_string((x1+dx+1),(y1+dy+1),lon,p,size,color(0,0,0));
		}break;
		case 2:
		{
			clear(x1,y1,x2,y2,color(0xd4,0xd0,0xc8));
			_line_(x1,y1,x2,y1,color(255,255,255));
			_line_(x1,y1,x1,(y2-1),color(255,255,255));
			_line_(x1,y2,x2,y2,color(0x40,0x40,0x40));
			_line_(x2,y1,x2,y2,color(0x40,0x40,0x40));
			_line_((x1+1),(y2-1),(x2-1),(y2-1),color(0x80,0x80,0x80));
			_line_((x2-1),(y1+1),(x2-1),(y2-1),color(0x80,0x80,0x80));
			if(p!=NULL)
			{
				show_string((x1+dx+1),(y1+dy+1),lon,p,size,color(255,255,255));
				show_string((x1+dx),(y1+dy),lon,p,size,color(0x80,0x80,0x80));
			}
		}break;
	}
}

//上按鍵模型
//橫寬最小9像素,豎寬最小7像素
void Button_Up(u16 x1,u16 y1,u16 x2,u16 y2,u8 mode)
{
	u16 lon_y,lon_x;
	lon_x=((x2-x1)-5)/2;
	lon_y=((y2-y1)-3)/2;
	Button(x1,y1,x2,y2,mode,NULL,0,0);
	if(mode==UNPRESS)
	{
		dot(x1+lon_x+1,y1+lon_y+3,color(0,0,0));
		dot(x1+lon_x+2,y1+lon_y+3,color(0,0,0));
		dot(x1+lon_x+3,y1+lon_y+3,color(0,0,0));
		dot(x1+lon_x+4,y1+lon_y+3,color(0,0,0));
		dot(x1+lon_x+5,y1+lon_y+3,color(0,0,0));
		dot(x1+lon_x+2,y1+lon_y+2,color(0,0,0));
		dot(x1+lon_x+3,y1+lon_y+2,color(0,0,0));
		dot(x1+lon_x+4,y1+lon_y+2,color(0,0,0));
		dot(x1+lon_x+3,y1+lon_y+1,color(0,0,0));
	}
	else if(mode==PRESS)
	{
		dot(x1+lon_x+2,y1+lon_y+4,color(0,0,0));
		dot(x1+lon_x+3,y1+lon_y+4,color(0,0,0));
		dot(x1+lon_x+4,y1+lon_y+4,color(0,0,0));
		dot(x1+lon_x+5,y1+lon_y+4,color(0,0,0));
		dot(x1+lon_x+6,y1+lon_y+4,color(0,0,0));
		dot(x1+lon_x+3,y1+lon_y+3,color(0,0,0));
		dot(x1+lon_x+4,y1+lon_y+3,color(0,0,0));
		dot(x1+lon_x+5,y1+lon_y+3,color(0,0,0));
		dot(x1+lon_x+4,y1+lon_y+2,color(0,0,0));
	}
	else if(mode==INVALID)
	{
		dot(x1+lon_x+2,y1+lon_y+4,color(255,255,255));
		dot(x1+lon_x+3,y1+lon_y+4,color(255,255,255));
		dot(x1+lon_x+4,y1+lon_y+4,color(255,255,255));
		dot(x1+lon_x+5,y1+lon_y+4,color(255,255,255));
		dot(x1+lon_x+6,y1+lon_y+4,color(255,255,255));
		dot(x1+lon_x+3,y1+lon_y+3,color(255,255,255));
		dot(x1+lon_x+4,y1+lon_y+3,color(255,255,255));
		dot(x1+lon_x+5,y1+lon_y+3,color(255,255,255));
		dot(x1+lon_x+4,y1+lon_y+2,color(255,255,255));

		dot(x1+lon_x+1,y1+lon_y+3,color(0x80,0x80,0x80));
		dot(x1+lon_x+2,y1+lon_y+3,color(0x80,0x80,0x80));
		dot(x1+lon_x+3,y1+lon_y+3,color(0x80,0x80,0x80));
		dot(x1+lon_x+4,y1+lon_y+3,color(0x80,0x80,0x80));
		dot(x1+lon_x+5,y1+lon_y+3,color(0x80,0x80,0x80));
		dot(x1+lon_x+2,y1+lon_y+2,color(0x80,0x80,0x80));
		dot(x1+lon_x+3,y1+lon_y+2,color(0x80,0x80,0x80));
		dot(x1+lon_x+4,y1+lon_y+2,color(0x80,0x80,0x80));
		dot(x1+lon_x+3,y1+lon_y+1,color(0x80,0x80,0x80));
	}
}

//下按鍵按鈕
void Button_Down(u16 x1,u16 y1,u16 x2,u16 y2,u8 mode)
{
	u16 lon_y,lon_x;
	lon_x=((x2-x1)-5)/2;
	lon_y=((y2-y1)-3)/2;
	Button(x1,y1,x2,y2,mode,NULL,0,0);
	if(mode==UNPRESS)
	{
		dot(x1+lon_x+1,y1+lon_y+1,color(0,0,0));
		dot(x1+lon_x+2,y1+lon_y+1,color(0,0,0));
		dot(x1+lon_x+3,y1+lon_y+1,color(0,0,0));
		dot(x1+lon_x+4,y1+lon_y+1,color(0,0,0));
		dot(x1+lon_x+5,y1+lon_y+1,color(0,0,0));
		dot(x1+lon_x+2,y1+lon_y+2,color(0,0,0));
		dot(x1+lon_x+3,y1+lon_y+2,color(0,0,0));
		dot(x1+lon_x+4,y1+lon_y+2,color(0,0,0));
		dot(x1+lon_x+3,y1+lon_y+3,color(0,0,0));
	}
	else if(mode==PRESS)
	{
		dot(x1+lon_x+2,y1+lon_y+2,color(0,0,0));
		dot(x1+lon_x+3,y1+lon_y+2,color(0,0,0));
		dot(x1+lon_x+4,y1+lon_y+2,color(0,0,0));
		dot(x1+lon_x+5,y1+lon_y+2,color(0,0,0));
		dot(x1+lon_x+6,y1+lon_y+2,color(0,0,0));
		dot(x1+lon_x+3,y1+lon_y+3,color(0,0,0));
		dot(x1+lon_x+4,y1+lon_y+3,color(0,0,0));
		dot(x1+lon_x+5,y1+lon_y+3,color(0,0,0));
		dot(x1+lon_x+4,y1+lon_y+4,color(0,0,0));
	}
	else if(mode==INVALID)
	{
		dot(x1+lon_x+2,y1+lon_y+2,color(255,255,255));
		dot(x1+lon_x+3,y1+lon_y+2,color(255,255,255));
		dot(x1+lon_x+4,y1+lon_y+2,color(255,255,255));
		dot(x1+lon_x+5,y1+lon_y+2,color(255,255,255));
		dot(x1+lon_x+6,y1+lon_y+2,color(255,255,255));
		dot(x1+lon_x+3,y1+lon_y+3,color(255,255,255));
		dot(x1+lon_x+4,y1+lon_y+3,color(255,255,255));
		dot(x1+lon_x+5,y1+lon_y+3,color(255,255,255));
		dot(x1+lon_x+4,y1+lon_y+4,color(255,255,255));

		dot(x1+lon_x+1,y1+lon_y+1,color(0x80,0x80,0x80));
		dot(x1+lon_x+2,y1+lon_y+1,color(0x80,0x80,0x80));
		dot(x1+lon_x+3,y1+lon_y+1,color(0x80,0x80,0x80));
		dot(x1+lon_x+4,y1+lon_y+1,color(0x80,0x80,0x80));
		dot(x1+lon_x+5,y1+lon_y+1,color(0x80,0x80,0x80));
		dot(x1+lon_x+2,y1+lon_y+2,color(0x80,0x80,0x80));
		dot(x1+lon_x+3,y1+lon_y+2,color(0x80,0x80,0x80));
		dot(x1+lon_x+4,y1+lon_y+2,color(0x80,0x80,0x80));
		dot(x1+lon_x+3,y1+lon_y+3,color(0x80,0x80,0x80));
	}
}

//窗口函數
//標題高18
void Windows(u16 x1,u16 y1,u16 x2,u16 y2,u8 *title,u8 size)
{
	//0a246a
	//a6caf0
	u16	dx=x2-x1-4;//標題欄長度緩存
	float a=0x0a,b=0x24,c=0x6a;
	u16 i,j;
	clear(x1,y1,x2,y2,color(0xd4,0xd0,0xc8));
	//窗口邊界
	_line_((x1+1),(y1+1),(x2-1),(y1+1),color(255,255,255));
	_line_((x1+1),(y1+1),(x1+1),(y2-1),color(255,255,255));
	_line_((x1+1),(y2-1),(x2-1),(y2-1),color(0x80,0x80,0x80));
	_line_((x2-1),(y1+1),(x2-1),(y2-1),color(0x80,0x80,0x80));
	_line_(x1,y2,x2,y2,color(0x40,0x40,0x40));
	_line_(x2,y1,x2,y2,color(0x40,0x40,0x40));			
	for(j=0;j<dx;j++)//標題欄,高度為字體高度+4
	{
		for(i=0;i<(4+size);i++)dot((x1+2+j),(y1+2+i),color(a,b,c));
		a+=(float)(0xa6-0x0a)/dx;
		b+=(float)(0xca-0x24)/dx;
		c+=(float)(0xf0-0x6a)/dx;
	}
	show_string((x1+4),(y1+4),dx,title,size,color(255,255,255));//標題欄文字
}

//窗體中的填充框
//x1,y1左上角
//x2y2右上角
//sta為0,不顯示光標,1顯示全選光標,2顯示普通光標
void Hole(u16 x1,u16 y1,u16 x2,u16 y2)
{
	clear(x1,y1,x2,y2,color(255,255,255));
	_line_(x1,y1,x2,y1,color(0x40,0x40,0x40));
	_line_(x1,y1,x1,y2,color(0x40,0x40,0x40));
	_line_((x1+1),(y1+1),(x2-1),(y1+1),color(0x80,0x80,0x80));
	_line_((x1+1),(y1+1),(x1+1),(y2-1),color(0x80,0x80,0x80));
	_line_((x2-1),(y1+1),(x2-1),(y2-1),color(0xd4,0xd0,0xc8));
	_line_((x1+1),(y2-1),(x2-1),(y2-1),color(0xd4,0xd0,0xc8));
	_line_(x2,y1,x2,y2,color(255,255,255));
	_line_(x1,y2,x2,y2,color(255,255,255));
}

//進度條
//x1y1左上角
//lon進度條長度
//index當前數值
//total總數值
//font為是否顯示數字(1顯示)
//固定高度14像素
void Progress_Bar(u16 x1,u16 y1,u16 lon,u32 index,u32 total,u8 font)
{
	u16 i;
	u8 j;
	float percent=(((float)index/total));//得到加載百分數百分數
	u16 temp;
	if(percent>1)percent=1;
	temp=lon*percent;//得到當前進度條加載數量
	_line_(x1,y1,(x1+lon),y1,color(0,0,0));
	_line_(x1,(y1+14),(x1+lon),(y1+14),color(0,0,0));
	_line_(x1,y1,x1,(y1+14),color(0,0,0));
	_line_((x1+lon),y1,(x1+lon),(y1+14),color(0,0,0));
	for(i=0;i<temp;i++)//加載藍色部分
	{
		for(j=0;j<13;j++)dot((x1+1+i),(y1+1+j),color(0,0,255));
	}
	for(i=0;i<(lon-temp-1);i++)//加載白色部分
	{
		for(j=0;j<13;j++)dot((x1+1+i+temp),(y1+1+j),color(255,255,255));
	}
	if(font)
	{
		if(temp<=(x1+((lon-18)/2)+18))
		{
			if((percent*100)<10)
			{
				show_nums((x1+((lon-12)/2)),(y1+2),((u8)(percent*100)),1,12,color(0,0,0),0);
				show_string((x1+((lon-12)/2)+6),(y1+2),13,"%",12,color(0,0,0));
			}
			else if(((percent*100)>9)&&((percent*100)<100))
			{
				show_nums((x1+((lon-18)/2)),(y1+2),((u8)(percent*100)),2,12,color(0,0,0),0);
				show_string((x1+((lon-18)/2)+12),(y1+2),13,"%",12,color(0,0,0));
			}
			else if(percent==1)
			{
				show_nums((x1+((lon-24)/2)),(y1+2),((u8)(percent*100)),3,12,color(0,0,0),0);
				show_string((x1+((lon-24)/2)+18),(y1+2),13,"%",12,color(0,0,0));
			}
			//變更字體顏色
			for(i=0;i<(temp-((lon-18)/2));i++)
			{
				for(j=0;j<13;j++)
				{
					if(rdot((x1+i+(lon-18)/2),(y1+1+j))==0)dot((x1+i+(lon-18)/2),(y1+1+j),color(255,255,255));
				}
			}
		}
		else
		{
			if((percent*100)<10)
			{
				show_nums((x1+((lon-12)/2)),(y1+2),((u8)(percent*100)),1,12,color(255,255,255),0);
				show_string((x1+((lon-12)/2)+6),(y1+2),13,"%",12,color(255,255,255));
			}
			else if(((percent*100)>9)&&((percent*100)<100))
			{
				show_nums((x1+((lon-18)/2)),(y1+2),((u8)(percent*100)),2,12,color(255,255,255),0);
				show_string((x1+((lon-18)/2)+12),(y1+2),13,"%",12,color(255,255,255));
			}
			else if(percent==1)
			{
				show_nums((x1+((lon-24)/2)),(y1+2),((u8)(percent*100)),3,12,color(255,255,255),0);
				show_string((x1+((lon-24)/2)+18),(y1+2),13,"%",12,color(255,255,255));
 			}
		}
	}
}

//滾動條
//滾動條寬度默認10
//x1,y1為起始坐標,lon為滾動條長度,必須大于20
//button_up為上按鈕模式,button_down為下按鈕模式,page為每頁項目數,total為總項目數
//addr為當前位置
void Rolling_Bar(u16 x1,u16 y1,u16 lon,u8 button_up,u8 button_down,u32 addr,u32 page,u32 total)
{
	u32 l=((float)(lon-24)/total)*page;//得到滾動條長度
	u32 offset=((float)(lon-24-l)/(total-page))*addr;//獲得每翻動一個項目所偏移的像素
	Button_Up(x1,y1,(x1+12),(y1+12),button_up);//上按鈕
	Button_Down(x1,(y1+lon-12),(x1+12),(y1+lon),button_down);//下按鈕
	clear(x1,(y1+12),(x1+12),(y1+lon-12),color(0x7d,0x8b,0x9a));
	Button(x1,(y1+12+offset),(x1+12),(y1+12+offset+l),UNPRESS,NULL,0,0);
}

//顯示方框特效
//顯示一個圖標選中方框
//邊框寬2像素
void dis_kuang(u16 x1,u16 y1,u16 x2,u16 y2,u16 color)
{
//	_line_(x,y,(x+59),y,color);
//	_line_(x,(y+1),(x+59),(y+1),color);
//	_line_(x,y,x,(y+61),color);
//	_line_((x+1),y,(x+1),(y+61),color);
//	_line_((x+58),y,(x+58),(y+61),color);
//	_line_((x+59),y,(x+59),(y+61),color);
//	_line_(x,(y+61),(x+59),(y+61),color);
//	_line_(x,(y+62),(x+59),(y+62),color);	
	//頂邊
	_line_(x1,y1,x2,y1,color);
	_line_(x1,(y1+1),x2,(y1+1),color);
	//左邊
	_line_(x1,y1,x1,y2,color);
	_line_((x1+1),y1,(x1+1),y2,color);
	//右邊
	_line_((x2-1),y1,(x2-1),y2,color);
	_line_(x2,y1,x2,y2,color);
	//下邊
	_line_(x1,y2,x2,y2,color);
	_line_(x1,(y2+1),x2,(y2+1),color);	
}

//播放器按鈕與圖標
//固定為24×24
//播放按鈕
void Button_Play(u16 x,u16 y,u8 mode)
{
	Button(x,y,(x+24),(y+24),mode,NULL,0,0);
	if(mode==UNPRESS)
	{
		_line_((x+6),(y+6),(x+6),(y+6+12),color(0,0,0));//12
		_line_((x+7),(y+7),(x+7),(y+7+10),color(0,0,0));//10
		_line_((x+8),(y+8),(x+8),(y+8+8),color(0,0,0));//8
		_line_((x+9),(y+9),(x+9),(y+9+6),color(0,0,0));//6
		_line_((x+10),(y+10),(x+10),(y+10+4),color(0,0,0));//4
		_line_((x+11),(y+11),(x+11),(y+11+2),color(0,0,0));//2
		_line_((x+12),(y+6),(x+12),(y+6+12),color(0,0,0));//12
		_line_((x+13),(y+6),(x+13),(y+6+12),color(0,0,0));//12
		_line_((x+16),(y+6),(x+16),(y+6+12),color(0,0,0));//12
		_line_((x+17),(y+6),(x+17),(y+6+12),color(0,0,0));//12
	}
	else if(mode==PRESS)
	{
		_line_((x+7),(y+7),(x+7),(y+7+12),color(0,0,0));//12
		_line_((x+8),(y+8),(x+8),(y+8+10),color(0,0,0));//10
		_line_((x+9),(y+9),(x+9),(y+9+8),color(0,0,0));//8
		_line_((x+10),(y+10),(x+10),(y+10+6),color(0,0,0));//6
		_line_((x+11),(y+11),(x+11),(y+11+4),color(0,0,0));//4
		_line_((x+12),(y+12),(x+12),(y+12+2),color(0,0,0));//2
		_line_((x+13),(y+7),(x+13),(y+6+13),color(0,0,0));//12
		_line_((x+14),(y+7),(x+14),(y+6+13),color(0,0,0));//12
		_line_((x+17),(y+7),(x+17),(y+6+13),color(0,0,0));//12
		_line_((x+18),(y+7),(x+18),(y+6+13),color(0,0,0));//12
	}
	//可能不存在按鈕不可用狀態
/*	else if(mode==INVALID)
	{
		//陰影
		_line_((x+7),(y+7),(x+7),(y+7+12),color(255,255,255));//12
		_line_((x+8),(y+8),(x+8),(y+8+10),color(255,255,255));//10
		_line_((x+9),(y+9),(x+9),(y+9+8),color(255,255,255));//8
		_line_((x+10),(y+10),(x+10),(y+10+6),color(255,255,255));//6
		_line_((x+11),(y+11),(x+11),(y+11+4),color(255,255,255));//4
		_line_((x+12),(y+12),(x+12),(y+12+2),color(255,255,255));//2
		_line_((x+13),(y+7),(x+13),(y+6+13),color(255,255,255));//12
		_line_((x+14),(y+7),(x+14),(y+6+13),color(255,255,255));//12
		_line_((x+17),(y+7),(x+17),(y+6+13),color(255,255,255));//12
		_line_((x+18),(y+7),(x+18),(y+6+13),color(255,255,255));//12
		//正常
		_line_((x+6),(y+6),(x+6),(y+6+12),color(0x80,0x80,0x80));//12
		_line_((x+7),(y+7),(x+7),(y+7+10),color(0x80,0x80,0x80));//10
		_line_((x+8),(y+8),(x+8),(y+8+8),color(0x80,0x80,0x80));//8
		_line_((x+9),(y+9),(x+9),(y+9+6),color(0x80,0x80,0x80));//6
		_line_((x+10),(y+10),(x+10),(y+10+4),color(0x80,0x80,0x80));//4
		_line_((x+11),(y+11),(x+11),(y+11+2),color(0x80,0x80,0x80));//2
		_line_((x+12),(y+6),(x+12),(y+6+12),color(0x80,0x80,0x80));//12
		_line_((x+13),(y+6),(x+13),(y+6+12),color(0x80,0x80,0x80));//12
		_line_((x+16),(y+6),(x+16),(y+6+12),color(0x80,0x80,0x80));//12
		_line_((x+17),(y+6),(x+17),(y+6+12),color(0x80,0x80,0x80));//12
	}*/
}

//停止按鈕
//固定高度24
void Button_Stop(u16 x,u16 y,u8 mode)
{
	Button(x,y,(x+24),(y+24),mode,"■",12,12);
}

//下一首
void Button_Next(u16 x,u16 y,u8 mode)
{
	Button(x,y,(x+24),(y+24),mode,NULL,0,0);
	if(mode==UNPRESS)
	{
		_line_((x+8),(y+6),(x+8),(y+6+12),color(0,0,0));//12
		_line_((x+9),(y+7),(x+9),(y+7+10),color(0,0,0));//10
		_line_((x+10),(y+8),(x+10),(y+8+8),color(0,0,0));//8
		_line_((x+11),(y+9),(x+11),(y+9+6),color(0,0,0));//6
		_line_((x+12),(y+10),(x+12),(y+10+4),color(0,0,0));//4
		_line_((x+13),(y+11),(x+13),(y+11+2),color(0,0,0));//2
		_line_((x+14),(y+6),(x+14),(y+6+12),color(0,0,0));//12
		_line_((x+15),(y+6),(x+15),(y+6+12),color(0,0,0));//12
	}
	else if(mode==PRESS)
	{
		_line_((x+9),(y+7),(x+9),(y+7+12),color(0,0,0));//12
		_line_((x+10),(y+8),(x+10),(y+8+10),color(0,0,0));//10
		_line_((x+11),(y+9),(x+11),(y+9+8),color(0,0,0));//8
		_line_((x+12),(y+10),(x+12),(y+10+6),color(0,0,0));//6
		_line_((x+13),(y+11),(x+13),(y+11+4),color(0,0,0));//4
		_line_((x+14),(y+12),(x+14),(y+12+2),color(0,0,0));//2
		_line_((x+15),(y+7),(x+15),(y+6+13),color(0,0,0));//12
		_line_((x+16),(y+7),(x+16),(y+6+13),color(0,0,0));//12
	}
}

//上一首
void Button_Pre(u16 x,u16 y,u8 mode)
{
	Button(x,y,(x+24),(y+24),mode,NULL,0,0);
	if(mode==UNPRESS)
	{
		_line_((x+15),(y+6),(x+15),(y+6+12),color(0,0,0));//12
		_line_((x+14),(y+7),(x+14),(y+7+10),color(0,0,0));//10
		_line_((x+13),(y+8),(x+13),(y+8+8),color(0,0,0));//8
		_line_((x+12),(y+9),(x+12),(y+9+6),color(0,0,0));//6
		_line_((x+11),(y+10),(x+11),(y+10+4),color(0,0,0));//4
		_line_((x+10),(y+11),(x+10),(y+11+2),color(0,0,0));//2
		_line_((x+9),(y+6),(x+9),(y+6+12),color(0,0,0));//12
		_line_((x+8),(y+6),(x+8),(y+6+12),color(0,0,0));//12
	}
	else if(mode==PRESS)
	{
		_line_((x+16),(y+7),(x+16),(y+7+12),color(0,0,0));//12
		_line_((x+15),(y+8),(x+15),(y+8+10),color(0,0,0));//10
		_line_((x+14),(y+9),(x+14),(y+9+8),color(0,0,0));//8
		_line_((x+13),(y+10),(x+13),(y+10+6),color(0,0,0));//6
		_line_((x+12),(y+11),(x+12),(y+11+4),color(0,0,0));//4
		_line_((x+11),(y+12),(x+11),(y+12+2),color(0,0,0));//2
		_line_((x+10),(y+7),(x+10),(y+6+13),color(0,0,0));//12
		_line_((x+9),(y+7),(x+9),(y+6+13),color(0,0,0));//12
	}
}

//畫筆按鈕
//type:畫筆類型(目前共8種)
void Button_Draw(u16 x,u16 y,u8 mode,u8 type)
{
	u8 x1,y1;
	Button(x,y,(x+24),(y+24),mode,NULL,0,0);
	switch(type)
	{
		case 0:
		{
			if(mode==UNPRESS)dot((x+12),(y+12),0);
			if(mode==PRESS)dot((x+13),(y+13),0);
		}break;
		case 1:
		{
			if(mode==UNPRESS)clear((x+10),(y+10),(x+24-10),(y+24-10),0);
			if(mode==PRESS)clear((x+11),(y+11),(x+24-10+1),(y+24-10+1),0);
		}break;
		case 2:
		{
			if(mode==UNPRESS)clear((x+8),(y+8),(x+24-8),(y+24-8),0);
			if(mode==PRESS)clear((x+9),(y+9),(x+24-8+1),(y+24-8+1),0);
		}break;
		case 3:
		{
			if(mode==UNPRESS)clear((x+6),(y+6),(x+24-6),(y+24-6),0);
			if(mode==PRESS)clear((x+7),(y+7),(x+24-6+1),(y+24-6+1),0);
		}break;
		case 4:
		{
			if(mode==UNPRESS)
			{
				for(y1=0;y1<12;y1+=5)
				{
					for(x1=0;x1<12;x1+=5)dot((x+6+x1),(y+6+y1),0);
				}
			}
			if(mode==PRESS)
			{
				for(y1=0;y1<12;y1+=5)
				{
					for(x1=0;x1<12;x1+=5)dot((x+6+x1+1),(y+6+y1+1),0);
				}
			}
		}break;
		case 5:
		{
			if(mode==UNPRESS)
			{
				for(y1=0;y1<12;y1+=4)
				{
					for(x1=0;x1<12;x1+=4)dot((x+6+x1),(y+6+y1),0);
				}
			}
			if(mode==PRESS)
			{
				for(y1=0;y1<12;y1+=4)
				{
					for(x1=0;x1<12;x1+=4)dot((x+6+x1+1),(y+6+y1+1),0);
				}
			}
		}break;
		case 6:
		{
			if(mode==UNPRESS)
			{
				for(y1=0;y1<12;y1+=3)
				{
					for(x1=0;x1<12;x1+=3)dot((x+6+x1),(y+6+y1),0);
				}
			}
			if(mode==PRESS)
			{
				for(y1=0;y1<12;y1+=3)
				{
					for(x1=0;x1<12;x1+=3)dot((x+6+x1+1),(y+6+y1+1),0);
				}
			}
		}break;
		case 7:
		{
			if(mode==UNPRESS)
			{
				for(y1=0;y1<12;y1+=2)
				{
					for(x1=0;x1<12;x1+=2)dot((x+6+x1),(y+6+y1),0);
				}
			}
			if(mode==PRESS)
			{
				for(y1=0;y1<12;y1+=2)
				{
					for(x1=0;x1<12;x1+=2)dot((x+6+x1+1),(y+6+y1+1),0);
				}
			}
		}break;
	}
}
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久1区 | 国产成人精品一区二 | 午夜视频一区二区 | 亚洲天堂av网 | 精品蜜桃一区二区三区 | 蜜桃黄网 | 中文字幕成人在线 | 成人在线视频免费看 | 亚洲一区二区三区免费视频 | 日韩av一二三区 | 日韩在线观看中文字幕 | 中文字幕在线免费观看 | 国产精品国产精品国产专区不片 | 欧美理伦片在线播放 | 一区二区在线不卡 | 欧美嘿咻 | 9191成人精品久久 | av超碰 | 日本小视频网站 | 亚洲午夜精品在线观看 | 99精品国产成人一区二区 | 国产999精品久久久 午夜天堂精品久久久久 | 在线观看国产精品一区二区 | 日韩男人天堂 | 久热中文字幕 | 激情久久久久 | 人人性人人性碰国产 | 日韩在线欧美 | 日本成人片在线观看 | 一级日批片 | 超碰在线免费公开 | 午夜激情免费 | 亚洲一区二区三区在线免费 | 久久精品国产清自在天天线 | 98久久| 欧美在线视频一区二区 | 国产激情精品一区二区三区 | 国产japanhdxxxx麻豆 | 在线免费观看欧美 | 观看av | 91精品国产自产精品男人的天堂 |