mirror of
https://github.com/genodelabs/genode.git
synced 2025-06-17 14:48:20 +00:00
@ -20,6 +20,7 @@
|
|||||||
#include <nitpicker_gfx/texture_painter.h>
|
#include <nitpicker_gfx/texture_painter.h>
|
||||||
#include <os/pixel_rgb565.h>
|
#include <os/pixel_rgb565.h>
|
||||||
#include <os/static_root.h>
|
#include <os/static_root.h>
|
||||||
|
#include <timer_session/connection.h>
|
||||||
|
|
||||||
/* local includes */
|
/* local includes */
|
||||||
#include "services.h"
|
#include "services.h"
|
||||||
@ -228,9 +229,9 @@ class Framebuffer::Session_component : public Genode::Rpc_object<Session>
|
|||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
|
|
||||||
Window_content &_window_content;
|
Timer::Connection _timer;
|
||||||
|
|
||||||
Genode::Signal_context_capability _sync_sigh;
|
Window_content &_window_content;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
@ -252,15 +253,15 @@ class Framebuffer::Session_component : public Genode::Rpc_object<Session>
|
|||||||
void mode_sigh(Genode::Signal_context_capability sigh) override {
|
void mode_sigh(Genode::Signal_context_capability sigh) override {
|
||||||
_window_content.mode_sigh(sigh); }
|
_window_content.mode_sigh(sigh); }
|
||||||
|
|
||||||
void sync_sigh(Genode::Signal_context_capability sigh) override {
|
void sync_sigh(Genode::Signal_context_capability sigh) override
|
||||||
_sync_sigh = sigh; }
|
{
|
||||||
|
_timer.sigh(sigh);
|
||||||
|
_timer.trigger_periodic(10*1000);
|
||||||
|
}
|
||||||
|
|
||||||
void refresh(int x, int y, int w, int h) override
|
void refresh(int x, int y, int w, int h) override
|
||||||
{
|
{
|
||||||
_window_content.redraw_area(x, y, w, h);
|
_window_content.redraw_area(x, y, w, h);
|
||||||
|
|
||||||
if (_sync_sigh.valid())
|
|
||||||
Genode::Signal_transmitter(_sync_sigh).submit();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user