- keyboard.signal_button_press.connect(sigc::mem_fun(this, &Ev::key_press));
- keyboard.signal_button_release.connect(sigc::mem_fun(this, &Ev::key_release));
- keyboard.signal_character.connect(sigc::mem_fun(this, &Ev::character));
- mouse.signal_button_press.connect(sigc::mem_fun(this, &Ev::button_press));
- mouse.signal_button_release.connect(sigc::mem_fun(this, &Ev::button_release));
- mouse.signal_axis_motion.connect(sigc::mem_fun(this, &Ev::axis_motion));
+ 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));
+ keyboard.signal_character.connect(sigc::bind_return(sigc::mem_fun(this, &Ev::character), false));
+ 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));
+ if(Input::Touchscreen::is_available())
+ {
+ touch = new Input::Touchscreen(window);
+ gesture = new Input::GestureDetector(*touch);
+ touch->signal_button_press.connect(sigc::bind_return(sigc::mem_fun(this, &Ev::touch_press), false));
+ touch->signal_button_release.connect(sigc::bind_return(sigc::mem_fun(this, &Ev::touch_release), false));
+ touch->signal_axis_motion.connect(sigc::bind_return(sigc::mem_fun(this, &Ev::touch_motion), false));
+ gesture->signal_button_press.connect(sigc::bind_return(sigc::mem_fun(this, &Ev::gesture_started), false));
+ gesture->signal_button_release.connect(sigc::bind_return(sigc::mem_fun(this, &Ev::gesture_ended), false));
+ gesture->signal_axis_motion.connect(sigc::bind_return(sigc::mem_fun(this, &Ev::gesture_axis), false));
+ }
+ window.set_title("Event tester");