GFXprim
2D bitmap graphics library with emphasis on speed and correctness
Loading...
Searching...
No Matches
gp_widget_keys.h
1//SPDX-License-Identifier: LGPL-2.0-or-later
2
3/*
4
5 Copyright (c) 2014-2022 Cyril Hrubis <metan@ucw.cz>
6
7 */
8
9#ifndef GP_WIDGET_KEYS
10#define GP_WIDGET_KEYS
11
12#include <input/gp_event.h>
13
20static inline int gp_widget_key_mod_pressed(gp_event *ev)
21{
22 return gp_ev_any_key_pressed(ev, GP_KEY_LEFT_ALT, GP_KEY_RIGHT_ALT,
23 GP_KEY_LEFT_CTRL, GP_KEY_RIGHT_CTRL,
24 GP_KEY_LEFT_META, GP_KEY_RIGHT_META);
25}
26
27/* If defined widget focus can be moved with arrow keys when any of these keys is pressed */
28#define GP_WIDGET_KEYS_MOD_FOCUS GP_KEY_LEFT_CTRL, GP_KEY_RIGHT_CTRL
29/* Keys to move focus into a specified direction */
30#define GP_WIDGET_KEY_FOCUS_LEFT GP_KEY_LEFT
31#define GP_WIDGET_KEY_FOCUS_RIGHT GP_KEY_RIGHT
32#define GP_WIDGET_KEY_FOCUS_UP GP_KEY_UP
33#define GP_WIDGET_KEY_FOCUS_DOWN GP_KEY_DOWN
34
35/* Key to move focus to a next widget */
36#define GP_WIDGET_KEY_FOCUS_NEXT GP_KEY_TAB
37/* Keys to reverse the direction of previous key if any of these keys is pressed */
38#define GP_WIDGET_KEYS_MOD_FOCUS_PREV GP_KEY_LEFT_SHIFT, GP_KEY_RIGHT_SHIFT
39
40/* Key to toggle color scheme */
41#define GP_WIDGET_KEYS_MOD_COLOR_SCHEME GP_KEY_LEFT_CTRL, GP_KEY_RIGHT_CTRL
42#define GP_WIDGET_KEY_COLOR_SCHEME GP_KEY_SPACE
43
44/* Key to show about dialog */
45#define GP_WIDGET_KEYS_MOD_ABOUT GP_KEY_LEFT_CTRL, GP_KEY_RIGHT_CTRL
46#define GP_WIDGET_KEY_ABOUT GP_KEY_I
47
48/* Keys to increase/decrease text size */
49#define GP_WIDGET_KEYS_MOD_ZOOM GP_KEY_LEFT_CTRL, GP_KEY_RIGHT_CTRL
50#define GP_WIDGET_KEY_ZOOM_IN GP_KEY_EQUAL
51#define GP_WIDGET_KEY_ZOOM_OUT GP_KEY_MINUS
52
53/* Key to quit the app */
54#define GP_WIDGET_KEYS_MOD_QUIT GP_KEY_LEFT_ALT, GP_KEY_RIGHT_ALT
55#define GP_WIDGET_KEY_QUIT GP_KEY_F4
56
57#endif /* GP_WIDGET_KEYS */