139,6 → 139,7 |
/* Back buffer */ |
bb_cell_t *backbuf; |
unsigned int bbsize; |
bool bb_invalid; |
} viewport_t; |
|
typedef struct { |
559,6 → 560,7 |
|
viewports[i].bbsize = bbsize; |
viewports[i].backbuf = backbuf; |
viewports[i].bb_invalid = false; |
|
viewports[i].initialized = true; |
|
883,7 → 885,8 |
|
if (glyph != data[i].character || |
rgb.fg_color != bbp->fg_color || |
rgb.bg_color != bbp->bg_color) { |
rgb.bg_color != bbp->bg_color || |
vport->bb_invalid) { |
bbp->glyph = data[i].character; |
|
bbp->fg_color = rgb.fg_color; |
1623,6 → 1626,16 |
free(viewports[i].backbuf); |
retval = EOK; |
break; |
case FB_VIEWPORT_INVALIDATE: |
i = IPC_GET_ARG1(call); |
if (i >= MAX_VIEWPORTS) { |
retval = EINVAL; |
break; |
} |
viewports[i].bb_invalid = true; |
retval = EOK; |
break; |
|
case FB_SET_STYLE: |
retval = fb_set_style(vport, IPC_GET_ARG1(call)); |
break; |