suggestion picker: a persistent layer to complement virtual keyboards like wvkbd
Diffstat (limited to 'keyboard.h')
| -rw-r--r-- | keyboard.h | 22 |
1 files changed, 4 insertions, 18 deletions
@@ -7,7 +7,6 @@ struct clr_scheme; struct key; -struct layout; struct kbd; enum key_draw_type { @@ -26,24 +25,14 @@ struct clr_scheme { struct key { const char *label; // primary label - - struct layout *layout; // pointer back to the parent layout that holds this - // key - // actual coordinates on the surface (pixels), will be computed automatically // for all keys uint32_t x, y, w, h; }; -struct layout { - struct key *keys; - uint32_t keyheight; // absolute height (pixels) -}; - struct kbd { bool debug; - struct layout *layout; struct clr_scheme scheme; uint32_t w, h, s; @@ -51,10 +40,8 @@ struct kbd { uint8_t mods; uint8_t compose; struct key *last_press; - size_t layer_index; - struct layout *layouts; - enum layout_id *layers; + struct key suggs[64]; struct drwsurf *surf; }; @@ -64,17 +51,16 @@ void draw_inset(struct drwsurf *ds, uint32_t x, uint32_t y, uint32_t width, void draw_over_inset(struct drwsurf *ds, uint32_t x, uint32_t y, uint32_t width, uint32_t height, uint32_t border, Color color); -void kbd_init(struct kbd *kb, struct layout *layouts); -void kbd_init_layout(struct layout *l, uint32_t width, uint32_t height); +void kbd_init(struct kbd *kb); +void kbd_init_suggs(struct key *suggs, uint32_t width, uint32_t height); struct key *kbd_get_key(struct kbd *kb, uint32_t x, uint32_t y); void kbd_unpress_key(struct kbd *kb, uint32_t time); void kbd_release_key(struct kbd *kb, uint32_t time); void kbd_motion_key(struct kbd *kb, uint32_t time, uint32_t x, uint32_t y); void kbd_press_key(struct kbd *kb, struct key *k, uint32_t time); -void kbd_print_key_stdout(struct kbd *kb, struct key *k); void kbd_draw_key(struct kbd *kb, struct key *k, enum key_draw_type); void kbd_draw_layout(struct kbd *kb); -void kbd_resize(struct kbd *kb, struct layout *layouts); +void kbd_resize(struct kbd *kb); double kbd_get_row_length(struct key *k); #ifndef LAYOUT |