Add mode_sigh and release to framebuffer::Session

The 'mode_sigh' function allows the client to receive notifications
about server-side display-mode changes. To respond to such a signal, the
client can use the new 'release' function, which acknowledges the mode
change at the server and frees the original framebuffer dataspace. Via a
subsequent call of 'dataspace', a framebuffer dataspace corresponding to
the new mode can be obtained. Related to issue #11.
This commit is contained in:
Norman Feske
2012-01-20 21:34:01 +01:00
parent 9e3ecade16
commit c35207d9c4
8 changed files with 72 additions and 13 deletions

View File

@@ -196,7 +196,10 @@ namespace Framebuffer
{
public:
Genode::Dataspace_capability dataspace() { return _window_content->fb_ds_cap(); }
Genode::Dataspace_capability dataspace() {
return _window_content->fb_ds_cap(); }
void release() { }
Mode mode()
{
@@ -204,6 +207,8 @@ namespace Framebuffer
Mode::RGB565);
}
void mode_sigh(Genode::Signal_context_capability) { }
void refresh(int x, int y, int w, int h) {
window_content()->redraw_area(x, y, w, h); }
};