📄 graphic.c
字号:
//*****************************************************************************
// Project Name: Graphic library for draw on graphic LCD
// Description: Graphic library for draw on graphic LCD
// Filename: graphic.c
// Processor:
// Revision: 1.0
// Date: 20.04.2004
// Compiler: C compiler IAR
//
//*****************************************************************************
#include "common.h"
#include "graphic.h"
#include "LCD_pg320240.h"
void linex(coordinate a, unsigned short l, unsigned char Color)
{
unsigned int i, Address;
a.x = a.x / 2;
Address = a.x + (a.y * 160);
Color = (Color & 0x0F)|(Color << 4);
for (i=0; i<l; i+=2)
{
if (Address < 8) lcd_write((Address + 0x95F8),Color);
else lcd_write(Address - 8,Color);
Address++;
}
}
//*****************************************************************************
void liney(coordinate a, unsigned short l, unsigned char c)
{
unsigned int i, Address;
unsigned char Color = 0;
a.x = a.x / 2;
Address = a.x + (a.y * 160);
for (i=0; i<l;i++)
{
if (Address < 8)
{
Color = lcd_read_reg((Address + 0x95F8),0);
Color &= 0xF0;
Color |= c;
lcd_write((Address + 0x95F8),Color);
}
else
{
Color = lcd_read_reg((Address - 8),0);
Color &= 0xF0;
Color |= c;
lcd_write(Address - 8,Color);
}
Address += OFFSET;
}
}
//*****************************************************************************
void shadow_boxs(void)
{
coordinate Dot;
char i,j;
Dot.x = 0;
Dot.y = 0;
for (j = 0x0F; j > 0;j--)
{
for (i=0;i<15;i++)
{
linex(Dot,312,j);
Dot.y++;
}
}
}
//*****************************************************************************
void box(coordinate Begin, unsigned short Side, unsigned char Color)
{
unsigned int i;
for (i=0; i< Side;i++)
{
Begin.y ++;
linex(Begin,Side,Color);
}
}
//*****************************************************************************
void rectangle(coordinate Begin, unsigned char SizeX,unsigned char SizeY,unsigned char Color)
{
unsigned int i;
for (i=0; i< SizeY;i++)
{
Begin.y ++;
linex(Begin,SizeX,Color);
}
}
//******************************************************************************
/*
void lcd_write_char(unsigned char Pismeno, unsigned char Color)
{
switch (Pismeno)
{
case ' ':lcd_write(Address - 8,Color);
lcd_write_data(0x00);lcd_write_data(0x00);
lcd_write_data(0x00);lcd_write_data(0x00);
lcd_write_data(0x00);lcd_write_data(0x00);break;
case 'A':lcd_write_data(0x7E);lcd_write_data(0x11);
lcd_write_data(0x11);lcd_write_data(0x11);
lcd_write_data(0x7E);lcd_write_data(0x00);break;
case 'B':lcd_write_data(0x7F);lcd_write_data(0x49);
lcd_write_data(0x49);lcd_write_data(0x49);
lcd_write_data(0x67);lcd_write_data(0x00);break;
case 'C':lcd_write_data(0x3E);lcd_write_data(0x41);
lcd_write_data(0x41);lcd_write_data(0x41);
lcd_write_data(0x22);lcd_write_data(0x00);break;
case 'D':lcd_write_data(0x7F);lcd_write_data(0x41);
lcd_write_data(0x41);lcd_write_data(0x22);
lcd_write_data(0x1C);lcd_write_data(0x00);break;
case 'E':lcd_write_data(0x7F);lcd_write_data(0x49);
lcd_write_data(0x49);lcd_write_data(0x49);
lcd_write_data(0x41);lcd_write_data(0x00);break;
case 'F':lcd_write_data(0x7F);lcd_write_data(0x09);
lcd_write_data(0x09);lcd_write_data(0x09);
lcd_write_data(0x01);lcd_write_data(0x00);break;
case 'G':lcd_write_data(0x3E);lcd_write_data(0x41);
lcd_write_data(0x49);lcd_write_data(0x49);
lcd_write_data(0x7A);lcd_write_data(0x00);break;
case 'H':lcd_write_data(0x7F);lcd_write_data(0x80);
lcd_write_data(0x80);lcd_write_data(0x80);
lcd_write_data(0x7F);lcd_write_data(0x00);break;
case 'I':lcd_write_data(0x00);lcd_write_data(0x41);
lcd_write_data(0x7F);lcd_write_data(0x41);
lcd_write_data(0x00);lcd_write_data(0x00);break;
case 'J':lcd_write_data(0x20);lcd_write_data(0x40);
lcd_write_data(0x41);lcd_write_data(0x3F);
lcd_write_data(0x01);lcd_write_data(0x00);break;
case 'K':lcd_write_data(0x7F);lcd_write_data(0x08);
lcd_write_data(0x14);lcd_write_data(0x22);
lcd_write_data(0x41);lcd_write_data(0x00);break;
case 'L':lcd_write_data(0x7F);lcd_write_data(0x40);
lcd_write_data(0x40);lcd_write_data(0x40);
lcd_write_data(0x40);lcd_write_data(0x00);break;
case 'M':lcd_write_data(0x7F);lcd_write_data(0x02);
lcd_write_data(0x0C);lcd_write_data(0x02);
lcd_write_data(0x7F);lcd_write_data(0x00);break;
case 'N':lcd_write_data(0x7F);lcd_write_data(0x04);
lcd_write_data(0x08);lcd_write_data(0x10);
lcd_write_data(0x7F);lcd_write_data(0x00);break;
case 'O':lcd_write_data(0x3E);lcd_write_data(0x41);
lcd_write_data(0x41);lcd_write_data(0x41);
lcd_write_data(0x3E);lcd_write_data(0x00);break;
case 'P':lcd_write_data(0x7F);lcd_write_data(0x09);
lcd_write_data(0x09);lcd_write_data(0x09);
lcd_write_data(0x06);lcd_write_data(0x00);break;
case 'Q':lcd_write_data(0x3E);lcd_write_data(0x41);
lcd_write_data(0x51);lcd_write_data(0x21);
lcd_write_data(0x5E);lcd_write_data(0x00);break;
case 'R':lcd_write_data(0x7F);lcd_write_data(0x09);
lcd_write_data(0x19);lcd_write_data(0x29);
lcd_write_data(0x46);lcd_write_data(0x00);break;
case 'S':lcd_write_data(0x26);lcd_write_data(0x49);
lcd_write_data(0x49);lcd_write_data(0x49);
lcd_write_data(0x32);lcd_write_data(0x00);break;
case 'T':lcd_write_data(0x01);lcd_write_data(0x01);
lcd_write_data(0x7F);lcd_write_data(0x01);
lcd_write_data(0x01);lcd_write_data(0x00);break;
case 'U':lcd_write_data(0x3F);lcd_write_data(0x40);
lcd_write_data(0x40);lcd_write_data(0x40);
lcd_write_data(0x3F);lcd_write_data(0x00);break;
case 'V':lcd_write_data(0x1F);lcd_write_data(0x20);
lcd_write_data(0x40);lcd_write_data(0x20);
lcd_write_data(0x1F);lcd_write_data(0x00);break;
case 'W':lcd_write_data(0x3F);lcd_write_data(0x40);
lcd_write_data(0x38);lcd_write_data(0x40);
lcd_write_data(0x3F);lcd_write_data(0x00);break;
case 'X':lcd_write_data(0x63);lcd_write_data(0x14);
lcd_write_data(0x08);lcd_write_data(0x14);
lcd_write_data(0x63);lcd_write_data(0x00);break;
case 'Y':lcd_write_data(0x07);lcd_write_data(0x08);
lcd_write_data(0x70);lcd_write_data(0x08);
lcd_write_data(0x07);lcd_write_data(0x00);break;
case 'Z':lcd_write_data(0x61);lcd_write_data(0x51);
lcd_write_data(0x49);lcd_write_data(0x45);
lcd_write_data(0x43);lcd_write_data(0x00);break;
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -