diff options
Diffstat (limited to 'input')
-rw-r--r-- | input/cmd.h | 64 | ||||
-rw-r--r-- | input/input.h | 64 |
2 files changed, 64 insertions, 64 deletions
diff --git a/input/cmd.h b/input/cmd.h index 87fdf5fadc..18beca5ee8 100644 --- a/input/cmd.h +++ b/input/cmd.h @@ -44,6 +44,70 @@ struct mp_cmd_def { bool is_ignore; }; +enum mp_cmd_flags { + MP_ON_OSD_NO = 0, // prefer not using OSD + MP_ON_OSD_AUTO = 1, // use default behavior of the specific command + MP_ON_OSD_BAR = 2, // force a bar, if applicable + MP_ON_OSD_MSG = 4, // force a message, if applicable + MP_EXPAND_PROPERTIES = 8, // expand strings as properties + MP_ALLOW_REPEAT = 16, // if used as keybinding, allow key repeat + MP_ASYNC_CMD = 32, + + MP_ON_OSD_FLAGS = MP_ON_OSD_NO | MP_ON_OSD_AUTO | + MP_ON_OSD_BAR | MP_ON_OSD_MSG, +}; + +enum mp_input_section_flags { + // If a key binding is not defined in the current section, do not search the + // other sections for it (like the default section). Instead, an unbound + // key warning will be printed. + MP_INPUT_EXCLUSIVE = 1, + // Prefer it to other sections. + MP_INPUT_ON_TOP = 2, + // Let mp_input_test_dragging() return true, even if inside the mouse area. + MP_INPUT_ALLOW_VO_DRAGGING = 4, + // Don't force mouse pointer visible, even if inside the mouse area. + MP_INPUT_ALLOW_HIDE_CURSOR = 8, +}; + +// Arbitrary upper bound for sanity. +#define MP_CMD_MAX_ARGS 100 + +struct mp_cmd_arg { + const struct m_option *type; + union { + int i; + float f; + double d; + char *s; + char **str_list; + void *p; + } v; +}; + +typedef struct mp_cmd { + int id; + char *name; + struct mp_cmd_arg *args; + int nargs; + int flags; // mp_cmd_flags bitfield + bstr original; + char *input_section; + bool is_up_down : 1; + bool is_up : 1; + bool emit_on_up : 1; + bool is_mouse_button : 1; + bool repeated : 1; + bool mouse_move : 1; + int mouse_x, mouse_y; + struct mp_cmd *queue_next; + double scale; // for scaling numeric arguments + int scale_units; + const struct mp_cmd_def *def; + char *sender; // name of the client API user which sent this + char *key_name; // string representation of the key binding +} mp_cmd_t; + extern const struct mp_cmd_def mp_cmds[]; extern const struct mp_cmd_def mp_cmd_list; diff --git a/input/input.h b/input/input.h index d976fcd780..6322eb88db 100644 --- a/input/input.h +++ b/input/input.h @@ -26,73 +26,9 @@ // For mp_input_put_key(): release all keys that are down. #define MP_INPUT_RELEASE_ALL -1 -enum mp_cmd_flags { - MP_ON_OSD_NO = 0, // prefer not using OSD - MP_ON_OSD_AUTO = 1, // use default behavior of the specific command - MP_ON_OSD_BAR = 2, // force a bar, if applicable - MP_ON_OSD_MSG = 4, // force a message, if applicable - MP_EXPAND_PROPERTIES = 8, // expand strings as properties - MP_ALLOW_REPEAT = 16, // if used as keybinding, allow key repeat - MP_ASYNC_CMD = 32, - - MP_ON_OSD_FLAGS = MP_ON_OSD_NO | MP_ON_OSD_AUTO | - MP_ON_OSD_BAR | MP_ON_OSD_MSG, -}; - -enum mp_input_section_flags { - // If a key binding is not defined in the current section, do not search the - // other sections for it (like the default section). Instead, an unbound - // key warning will be printed. - MP_INPUT_EXCLUSIVE = 1, - // Prefer it to other sections. - MP_INPUT_ON_TOP = 2, - // Let mp_input_test_dragging() return true, even if inside the mouse area. - MP_INPUT_ALLOW_VO_DRAGGING = 4, - // Don't force mouse pointer visible, even if inside the mouse area. - MP_INPUT_ALLOW_HIDE_CURSOR = 8, -}; - struct input_ctx; struct mp_log; -// Arbitrary upper bound for sanity. -#define MP_CMD_MAX_ARGS 100 - -struct mp_cmd_arg { - const struct m_option *type; - union { - int i; - float f; - double d; - char *s; - char **str_list; - void *p; - } v; -}; - -typedef struct mp_cmd { - int id; - char *name; - struct mp_cmd_arg *args; - int nargs; - int flags; // mp_cmd_flags bitfield - bstr original; - char *input_section; - bool is_up_down : 1; - bool is_up : 1; - bool emit_on_up : 1; - bool is_mouse_button : 1; - bool repeated : 1; - bool mouse_move : 1; - int mouse_x, mouse_y; - struct mp_cmd *queue_next; - double scale; // for scaling numeric arguments - int scale_units; - const struct mp_cmd_def *def; - char *sender; // name of the client API user which sent this - char *key_name; // string representation of the key binding -} mp_cmd_t; - struct mp_input_src { struct mpv_global *global; struct mp_log *log; |