Stap 6: Tekening rechthoeken
VOID color_lcd_draw_rectangle (int kleur, unsigned char xs, unsigned char ys, unsigned char xe, unsigned char gij)
{
color_lcd_send_cmd(PASET);
color_lcd_send_data(YS);
color_lcd_send_data(ye);
color_lcd_send_cmd(CASET);
color_lcd_send_data(XS);
color_lcd_send_data(XE);
color_lcd_send_cmd(RAMWR);
unsigned int half_rect_area = (((niet-ondertekende int)(xe-xs+1)*(ye-ys+1))/2);
voor (unsigned int i = 0; ik < half_rect_area; i ++)
{
color_lcd_send_data (kleur >> 4);
color_lcd_send_data (((color&0x0F) << 4) | () Kleur >> 8));
color_lcd_send_data(Color);
}
}
Het begint door te definiëren van de regio met behulp van CASET en PASET, initieert een RAM schrijven en vervolgens de regio vult met een effen kleur. Aangezien de drie lijnen van de send_data eigenlijk 2 pixels in plaats van 1, vul de voor lus alleen heeft te tellen tot de helft van de rechthoek gebied.