This directory contains a backdrop program for Nitpicker. It composes a background image out of a solid color and an arbitrary number of PNG image files. It is able to dynamically respond to configuration changes as well as a changed screen size. Configuration ~~~~~~~~~~~~~ A typical example configuration looks as follows. ! ! ! ! ! ! ! ! ! ! ! Backdrop obtains PNG images file from the libc VFS. In the example, the VFS is configured to present two ROM modules as files in the root directory. Those files are then referred to by the subsequent '' nodes. The final background image is generated by applying a number of graphical operations in the order of their appearance in the configuration. The '' operation fills the entire screen with the solid color as specified by the 'color' attribute. The default color is black. The '' operation loads a PNG image from the VFS, scales and positions it according to the '' attributes, and paints it either as tiles covering the whole screen or as a single image. The supported attributes are :tiled (default "no"): If set to "yes", the image will be used as tile to cover the entire screen. :alpha (default is opaque): A number in the range of 0..255 that specifies the opacity of the image when painted. :anchor (default "center"): Defines the screen position that is used as a basis for positioning the image. Supported values are "top_left", "top", "top_right", "left", "center", "right", "bottom_left", "bottom", and "bottom_right". In the example above, the _genode_logo.png_ image will be positioned in the bottom-right corner of the screen. :xpos and ypos (default "0"): The 'xpos' and 'ypos' attributes define the position of the image relative to the anchor. It is meant for allowing the pixel-perfect fine tuning of positions. :scale (no scaling by default): The 'attribute' specifies the way of how the image should be adjusted to the screen size by the means of proportional scaling. Possible values are "fit" and "zoom". The former scales the image such that the entire image is visible on screen. The latter makes sure that the entire screen is filled with (a viewport of) the image. When using the "zoom" value, the viewport can be defined via the 'anchor', 'xpos', and 'ypos' attributes. Example ~~~~~~~ Please refer to the _gems/run/wm.run_ script for a practical example of using the backdrop.