X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fgraphics%2Fdisplay.h;h=092abbe1404afa2fe303883ed49cce9f5cfbe478;hb=47e65794986e2b926448b3c7f99628eec40b6bb8;hp=9c62b51ee854d1fe3fb98858a4f924f97cdce5d4;hpb=9ffb9f22faf7c540083e6df828500d54aabcbb56;p=libs%2Fgui.git diff --git a/source/graphics/display.h b/source/graphics/display.h index 9c62b51..092abbe 100644 --- a/source/graphics/display.h +++ b/source/graphics/display.h @@ -4,6 +4,7 @@ #include #include #include +#include #include "errordialog.h" #include "monitor.h" #include "videomode.h" @@ -18,12 +19,16 @@ class Display public: struct Private; + sigc::signal signal_got_focus; + sigc::signal signal_lost_focus; + private: std::list monitors; Monitor *primary_monitor; std::list modes; Private *priv; ErrorDialog *err_dialog; + Window *focus_window; public: Display(const std::string &disp_name = std::string()); @@ -42,6 +47,13 @@ public: const VideoMode *find_mode(const VideoMode &, float = 0.5f) const; const VideoMode *find_mode(unsigned, unsigned) const; +private: + void window_got_focus(Window &); + void window_lost_focus(); +public: + Window *get_focus_window() const { return focus_window; } + +public: void tick(); private: bool process_events();