3 #include "../../keycodes.h"
4 #include "simulant/nodes/stage_node.h"
24 bool cancelled =
false;
36 KEYBOARD_MODE_UPPERCASE,
37 KEYBOARD_MODE_LOWERCASE,
38 KEYBOARD_MODE_NUMERICAL,
39 KEYBOARD_MODE_ACCENT_LOWERCASE,
40 KEYBOARD_MODE_ACCENT_UPPERCASE
53 S_DEFINE_STAGE_NODE_META(STAGE_NODE_TYPE_WIDGET_KEYBOARD,
"keyboard");
55 S_DEFINE_STAGE_NODE_PARAM(
Keyboard,
"mode",
int,
56 int(KEYBOARD_MODE_UPPERCASE),
57 "The mode of the keyboard");
58 S_DEFINE_CORE_WIDGET_PROPERTIES(
Keyboard);
60 using Widget::clean_up;
70 bool cursor_to_char(uint16_t displayed_char);
71 void cursor_to_return();
72 void cursor_to_case_toggle();
73 void cursor_to_backspace();
75 void cursor_to_space();
81 void set_mode(KeyboardMode mode);
82 KeyboardMode mode()
const;
84 bool is_keyboard_integration_enabled()
const {
85 return bool(keyboard_listener_);
88 void set_keyboard_integration_enabled(
bool value);
90 using Widget::set_font;
92 void set_font(FontPtr font)
override;
99 bool on_create(
Params params)
override;
100 void on_transformation_change_attempted()
override;
102 UIDim calculate_content_dimensions(
Px text_width,
Px text_height)
override;
106 Frame* info_row_ =
nullptr;
108 Frame* main_frame_ =
nullptr;
110 std::shared_ptr<EventListener> keyboard_listener_;
112 bool pre_set_text(
const unicode& text)
override;
114 const unicode& calc_text()
const override;