Functions | |
long | con::vc::smode ([in] byte mode,[in] l4_threadid_t ev_handler) |
Set vc IN/OUT mode. | |
long | con::vc::gmode ([out] byte *mode,[out] unsigned long *sbuf_1size,[out] unsigned long *sbuf_2size,[out] unsigned long *sbuf_3size) |
Get IN/OUT mode. | |
long | con::vc::share ([in] l4_threadid_t client) |
Allow client to access the console and map the physical framebuffer. | |
long | con::vc::revoke ([in] l4_threadid_t client) |
Revoke right to access the console and map the physcial framebuffer. | |
long | con::vc::close () |
Close virtual console. | |
long | con::vc::pslim_fill ([in] l4con_pslim_rect_t rect,[in] l4con_pslim_color_t color) |
Fill rectangular area of virtual framebuffer with color. | |
long | con::vc::pslim_copy ([in] l4con_pslim_rect_t rect,[in] short dx,[in] short dy) |
Copy rectangular area of virtual framebuffer. | |
long | con::vc::pslim_bmap ([in] l4con_pslim_rect_t rect,[in] l4con_pslim_color_t fg_color,[in] l4con_pslim_color_t bg_color,[in, ref, size_is(bmap_size)] byte *bmap,[in] long bmap_size,[in] byte bmap_type) |
Set rectangular area of virtual framebuffer with foreground and background color mask in (monochrome) bitmap. | |
long | con::vc::pslim_set ([in] l4con_pslim_rect_t rect,[in, ref, size_is(pmap_size)] byte *pmap,[in] long pmap_size) |
Set rectangular area of virtual framebuffer with color in pixelmap. | |
long | con::vc::pslim_cscs ([in] l4con_pslim_rect_t rect,[in, ref, size_is(y_l)] unsigned char *y,[in] int y_l,[in, ref, size_is(u_l)] unsigned char *u,[in] int u_l,[in, ref, size_is(v_l)] unsigned char *v,[in] int v_l,[in] long yuv_type,[in] char scale) |
Convert pixmap from YUV to RGB color space, scale and set rectangular area of virtual framebuffer. | |
long | con::vc::stream_cscs ([in] l4con_pslim_rect_t rect_src,[in] l4con_pslim_rect_t rect_dst,[in] byte yuv_type,[out] fpage *buffer,[out] unsigned long *offs_y,[out] unsigned long *offs_u,[out] unsigned long *offs_v) |
Streaming version of pslim_cscs(). | |
long | con::vc::graph_smode ([in] byte g_mode) |
Setup graphics mode of current virtual console. | |
long | con::vc::graph_gmode ([out] byte *g_mode,[out] l4_uint32_t *xres,[out] l4_uint32_t *yres,[out] l4_uint32_t *bits_per_pixel,[out] l4_uint32_t *bytes_per_pixel,[out] l4_uint32_t *bytes_per_line,[out] l4_uint32_t *flags,[out] l4_uint32_t *xtxt,[out] l4_uint32_t *ytxt) |
Get graphics mode and mode parameters of current virtual console. | |
long | con::vc::graph_get_rgb ([out] l4_uint32_t *red_offs,[out] l4_uint32_t *red_len,[out] l4_uint32_t *green_offs,[out] l4_uint32_t *green_len,[out] l4_uint32_t *blue_offs,[out] l4_uint32_t *blue_len) |
Get RGB values of current virtual console. | |
long | con::vc::graph_mapfb ([in] unsigned long fb_offset,[out] fpage *page,[out] unsigned long *page_offset) |
Map the graphics memory into the client. | |
long | con::vc::ev_sflt ([in] unsigned long filter) |
Setup input event filter. | |
long | con::vc::ev_gflt ([out] unsigned long *filter) |
Get event filter of current virtual console. | |
long | con::vc::puts ([in, ref, size_is(len)] char *s,[in] int len,[in] short x,[in] short y,[in] l4con_pslim_color_t fg_color,[in] l4con_pslim_color_t bg_color) |
Put string at x, y. | |
long | con::vc::puts_scale ([in, ref, size_is(len)] char *s,[in] int len,[in] short x,[in] short y,[in] l4con_pslim_color_t fg_color,[in] l4con_pslim_color_t bg_color,[in] short scale_x,[in] short scale_y) |
Put string at x, y. | |
long | con::vc::puts_attr ([in, ref, size_is(strattr_size)] short *s,[in] int strattr_size,[in] short x,[in] short y) |
Put colored string at x, y. | |
long | con::vc::direct_setfb ([in] l4dm_dataspace_t data_ds) |
Make virtual framebuffer public to console. | |
long | con::vc::direct_update ([in] l4con_pslim_rect_t rect) |
Update region using virtual framebuffer. |
long con::vc::smode | ( | [in] byte | mode, | |
[in] l4_threadid_t | ev_handler | |||
) | [inherited] |
Set vc IN/OUT mode.
mode | con protocol macro describing vc mode:
| |
ev_handler | thread id of event handler |
long con::vc::gmode | ( | [out] byte * | mode, | |
[out] unsigned long * | sbuf_1size, | |||
[out] unsigned long * | sbuf_2size, | |||
[out] unsigned long * | sbuf_3size | |||
) | [inherited] |
Get IN/OUT mode.
mode | con protocol macro describing vc mode | |
sbuf_1size,sbuf_2size,sbuf_3size | size of receive buffers |
long con::vc::share | ( | [in] l4_threadid_t | client | ) | [inherited] |
Allow client to access the console and map the physical framebuffer.
client | thread ID of client to share |
long con::vc::revoke | ( | [in] l4_threadid_t | client | ) | [inherited] |
Revoke right to access the console and map the physcial framebuffer.
client | thread ID of client to revoke |
long con::vc::close | ( | ) | [inherited] |
Close virtual console.
long con::vc::pslim_fill | ( | [in] l4con_pslim_rect_t | rect, | |
[in] l4con_pslim_color_t | color | |||
) | [inherited] |
Fill rectangular area of virtual framebuffer with color.
Make use of hardware support if possible.
rect | vfb area info | |
color | fill color |
long con::vc::pslim_copy | ( | [in] l4con_pslim_rect_t | rect, | |
[in] short | dx, | |||
[in] short | dy | |||
) | [inherited] |
Copy rectangular area of virtual framebuffer.
Make use of hardware support if possible.
rect | vfb area info | |
dx | destination x coordinate (may be negative) | |
dy | dito for y coordinate |
long con::vc::pslim_bmap | ( | [in] l4con_pslim_rect_t | rect, | |
[in] l4con_pslim_color_t | fg_color, | |||
[in] l4con_pslim_color_t | bg_color, | |||
[in, ref, size_is(bmap_size)] byte * | bmap, | |||
[in] long | bmap_size, | |||
[in] byte | bmap_type | |||
) | [inherited] |
Set rectangular area of virtual framebuffer with foreground and background color mask in (monochrome) bitmap.
rect | vfb area info | |
fg_color | foreground color | |
bg_color | background color | |
bmap | mask as bitmap | |
bmap_size | of of bitmap | |
bmap_type | type of bitmap: starting most or least significant bit (START_MSB/_LSB) |
long con::vc::pslim_set | ( | [in] l4con_pslim_rect_t | rect, | |
[in, ref, size_is(pmap_size)] byte * | pmap, | |||
[in] long | pmap_size | |||
) | [inherited] |
Set rectangular area of virtual framebuffer with color in pixelmap.
Pixelmap is a colored bitmap.
rect | vfb area info | |
pmap | pixmap | |
pmap_size | length of pixmap |
long con::vc::pslim_cscs | ( | [in] l4con_pslim_rect_t | rect, | |
[in, ref, size_is(y_l)] unsigned char * | y, | |||
[in] int | y_l, | |||
[in, ref, size_is(u_l)] unsigned char * | u, | |||
[in] int | u_l, | |||
[in, ref, size_is(v_l)] unsigned char * | v, | |||
[in] int | v_l, | |||
[in] long | yuv_type, | |||
[in] char | scale | |||
) | [inherited] |
Convert pixmap from YUV to RGB color space, scale and set rectangular area of virtual framebuffer.
rect | vfb area info | |
yuv_type | type of pixmap's YUV encoding | |
scale | scale factor of pixmap (defaults to 1) (NOT SUPPORTED YET) | |
y,u,v | YUV values as arrays | |
y_l,u_l,v_l | lenght of arrays |
long con::vc::stream_cscs | ( | [in] l4con_pslim_rect_t | rect_src, | |
[in] l4con_pslim_rect_t | rect_dst, | |||
[in] byte | yuv_type, | |||
[out] fpage * | buffer, | |||
[out] unsigned long * | offs_y, | |||
[out] unsigned long * | offs_u, | |||
[out] unsigned long * | offs_v | |||
) | [inherited] |
Streaming version of pslim_cscs().
This function is intended to make use of hardware accelerator support of modern graphics cards. The client writes YUV data to a non-visible "offscreen" region of the graphics memory. The backend scaler of the graphics card converts the data into RGB values and scales the window to fit into the destination rectangle. Most speed is gained by reducing the transported amount of data when using YV12 mode: Instead of 16 bits per pixel we use 12 bits which saves 25% memory writes to the very slow video memory of the graphics card.
rect_src | dimensions of the original YUV picture | |
rect_dst | dimensions of the scaled RGB picture | |
yuv_type | type of pixmap's YUV encoding, currently only formats pSLIM_CSCS_PLN_YV12 and pSLIM_CSCS_PCK_YUY2 are supported. | |
buffer | offscreen buffer to copy the YUV picture into | |
offs_y | Y offset into buffer | |
offs_u | U offset into buffer | |
offs_v | V offset into buffer |
long con::vc::graph_smode | ( | [in] byte | g_mode | ) | [inherited] |
long con::vc::graph_gmode | ( | [out] byte * | g_mode, | |
[out] l4_uint32_t * | xres, | |||
[out] l4_uint32_t * | yres, | |||
[out] l4_uint32_t * | bits_per_pixel, | |||
[out] l4_uint32_t * | bytes_per_pixel, | |||
[out] l4_uint32_t * | bytes_per_line, | |||
[out] l4_uint32_t * | flags, | |||
[out] l4_uint32_t * | xtxt, | |||
[out] l4_uint32_t * | ytxt | |||
) | [inherited] |
Get graphics mode and mode parameters of current virtual console.
g_mode | con protocol macro describing graphics mode | |
xres,yres | x/y dimension of the accessible screen | |
bits_per_pixel | bits per pixel in this graphics mode | |
bytes_per_pixel | bytes per pixel in this graphics mode | |
bytes_per_line | bytes per line in this graphics mode | |
flags | acceleration capabilities | |
xtxt,ytxt | x/y dimension of the font |
long con::vc::graph_get_rgb | ( | [out] l4_uint32_t * | red_offs, | |
[out] l4_uint32_t * | red_len, | |||
[out] l4_uint32_t * | green_offs, | |||
[out] l4_uint32_t * | green_len, | |||
[out] l4_uint32_t * | blue_offs, | |||
[out] l4_uint32_t * | blue_len | |||
) | [inherited] |
Get RGB values of current virtual console.
red_offs | start of red value in pixel | |
red_len | length of red value in pixel | |
green_offs | start of green value in pixel | |
green_len | length of green value in pixel | |
blue_offs | start of blue value in pixel | |
blue_len | length of blue value in pixel |
long con::vc::graph_mapfb | ( | [in] unsigned long | fb_offset, | |
[out] fpage * | page, | |||
[out] unsigned long * | page_offset | |||
) | [inherited] |
Map the graphics memory into the client.
page | graphics memory | |
offset | offset into mapped memory |
long con::vc::ev_sflt | ( | [in] unsigned long | filter | ) | [inherited] |
Setup input event filter.
filter |
long con::vc::ev_gflt | ( | [out] unsigned long * | filter | ) | [inherited] |
Get event filter of current virtual console.
filter |
long con::vc::puts | ( | [in, ref, size_is(len)] char * | s, | |
[in] int | len, | |||
[in] short | x, | |||
[in] short | y, | |||
[in] l4con_pslim_color_t | fg_color, | |||
[in] l4con_pslim_color_t | bg_color | |||
) | [inherited] |
Put string at x, y.
This is an extension of the original SLIM protocol to reduce the communication overhead of large text strings. Otherwise we would have to transmit graphics data between client and TUDOS console to write text.
s | string containing char | |
len | length of string | |
x | destination x coordinate | |
y | dito for y coordinate | |
fg_color | foreground color | |
bg_color | background color |
long con::vc::puts_scale | ( | [in, ref, size_is(len)] char * | s, | |
[in] int | len, | |||
[in] short | x, | |||
[in] short | y, | |||
[in] l4con_pslim_color_t | fg_color, | |||
[in] l4con_pslim_color_t | bg_color, | |||
[in] short | scale_x, | |||
[in] short | scale_y | |||
) | [inherited] |
Put string at x, y.
s | string containing char | |
len | length of string | |
x | destination x coordinate | |
y | dito for y coordinate | |
fg_color | foreground color | |
bg_color | background color | |
scale_x | Horizontal scale factor | |
scale_y | Vertical scale factor |
long con::vc::puts_attr | ( | [in, ref, size_is(strattr_size)] short * | s, | |
[in] int | strattr_size, | |||
[in] short | x, | |||
[in] short | y | |||
) | [inherited] |
Put colored string at x, y.
An extended version of puts especially designed for Linux.
s | string containing char/attr. | |
strattr_size | length of string | |
x | destination x coordinate | |
y | dito for y coordinate |
long con::vc::direct_setfb | ( | [in] l4dm_dataspace_t | data_ds | ) | [inherited] |
Make virtual framebuffer public to console.
This function makes it possible for a client to map a virtual framebuffer into the console. If something of the virtual framebuffer changes, the client sends an update event (using direct_update). This mechanism was especially designed for use with the XFree86 stub of the TUDOS console.
data_ds | dataspace of virtual framebuffer |
long con::vc::direct_update | ( | [in] l4con_pslim_rect_t | rect | ) | [inherited] |
Update region using virtual framebuffer.
See direct_setfb for more explanations.
rect | region to update |