Add touch events
This commit is contained in:
parent
a4e7b318ed
commit
e37bdf6bd2
7 changed files with 21 additions and 0 deletions
|
|
@ -16,6 +16,7 @@ namespace psemek::app
|
||||||
void on_event(mouse_move_event const &) override;
|
void on_event(mouse_move_event const &) override;
|
||||||
void on_event(mouse_wheel_event const &) override;
|
void on_event(mouse_wheel_event const &) override;
|
||||||
void on_event(mouse_button_event const &) override;
|
void on_event(mouse_button_event const &) override;
|
||||||
|
void on_event(touch_event const &) override;
|
||||||
void on_event(key_event const &) override;
|
void on_event(key_event const &) override;
|
||||||
|
|
||||||
void stop() override;
|
void stop() override;
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ namespace psemek::app
|
||||||
virtual void on_event(mouse_move_event const &) {}
|
virtual void on_event(mouse_move_event const &) {}
|
||||||
virtual void on_event(mouse_wheel_event const &) {}
|
virtual void on_event(mouse_wheel_event const &) {}
|
||||||
virtual void on_event(mouse_button_event const &) {}
|
virtual void on_event(mouse_button_event const &) {}
|
||||||
|
virtual void on_event(touch_event const &) {}
|
||||||
virtual void on_event(key_event const &) {}
|
virtual void on_event(key_event const &) {}
|
||||||
|
|
||||||
virtual ~event_handler() {}
|
virtual ~event_handler() {}
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,9 @@ namespace psemek::app
|
||||||
state.mouse_button_down.erase(event.button);
|
state.mouse_button_down.erase(event.button);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline void apply(event_state &, touch_event const &)
|
||||||
|
{}
|
||||||
|
|
||||||
inline void apply(event_state & state, key_event const & event)
|
inline void apply(event_state & state, key_event const & event)
|
||||||
{
|
{
|
||||||
if (event.down)
|
if (event.down)
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,11 @@ namespace psemek::app
|
||||||
bool down;
|
bool down;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct touch_event
|
||||||
|
{
|
||||||
|
geom::point<int, 2> position;
|
||||||
|
};
|
||||||
|
|
||||||
enum class keycode
|
enum class keycode
|
||||||
{
|
{
|
||||||
// TODO
|
// TODO
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ namespace psemek::app
|
||||||
void on_event(mouse_move_event const &) override;
|
void on_event(mouse_move_event const &) override;
|
||||||
void on_event(mouse_wheel_event const &) override;
|
void on_event(mouse_wheel_event const &) override;
|
||||||
void on_event(mouse_button_event const &) override;
|
void on_event(mouse_button_event const &) override;
|
||||||
|
void on_event(touch_event const &) override;
|
||||||
void on_event(key_event const &) override;
|
void on_event(key_event const &) override;
|
||||||
|
|
||||||
void update() override;
|
void update() override;
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,11 @@ namespace psemek::app
|
||||||
apply(state_, event);
|
apply(state_, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void application_base::on_event(touch_event const & event)
|
||||||
|
{
|
||||||
|
apply(state_, event);
|
||||||
|
}
|
||||||
|
|
||||||
void application_base::on_event(key_event const & event)
|
void application_base::on_event(key_event const & event)
|
||||||
{
|
{
|
||||||
apply(state_, event);
|
apply(state_, event);
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,11 @@ namespace psemek::app
|
||||||
on_event_impl(event);
|
on_event_impl(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void scene_application::on_event(touch_event const & event)
|
||||||
|
{
|
||||||
|
on_event_impl(event);
|
||||||
|
}
|
||||||
|
|
||||||
void scene_application::on_event(key_event const & event)
|
void scene_application::on_event(key_event const & event)
|
||||||
{
|
{
|
||||||
on_event_impl(event);
|
on_event_impl(event);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue