diff options
Diffstat (limited to 'frontend/linux/xenv.h')
-rw-r--r-- | frontend/linux/xenv.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/frontend/linux/xenv.h b/frontend/linux/xenv.h index 1afad9d..6abda19 100644 --- a/frontend/linux/xenv.h +++ b/frontend/linux/xenv.h @@ -1,6 +1,18 @@ -int xenv_init(const char *window_title); -int xenv_update(int *is_down); +#define XENV_CAP_KEYS (1<<0) +#define XENV_CAP_MOUSE (1<<1) + +/* xenv_flags specify if we need keys and mouse, + * on return, flag is removed if input is not available */ +int xenv_init(int *xenv_flags, const char *window_title); + +/* read events from X, calling key_cb for key, mouseb_cb for mouse button + * and mousem_cb for mouse motion events */ +int xenv_update(int (*key_cb)(void *cb_arg, int kc, int is_pressed), + int (*mouseb_cb)(void *cb_arg, int x, int y, int button, int is_pressed), + int (*mousem_cb)(void *cb_arg, int x, int y), + void *cb_arg); + int xenv_minimize(void); void xenv_finish(void); |