mirror of
https://github.com/genodelabs/genode.git
synced 2025-05-31 14:40:54 +00:00
This patch adds a safety check to nit_fb to ensures that nit_fb never runs out of RAM. Should the available RAM not suffice for resizing the virtual framebuffer to a new mode, it keeps the current mode.
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.