void lcd_draw_circle(uint16_t x, uint16_t y, uint16_t rad, uint16_t color, uint8_t fill){ int16_t a,b,p; a = 0; b = rad; p = 1 - rad; do{ if(fill){ lcd_draw_line(x-a, y+b, x+a, y+b, color); lcd_draw_line(x-a, y-b, x+a, y-b, color); lcd_draw_line(x-b, y+a, x+b, y+a, color); lcd_draw_line(x-b, y-a, x+b, y-a, color); } else{ lcd_set_point(a+x, b+y, color); lcd_set_point(b+x, a+y, color); lcd_set_point(x-a, b+y, color); lcd_set_point(x-b, a+y, color); lcd_set_point(b+x, y-a, color); lcd_set_point(a+x, y-b, color); lcd_set_point(x-a, y-b, color); lcd_set_point(x-b, y-a, color); } if(p < 0){ p += 3 + 2 * a++; } else{ p += 5 + 2 * (a++ - b--); } }while(a<=b); }
void gui_drawIcon(uint16_t x, uint16_t y, char *name, uint16_t color) { lcd_draw_rectangle(x-32, y-48, x+32, y+16, color); lcd_draw_circle(x, y-16, 24, color); lcd_draw_line(x, y-48, x, y+16, color); lcd_draw_line(x-32, y-16, x+32, y-16, color); lcd_show_str(x-32, y+16, name, GRAYBLUE); }
void drawAdjustPoint(u16 x, u16 y) { lcd_draw_line(x-12, y, x+13, y, RED);//横线 lcd_draw_line(x, y-12, x, y+13, RED);//竖线 lcd_draw_point(x+1, y+1, RED); lcd_draw_point(x-1, y+1, RED); lcd_draw_point(x+1, y-1, RED); lcd_draw_point(x-1, y-1, RED); lcd_draw_circle(x, y, 6, RED);//画中心圈 }
/*---------------------------------------------------------------------------*/ void lcd_draw_vertical_line(int pixels) { if(WITH_LCD) { if(pixels > SCROLL_AREA) { pixels = SCROLL_AREA; } lcd_draw_line(LCD_MAX_X, LCD_MAX_Y - pixels, LCD_MAX_X, LCD_MAX_Y); } }
void gui_drawHome(void) { lcd_draw_line(0, 290, 239, 290, BLACK); lcd_show_str(88, 290, "HOME", BLUE); lcd_fill(APP1_X-20, APP1_Y, APP1_X+140, APP1_Y+65, GRAYBLUE); lcd_show_str(APP1_X, APP1_Y, "Swinging around", BRRED); lcd_fill(APP2_X-20, APP2_Y, APP2_X+140, APP2_Y+65, GRAYBLUE); lcd_show_str(APP2_X, APP2_Y, "Starts swinging", BRRED); lcd_fill(APP3_X-20, APP3_Y, APP3_X+140, APP3_Y+65, GRAYBLUE); lcd_show_str(APP3_X, APP3_Y, "Inverted pendulum", BRRED); lcd_fill(APP4_X-20, APP4_Y, APP4_X+140, APP4_Y+65, GRAYBLUE); lcd_show_str(APP4_X, APP4_Y, "Circular motion", BRRED); }
int main(void) { uint16 i =0; // char ch = 0x01; gpio_init(); //Init GPIO's //spi_init(); //Init SPI0 lcd_init(); lcd_clear(ILI9341_White); //lcd_set_Orientation(rot270); lcd_set_font(&Font13x16, true); //lcd_write_center_string(10,"Test"); lcd_draw_rect(0,240,120,160,ILI9341_Navy,true); lcd_set_font_color(ILI9341_White); lcd_set_background_color(ILI9341_Navy); lcd_set_font(&Font8x11, true); lcd_write_center_string(145,"G A S S M A N N"); lcd_set_font(&Font13x16, true); lcd_write_center_string(125,"PCS - 2020"); lcd_draw_rect(0,240,0,20,ILI9341_GRAY1,true); lcd_draw_line(0,240,20,20,ILI9341_Black); lcd_draw_circle(120, 60,20,ILI9341_Red); lcd_set_font_color(ILI9341_Black); //lcd_set_background_color(ILI9341_White); lcd_set_background_color(ILI9341_GRAY1); lcd_draw_bitmap(60,5,&IPOD_SYMBOL); lcd_draw_bitmap(70,5,&FM_SYMBOL); lcd_draw_bitmap(80,5,&IR_SYMBOL); lcd_set_background_color(ILI9341_GRAY1); lcd_draw_battery(200, 5, 50); lcd_write_digit(5,200, 3, 9); lcd_send_cmd(ILI9341_DISPON); //Display on while (1) { OUTPUT_TOGGLE(GREEN_LED); delay(); lcd_set_background_color(ILI9341_GRAY1); lcd_draw_battery(200, 5, i%100); //lcd_set_background_color(i); lcd_set_background_color(ILI9341_White); //lcd_set_font_color(i); lcd_write_digit(5,200, i++%10, 9); //OUTPUT_TOGGLE(RED_LED); //delay(); //OUTPUT_TOGGLE(BLUE_LED); //delay(); //delay(); //spi_send(ch); //Send char over SPI } }