genode/repos/os/src/server/nit_fb
Norman Feske 7d55adf01c nit_fb: defer mode change to client response
The '_active_mode' must not be changed at any time except when the
client asks for the 'Framebuffer::mode'. Otherwise, the dimensions of
dataspace used by the client is not always consistent with the mode
information as gathered by the client.
2018-05-30 13:36:15 +02:00
..
main.cc nit_fb: defer mode change to client response 2018-05-30 13:36:15 +02:00
README nit_fb: add attribute for initial dimensions 2018-02-09 13:34:16 +01:00
target.mk nit_fb: change to component API 2016-08-10 11:07:46 +02:00

The 'nit_fb' server provides a single session of the 'Input' and 'Framebuffer'
services by presenting a Nitpicker view at a predefined screen position. If
instantiated multiple times, it can be used to statically arrange multiple
virtual frame buffers on one physical screen. The size and screen position
of each 'nit_fb' instance can be defined via Genode's configuration mechansim
using the following attributes of the 'nit_fb' config node:

! <config xpos="100" ypos="150" width="300" height="200" origin="top_left"/>

The 'origin' attribute denotes the coordinate origin of the values specified
in the 'xpos' and 'ypos' attributes. Supported origins are "top_left",
"top_right", "bottom_left", and "bottom_right". This attribute allows one to
align the nitpicker view at any of the four screen boundaries.

The 'width' and 'height' attribute values can be negative. If so, they are
relative to the physical screen size. E.g., when using a screen size of
640x480, the effective width for a 'width' attribute value of "-100" would
be 640 - 100 = 540.

In case 'nit_fb' is used in a dynamic fashion, e.g., in combination with a
window manager, the 'initial_width' and 'initial_height' attributes must be
used to set the initial dimensions of the frame buffer rather than 'width'
and 'height'. Mixing those attributes is not supported, 'width' or 'height'
will have priority.