Browse Source

Improve handling of streaming drivers with a setpos and a fillarea acceleration

remotes/origin_old/release/v2.9
inmarket 6 years ago
parent
commit
5c84885995
  1. 2
      drivers/gdisp/readme.txt
  2. 12
      src/gdisp/gdisp.c

2
drivers/gdisp/readme.txt

@ -18,7 +18,7 @@ Nokia6610GE12 - Small (130x130) 12bit color LCD (untested)
PCD8544 - Small monochrome LCD
PCF8812 - Small monochrome LCD
R61505U - Mid-sized color LCD displays eg RGB565 320x240
RA6963 - Small monochrom LCD
RA6963 - Small monochrome LCD
RA8875 - Mid-sized color LCD displays eg RGB565 320x240
S6D1121 - Mid-sized color LCD displays eg RGB565 320x240
SPFD54124B - Mid-sized color LCD displays eg RGB565 320x240

12
src/gdisp/gdisp.c

@ -179,6 +179,12 @@ static GFXINLINE void fillarea(GDisplay *g) {
if (gvmt(g)->fill)
#endif
{
#if GDISP_HARDWARE_STREAM_POS && GDISP_HARDWARE_STREAM_WRITE
if ((g->flags & GDISP_FLG_SCRSTREAM)) {
gdisp_lld_write_stop(g);
g->flags &= ~GDISP_FLG_SCRSTREAM;
}
#endif
gdisp_lld_fill_area(g);
return;
}
@ -363,6 +369,12 @@ static void vline_clip(GDisplay *g) {
if (gvmt(g)->fill)
#endif
{
#if GDISP_HARDWARE_STREAM_POS && GDISP_HARDWARE_STREAM_WRITE
if ((g->flags & GDISP_FLG_SCRSTREAM)) {
gdisp_lld_write_stop(g);
g->flags &= ~GDISP_FLG_SCRSTREAM;
}
#endif
g->p.cy = g->p.y1 - g->p.y + 1;
g->p.cx = 1;
gdisp_lld_fill_area(g);

Loading…
Cancel
Save