You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
168 lines
5.3 KiB
168 lines
5.3 KiB
void paint()
|
|
{ myGLCD.clrScr();
|
|
myGLCD.setColor(VGA_WHITE);
|
|
myGLCD.setFont(BigFont);
|
|
myGLCD.drawLine(32, 0, 32, myGLCD.getDisplayYSize() - 1);
|
|
myGLCD.drawLine(myGLCD.getDisplayXSize() - 32, 0, myGLCD.getDisplayXSize() - 32, myGLCD.getDisplayYSize() - 1);
|
|
myGLCD.print("C", myGLCD.getDisplayXSize() - 24, 8);
|
|
myGLCD.print("L", myGLCD.getDisplayXSize() - 24, 24);
|
|
myGLCD.print("E", myGLCD.getDisplayXSize() - 24, 40);
|
|
myGLCD.print("A", myGLCD.getDisplayXSize() - 24, 56);
|
|
myGLCD.print("R", myGLCD.getDisplayXSize() - 24, 72);
|
|
myGLCD.print("+", myGLCD.getDisplayXSize() - 24, 136);
|
|
myGLCD.print("-", myGLCD.getDisplayXSize() - 24, 200);
|
|
|
|
myGLCD.print("E", myGLCD.getDisplayXSize() - 24, 412);
|
|
myGLCD.print("X", myGLCD.getDisplayXSize() - 24, 428);
|
|
myGLCD.print("I", myGLCD.getDisplayXSize() - 24, 444);
|
|
myGLCD.print("T", myGLCD.getDisplayXSize() - 24, 460);
|
|
|
|
|
|
myGLCD.fillRect(myGLCD.getDisplayXSize() - 32, 96, myGLCD.getDisplayXSize() - 1, 128);
|
|
myGLCD.drawLine(myGLCD.getDisplayXSize() - 32, 160, myGLCD.getDisplayXSize() - 1, 160);
|
|
myGLCD.drawLine(myGLCD.getDisplayXSize() - 32, 192, myGLCD.getDisplayXSize() - 1, 192);
|
|
myGLCD.drawLine(myGLCD.getDisplayXSize() - 32, 224, myGLCD.getDisplayXSize() - 1, 224);
|
|
for (int i = 0; i < 8; i++)
|
|
{
|
|
myGLCD.setColor(colorlist[i]);
|
|
myGLCD.fillRect(0, (i * 30), 24, (((i + 1) * 30) - 1));
|
|
}
|
|
drawColorMarkerAndBrushSize(color);
|
|
|
|
|
|
|
|
while (1)
|
|
{
|
|
long x, y;
|
|
|
|
while (myTouch.dataAvailable() == true)
|
|
{
|
|
myTouch.read();
|
|
x = myTouch.getX();
|
|
y = myTouch.getY();
|
|
if ((x != -1) and (y != -1))
|
|
{
|
|
if (x > (31 + bsize) and (x < myGLCD.getDisplayXSize() - (31 + bsize)))
|
|
{
|
|
if (bsize == 1)
|
|
myGLCD.drawPixel(x, y);
|
|
else
|
|
myGLCD.fillCircle(x, y, bsize);
|
|
}
|
|
else
|
|
{
|
|
if (x < (30 + bsize))
|
|
{
|
|
if (y < 240)
|
|
{
|
|
color = y / 30;
|
|
drawColorMarkerAndBrushSize(color);
|
|
while (myTouch.dataAvailable()) {};
|
|
delay(50);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (y < 96)
|
|
{
|
|
myGLCD.setColor(VGA_BLACK);
|
|
myGLCD.fillRect(33, 0, myGLCD.getDisplayXSize() - 33, myGLCD.getDisplayYSize() - 1);
|
|
myGLCD.setColor(colorlist[color]);
|
|
}
|
|
if ((y > 128) and (y < 160))
|
|
{
|
|
if (bsize < 7)
|
|
{
|
|
bsize++;
|
|
drawColorMarkerAndBrushSize(color);
|
|
while (myTouch.dataAvailable()) {};
|
|
delay(50);
|
|
}
|
|
}
|
|
if ((y > 160) and (y < 192))
|
|
{
|
|
bsize = 4;
|
|
drawColorMarkerAndBrushSize(color);
|
|
while (myTouch.dataAvailable()) {};
|
|
delay(50);
|
|
}
|
|
if ((y > 192) and (y < 224))
|
|
{
|
|
if (bsize > 1)
|
|
{
|
|
bsize--;
|
|
drawColorMarkerAndBrushSize(color);
|
|
while (myTouch.dataAvailable()) {};
|
|
delay(50);
|
|
}
|
|
}
|
|
if ((y > 400) and (y < 480))
|
|
{ int st = 0;
|
|
myGLCD.setColor(VGA_RED);
|
|
myGLCD.print("E", myGLCD.getDisplayXSize() - 24, 412);
|
|
myGLCD.print("X", myGLCD.getDisplayXSize() - 24, 428);
|
|
myGLCD.print("I", myGLCD.getDisplayXSize() - 24, 444);
|
|
myGLCD.print("T", myGLCD.getDisplayXSize() - 24, 460);
|
|
delay(1000);
|
|
while (st < 30) {
|
|
delay(100);
|
|
but();
|
|
st++;
|
|
//if(st>100)break;
|
|
if (valBtnL || valBtnR || valBtnT || valBtnD)
|
|
{ valBtnPause = 0;
|
|
exit_menu = 0;
|
|
break;
|
|
}
|
|
if (myTouch.dataAvailable())
|
|
{ myTouch.read();
|
|
x = myTouch.getX();
|
|
y = myTouch.getY();
|
|
if (x > (750) and (x < 800))
|
|
{
|
|
if ((y > 400) and (y < 480))
|
|
{
|
|
loop() ;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
myGLCD.setColor(VGA_WHITE);
|
|
myGLCD.print("E", myGLCD.getDisplayXSize() - 24, 412);
|
|
myGLCD.print("X", myGLCD.getDisplayXSize() - 24, 428);
|
|
myGLCD.print("I", myGLCD.getDisplayXSize() - 24, 444);
|
|
myGLCD.print("T", myGLCD.getDisplayXSize() - 24, 460);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
|
|
//***********************************************************************************
|
|
void drawColorMarkerAndBrushSize(int col)
|
|
{
|
|
myGLCD.setColor(VGA_BLACK);
|
|
myGLCD.fillRect(25, 0, 31, 239);
|
|
myGLCD.fillRect(myGLCD.getDisplayXSize() - 31, 161, myGLCD.getDisplayXSize() - 1, 191);
|
|
myGLCD.setColor(VGA_WHITE);
|
|
myGLCD.drawPixel(25, (col * 30) + 15);
|
|
for (int i = 1; i < 7; i++)
|
|
myGLCD.drawLine(25 + i, ((col * 30) + 15) - i, 25 + i, ((col * 30) + 15) + i);
|
|
|
|
if (color == 1)
|
|
myGLCD.setColor(VGA_WHITE);
|
|
else
|
|
myGLCD.setColor(colorlist[col]);
|
|
if (bsize == 1)
|
|
myGLCD.drawPixel(myGLCD.getDisplayXSize() - 15, 177);
|
|
else
|
|
myGLCD.fillCircle(myGLCD.getDisplayXSize() - 15, 177, bsize);
|
|
|
|
myGLCD.setColor(colorlist[col]);
|
|
}
|
|
|