Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <campbell@blender.org>2022-04-04 06:47:06 +0300
committerCampbell Barton <campbell@blender.org>2022-04-04 07:32:42 +0300
commitf699dbba86156ad3f24c24e3d369f0708b3fd1b5 (patch)
treee244f3f17a5a2166d443d25c14abb915d316f1a2 /source/blender/windowmanager/WM_keymap.h
parent0ef96cd3922dbc16271f2dbaca0c7752db92a40d (diff)
Cleanup: use event parameters for functions that create key-map items
Replace 5 arguments with a single struct as the same arguments are used in many places. This didn't read well and was confusing with both arguments named `val` & `value` in the case of WM_modalkeymap_add_item.
Diffstat (limited to 'source/blender/windowmanager/WM_keymap.h')
-rw-r--r--source/blender/windowmanager/WM_keymap.h56
1 files changed, 21 insertions, 35 deletions
diff --git a/source/blender/windowmanager/WM_keymap.h b/source/blender/windowmanager/WM_keymap.h
index 068dbb32be2..591da28ded2 100644
--- a/source/blender/windowmanager/WM_keymap.h
+++ b/source/blender/windowmanager/WM_keymap.h
@@ -37,6 +37,20 @@ void WM_keyconfig_update_operatortype(void);
/* Keymap */
+/** Parameters for matching events, passed into functions that create key-map items. */
+typedef struct KeyMapItem_Params {
+ /** #wmKeyMapItem.type */
+ int16_t type;
+ /** #wmKeyMapItem.val */
+ int8_t value;
+ /** #wmKeyMapItem `ctrl, shift, alt, oskey` */
+ int8_t modifier;
+ /** #wmKeyMapItem.keymodifier */
+ int16_t keymodifier;
+ /** #wmKeyMapItem.direction */
+ int8_t direction;
+} KeyMapItem_Params;
+
void WM_keymap_clear(struct wmKeyMap *keymap);
/**
@@ -44,11 +58,7 @@ void WM_keymap_clear(struct wmKeyMap *keymap);
*/
wmKeyMapItem *WM_keymap_add_item(struct wmKeyMap *keymap,
const char *idname,
- int type,
- int val,
- int modifier,
- int keymodifier,
- int direction);
+ const KeyMapItem_Params *params);
wmKeyMapItem *WM_keymap_add_item_copy(struct wmKeyMap *keymap, wmKeyMapItem *kmi_src);
bool WM_keymap_remove_item(struct wmKeyMap *keymap, struct wmKeyMapItem *kmi);
@@ -87,41 +97,25 @@ bool WM_keymap_item_compare(const struct wmKeyMapItem *k1, const struct wmKeyMap
*/
wmKeyMapItem *WM_keymap_add_menu(struct wmKeyMap *keymap,
const char *idname,
- int type,
- int val,
- int modifier,
- int keymodifier,
- int direction);
+ const KeyMapItem_Params *params);
/**
* Pie-menu wrapper for #WM_keymap_add_item.
*/
wmKeyMapItem *WM_keymap_add_menu_pie(struct wmKeyMap *keymap,
const char *idname,
- int type,
- int val,
- int modifier,
- int keymodifier,
- int direction);
+ const KeyMapItem_Params *params);
/**
* Panel (popover) wrapper for #WM_keymap_add_item.
*/
wmKeyMapItem *WM_keymap_add_panel(struct wmKeyMap *keymap,
const char *idname,
- int type,
- int val,
- int modifier,
- int keymodifier,
- int direction);
+ const KeyMapItem_Params *params);
/**
* Tool wrapper for #WM_keymap_add_item.
*/
wmKeyMapItem *WM_keymap_add_tool(struct wmKeyMap *keymap,
const char *idname,
- int type,
- int val,
- int modifier,
- int keymodifier,
- int direction);
+ const KeyMapItem_Params *params);
wmKeyMap *WM_keymap_guess_from_context(const struct bContext *C);
@@ -154,18 +148,10 @@ wmKeyMap *WM_modalkeymap_ensure(struct wmKeyConfig *keyconf,
const struct EnumPropertyItem *items);
wmKeyMap *WM_modalkeymap_find(struct wmKeyConfig *keyconf, const char *idname);
wmKeyMapItem *WM_modalkeymap_add_item(struct wmKeyMap *km,
- int type,
- int val,
- int modifier,
- int keymodifier,
- int direction,
+ const KeyMapItem_Params *params,
int value);
wmKeyMapItem *WM_modalkeymap_add_item_str(struct wmKeyMap *km,
- int type,
- int val,
- int modifier,
- int keymodifier,
- int direction,
+ const KeyMapItem_Params *params,
const char *value);
const wmKeyMapItem *WM_modalkeymap_find_propvalue(const wmKeyMap *km, int propvalue);
void WM_modalkeymap_assign(struct wmKeyMap *km, const char *opname);