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.
 
 
 
Play/play5/paint.ino

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]);
}