ugfx_release_2.6
root 2014-07-03 00:19:39 +03:00
parent 5c421b09f7
commit fd17106f99
1 changed files with 12 additions and 11 deletions

View File

@ -83,9 +83,7 @@ LLDSPEC bool_t gdisp_lld_init(GDisplay *g) {
unsigned int i; unsigned int i;
for (i = 0; i < (GDISP_SCREEN_WIDTH * (GDISP_SCREEN_HEIGHT / 8)); i++) for (i = 0; i < (GDISP_SCREEN_WIDTH * (GDISP_SCREEN_HEIGHT / 8)); i++) {
{
RAM(g)[i] = 0x00;
write_data(g, 0x00, 1); write_data(g, 0x00, 1);
} }
@ -110,21 +108,21 @@ LLDSPEC bool_t gdisp_lld_init(GDisplay *g) {
LLDSPEC void gdisp_lld_flush(GDisplay *g) { LLDSPEC void gdisp_lld_flush(GDisplay *g) {
// Don't flush if we don't need it. // Don't flush if we don't need it.
if (!(g->flags & GDISP_FLG_NEEDFLUSH)) if (!(g->flags & GDISP_FLG_NEEDFLUSH)) {
return; return;
}
acquire_bus(g); acquire_bus(g);
write_cmd(g, PCF8812_SET_X); write_cmd(g, PCF8812_SET_X);
write_cmd(g, PCF8812_SET_Y); write_cmd(g, PCF8812_SET_Y);
unsigned char x, y; unsigned int i;
for (y = 0; y < (GDISP_SCREEN_HEIGHT / 8); y++) { for (i = 0; i < (GDISP_SCREEN_WIDTH * (GDISP_SCREEN_HEIGHT / 8)); i++) {
for(x = 0; x < GDISP_SCREEN_WIDTH; x++) { write_data(g, RAM(g)[i], 1);
write_data(g, RAM(g) + xyaddr(x, y), 1);
}
} }
release_bus(g); release_bus(g);
} }
#endif #endif
@ -152,10 +150,13 @@ LLDSPEC bool_t gdisp_lld_init(GDisplay *g) {
y = g->p.x; y = g->p.x;
break; break;
} }
if (gdispColor2Native(g->p.color) == Black)
if (gdispColor2Native(g->p.color) != Black) {
RAM(g)[xyaddr(x, y)] |= xybit(y); RAM(g)[xyaddr(x, y)] |= xybit(y);
else } else {
RAM(g)[xyaddr(x, y)] &= ~xybit(y); RAM(g)[xyaddr(x, y)] &= ~xybit(y);
}
g->flags |= GDISP_FLG_NEEDFLUSH; g->flags |= GDISP_FLG_NEEDFLUSH;
} }
#endif #endif