void DemoBubbles(void) { LCD_ClearScreen(); LCD_SetPenColor(1); if(DemoMem[200]) { if(DemoMem[201] > 16) DemoMem[201]--; else DemoMem[200] = 0; } else { if(DemoMem[201] <48) DemoMem[201]++; else DemoMem[200] = 1; } DemoMem[202] = ((63 - DemoMem[201]) < DemoMem[201]) ? (63 - DemoMem[201]) : DemoMem[201]; DemoMem[202] = (DemoMem[202] > 20) ? 20 : DemoMem[202]; LCD_DrawEllipse(28,DemoMem[201],20+20-DemoMem[202],DemoMem[202]); if(DemoMem[203]) { if(DemoMem[204] > 14) DemoMem[204]--; else DemoMem[203] = 0; } else { if(DemoMem[204] <50) DemoMem[204]++; else DemoMem[203] = 1; } DemoMem[205] = ((63 - DemoMem[204]) < DemoMem[204]) ? (63 - DemoMem[204]) : DemoMem[204]; DemoMem[205] = (DemoMem[205] > 20) ? 20 : DemoMem[205]; LCD_DrawEllipse(65,DemoMem[204],22+10-DemoMem[205],DemoMem[205]); if(DemoMem[206]) { if(DemoMem[207] > 10) DemoMem[207]--; else DemoMem[206] = 0; } else { if(DemoMem[207] <54) DemoMem[207]++; else DemoMem[206] = 1; } DemoMem[208] = ((63 - DemoMem[207]) < DemoMem[207]) ? (63 - DemoMem[207]) : DemoMem[207]; DemoMem[208] = (DemoMem[208] > 15) ? 15 : DemoMem[208]; LCD_DrawEllipse(102,DemoMem[207],15+20-DemoMem[208],DemoMem[208]); }
void DemoVector(void) { LCD_ClearScreen(); LCD_SetFillColor(1); LCD_DrawRect(110,20,120,60,1); LCD_DrawLine(0,0,127,0); LCD_DrawLine(0,0,127,16); LCD_DrawLine(0,0,127,32); LCD_DrawLine(0,0,127,48); LCD_DrawLine(0,0,127,63); LCD_SetPenColor(1); LCD_DrawCircle(63,31,31); LCD_DrawCircle(8,50,5); LCD_DrawEllipse(80,40, 30,10); LCD_SetFillColor(0); LCD_DrawRect(12,20,40,40,3); LCD_SetFillColor(-1); LCD_DrawRect(30,50,60,60,1); }
/* ********************************************************************************************************* * Description: Main function * Arguments : None * Returns : None ********************************************************************************************************* */ int main (void) { u8 key; u8 x0,y0,x1,y1,x2,y2; u8 r,a,b; unsigned char flag; tccolor=Blue; SystemInit(); UART0_Init(); LCD_Init (); LPC_GPIO0->FIODIR |= 0x00002C0; //P0.6 0.7 0.9 Output LPC_GPIO2->FIODIR |= 0x00000FF; //P2.13 input P2.0...P2.7 Output Touch_Init(); LCD_Color(0,0,239,239,White); Load_Drow_Dialog(); LCD_Color(279,0,40,40,White); while(1) { if(len==8) { len=0; flag=data[6]; switch(flag) { case 0x01: x0=data[0];y0=data[1];x1=data[2];y1=data[3]; pencolor=colorchange(data[7]); LCD_Color(0,0,239,239,pencolor); LCD_DrawLine(x0,y0,x1,y1); break; case 0x02: x0=data[0];y0=data[1];x1=data[2];y1=data[3];x2=data[4];y2=data[5]; pencolor=colorchange(data[7]); LCD_Color(0,0,239,239,pencolor); LCD_DrawTriangle(x0,y0,x1,y1,x2,y2); break; case 0x03: x0=data[0];y0=data[1];x1=data[2];y1=data[3]; pencolor=colorchange(data[7]); LCD_Color(0,0,239,239,pencolor); LCD_DrawRectangle(x0,y0,x1,y1); break; case 0x04: x0=data[0];y0=data[1];r=data[2]; pencolor=colorchange(data[7]); LCD_Color(0,0,239,239,pencolor); LCD_DrawCircle(x0,y0,r); break; case 0x05: x0=data[0];y0=data[1];a=data[2];b=data[3]; pencolor=colorchange(data[7]); LCD_Color(0,0,239,239,pencolor); LCD_DrawEllipse(x0,y0,a,b); } } key = KEY_Scan(); if(Pen_Point.Key_Sta==Key_Down) //Touch screen is pressed { Pen_Int_Set(0); //Closed interrupt do { Convert_Pos(); Pen_Point.Key_Sta=Key_Up; // Draw_Big_Point(Pen_Point.X0,Pen_Point.Y0); //Drawing if(Pen_Point.Y0>=240) { Load_Drow_Dialog(); switch(Pen_Point.X0/40) { case 0:LCD_Color(279,0,40,40,White);tccolor=Blue;break; case 1:LCD_Color(279,40,40,40,White);tccolor=Yellow;break; case 2:LCD_Color(279,80,40,40,White);tccolor=Green;break; case 3:LCD_Color(279,120,40,40,White);tccolor=Red;break; case 4:LCD_Color(279,160,40,40,White);tccolor=Purple;break; case 5:LCD_Color(279,200,40,40,White);tccolor=Cyan;break; } } /* else { LCD_Color(0,0,239,239,tccolor); }*/ }while(PEN==0); //While the Touch screen is pressing Pen_Int_Set(1); //Opene the interrupt } else delay1ms(1); } }