X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=examples%2Fev.cpp;h=cc15e71eb394005ac0a18c1a3acb44fa73187261;hb=971d9f711244232c991d77e09b2d801eba8e6d1a;hp=96a2f9eb45c0bcf39c1496c17cff06d466a90f1b;hpb=4464dd5d973c47f6d7a7c352a90bd88cdb717cd2;p=libs%2Fgui.git diff --git a/examples/ev.cpp b/examples/ev.cpp index 96a2f9e..cc15e71 100644 --- a/examples/ev.cpp +++ b/examples/ev.cpp @@ -5,6 +5,8 @@ #include #include #include +#include +#include using namespace Msp; @@ -21,6 +23,8 @@ public: private: virtual void tick(); + void got_focus(); + void lost_focus(); void key_press(unsigned); void key_release(unsigned); void character(StringCodec::unichar); @@ -34,6 +38,8 @@ Ev::Ev(int, char **): keyboard(window), mouse(window) { + window.get_display().signal_got_focus.connect(sigc::mem_fun(this, &Ev::got_focus)); + window.get_display().signal_lost_focus.connect(sigc::mem_fun(this, &Ev::lost_focus)); window.signal_close.connect(sigc::bind(sigc::mem_fun(this, &Ev::exit), 0)); keyboard.signal_button_press.connect(sigc::bind_return(sigc::mem_fun(this, &Ev::key_press), false)); keyboard.signal_button_release.connect(sigc::bind_return(sigc::mem_fun(this, &Ev::key_release), false)); @@ -41,12 +47,24 @@ Ev::Ev(int, char **): mouse.signal_button_press.connect(sigc::bind_return(sigc::mem_fun(this, &Ev::button_press), false)); mouse.signal_button_release.connect(sigc::bind_return(sigc::mem_fun(this, &Ev::button_release), false)); mouse.signal_axis_motion.connect(sigc::bind_return(sigc::mem_fun(this, &Ev::axis_motion), false)); + window.set_title("Event tester"); window.show(); } void Ev::tick() { window.tick(); + Time::sleep(Time::msec); +} + +void Ev::got_focus() +{ + IO::print("got_focus\n"); +} + +void Ev::lost_focus() +{ + IO::print("lost_focus\n"); } void Ev::key_press(unsigned key)