Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 3792 → Rev 3793

/trunk/uspace/lib/libc/include/ipc/fb.h
47,6 → 47,7
FB_VIEWPORT_SWITCH,
FB_VIEWPORT_CREATE,
FB_VIEWPORT_DELETE,
FB_VIEWPORT_INVALIDATE,
FB_SET_STYLE,
FB_SET_COLOR,
FB_SET_RGB_COLOR,
/trunk/uspace/srv/console/gcons.c
84,6 → 84,12
async_msg_1(fbphone, FB_VIEWPORT_SWITCH, vp);
}
 
static void vp_invalidate(int vp)
{
async_msg_1(fbphone, FB_VIEWPORT_INVALIDATE, vp);
}
 
 
/** Create view port */
static int vp_create(unsigned int x, unsigned int y, unsigned int width,
unsigned int height)
157,6 → 163,7
console_state[consnum] = CONS_SELECTED;
redraw_state(consnum);
 
vp_invalidate(console_vp);
vp_switch(console_vp);
}
 
355,6 → 362,7
for (i = 0; i < CONSOLE_COUNT; i++)
redraw_state(i);
vp_invalidate(console_vp);
vp_switch(console_vp);
}
 
/trunk/uspace/srv/fb/fb.c
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;