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_wheel_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 stop() override;
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ namespace psemek::app
|
|||
virtual void on_event(mouse_move_event const &) {}
|
||||
virtual void on_event(mouse_wheel_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 ~event_handler() {}
|
||||
|
|
|
|||
|
|
@ -45,6 +45,9 @@ namespace psemek::app
|
|||
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)
|
||||
{
|
||||
if (event.down)
|
||||
|
|
|
|||
|
|
@ -38,6 +38,11 @@ namespace psemek::app
|
|||
bool down;
|
||||
};
|
||||
|
||||
struct touch_event
|
||||
{
|
||||
geom::point<int, 2> position;
|
||||
};
|
||||
|
||||
enum class keycode
|
||||
{
|
||||
// TODO
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ namespace psemek::app
|
|||
void on_event(mouse_move_event const &) override;
|
||||
void on_event(mouse_wheel_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 update() override;
|
||||
|
|
|
|||
|
|
@ -28,6 +28,11 @@ namespace psemek::app
|
|||
apply(state_, event);
|
||||
}
|
||||
|
||||
void application_base::on_event(touch_event const & event)
|
||||
{
|
||||
apply(state_, event);
|
||||
}
|
||||
|
||||
void application_base::on_event(key_event const & event)
|
||||
{
|
||||
apply(state_, event);
|
||||
|
|
|
|||
|
|
@ -28,6 +28,11 @@ namespace psemek::app
|
|||
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)
|
||||
{
|
||||
on_event_impl(event);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue