Étape 6: Dessin de Rectangles
void color_lcd_draw_rectangle (couleur int, unsigned char xs, unsigned char ys, unsigned char xe, unsigned char ye)
{
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 = (((unsigned int)(xe-xs+1)*(ye-ys+1))/2) ;
pour (unsigned int i = 0; i < half_rect_area; i ++)
{
color_lcd_send_data (couleur >> 4) ;
color_lcd_send_data (((color&0x0F) << 4) | () couleur >> 8)) ;
color_lcd_send_data(Color) ;
}
}
Il commence par la définition de la région à l’aide de CASET et PASET, initie une écriture de RAM et remplit ensuite la région avec une couleur unie. Puisque les trois lignes de send_data effectivement remplissent 2 pixels au lieu de 1, la boucle a seulement à compter jusqu'à la moitié de la superficie rectangle.