Framebuffer API change
norman.feske at ...1...
Wed Jan 25 14:52:22 CET 2012
as intermediate step to support the dynamic resizing of frame buffers, I
have revisited the 'Framebuffer::Session' interface and thereby broke
The following changes are worth noting:
* The former 'Session::info' is no more. This function was a relict
from the early days when we used to pass out parameters via pointers.
* The new 'mode' function returns a structured object of the type
'Framebuffer::Mode' that contains the mode information and pixel-
* The new 'mode_sigh' function enables a client to register a signal
handler at the framebuffer session. This signal handler gets
notified in the event of server-side mode changes.
* Via the new 'release' function, the client is able to acknowledge a
mode change. By calling it, the client tells the server that it no
longer uses the original framebuffer dataspace. So the server can
replace it by a new one. After having called 'release', the client
can obtain the dataspace for the new mode by calling 'dataspace()'
For now, the primary motivation for this change is our desire to have
resizable virtual framebuffers (i.e., adding a resizing capability to
liquid fb). In the future, we envision the same mechanism to be used to
dynamically change physical framebuffer modes as well.
For comments and technical disussion, please also refer to the relevant
Dr.-Ing. Norman Feske
http://www.genode-labs.com · http://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
More information about the users