Add (unused) ui key press event

This commit is contained in:
Nikita Lisitsa 2021-03-03 12:15:52 +03:00
parent b8fb2d47e3
commit 5e6d52f341
5 changed files with 17 additions and 2 deletions

View file

@ -3,7 +3,7 @@ file(GLOB_RECURSE PSEMEK_UI_SOURCES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "sour
psemek_add_library(psemek-ui ${PSEMEK_UI_HEADERS} ${PSEMEK_UI_SOURCES})
target_include_directories(psemek-ui PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
target_link_libraries(psemek-ui PUBLIC psemek-util psemek-log psemek-geom psemek-cg psemek-gfx psemek-async)
target_link_libraries(psemek-ui PUBLIC psemek-util psemek-log psemek-geom psemek-cg psemek-gfx psemek-async psemek-sdl2)
psemek_add_resources(psemek-ui
resources/cross_red_16x16.png psemek/ui/resources/cross_red_16x16_png

View file

@ -21,6 +21,7 @@ namespace psemek::ui
bool event(mouse_move const & e);
bool event(mouse_click const & e);
bool event(mouse_wheel const & e);
bool event(key_press const & e);
void render(gfx::render_target const & rt);

View file

@ -32,6 +32,7 @@ namespace psemek::ui
virtual bool on_event(mouse_move const &) { return false; }
virtual bool on_event(mouse_click const &) { return false; }
virtual bool on_event(mouse_wheel const &) { return false; }
virtual bool on_event(key_press const &) { return false; }
virtual struct shape const & shape() const = 0;
virtual void reshape(geom::box<float, 2> const & bbox) = 0;

View file

@ -1,5 +1,7 @@
#pragma once
#include <SDL2/SDL_keycode.h>
#include <psemek/geom/point.hpp>
#include <tuple>
@ -30,6 +32,12 @@ namespace psemek::ui
int delta;
};
using event_type_list = std::tuple<mouse_move, mouse_click, mouse_wheel>;
struct key_press
{
SDL_Keycode key;
bool down;
};
using event_type_list = std::tuple<mouse_move, mouse_click, mouse_wheel, key_press>;
}

View file

@ -139,6 +139,11 @@ namespace psemek::ui
return impl().event(e);
}
bool controller::event(key_press const & e)
{
return impl().event(e);
}
void controller::render(gfx::render_target const & rt)
{
rt.bind();