Blender  V2.93
BKE_keyconfig.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  */
16 #pragma once
17 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
28 struct UserDef;
29 struct wmKeyConfigPref;
30 struct wmKeyMap;
31 struct wmKeyMapItem;
32 
34 #if defined(__RNA_TYPES_H__)
35 typedef struct wmKeyConfigPrefType_Runtime {
36  char idname[64];
37 
38  /* RNA integration */
39  ExtensionRNA rna_ext;
41 
42 #else
44 #endif
45 
46 /* KeyConfig preferences (UserDef). */
47 struct wmKeyConfigPref *BKE_keyconfig_pref_ensure(struct UserDef *userdef, const char *kc_idname);
48 
49 /* KeyConfig preferences (RNA). */
50 struct wmKeyConfigPrefType_Runtime *BKE_keyconfig_pref_type_find(const char *idname, bool quiet);
53 
56 
57 /* Versioning. */
58 void BKE_keyconfig_pref_set_select_mouse(struct UserDef *userdef, int value, bool override);
59 
64 };
65 
67  const struct wmKeyConfigFilterItemParams *params,
68  bool (*filter_fn)(struct wmKeyMapItem *kmi, void *user_data),
69  void *user_data);
71  const struct wmKeyConfigFilterItemParams *params,
72  bool (*filter_fn)(struct wmKeyMapItem *kmi, void *user_data),
73  void *user_data);
74 
75 #ifdef __cplusplus
76 }
77 #endif
void BKE_keyconfig_pref_type_init(void)
Definition: keyconfig.c:106
void BKE_keyconfig_pref_type_free(void)
Definition: keyconfig.c:112
struct wmKeyConfigPref * BKE_keyconfig_pref_ensure(struct UserDef *userdef, const char *kc_idname)
Definition: keyconfig.c:47
void BKE_keyconfig_pref_filter_items(struct UserDef *userdef, const struct wmKeyConfigFilterItemParams *params, bool(*filter_fn)(struct wmKeyMapItem *kmi, void *user_data), void *user_data)
void BKE_keyconfig_pref_type_add(struct wmKeyConfigPrefType_Runtime *kpt_rt)
Definition: keyconfig.c:96
void BKE_keyconfig_pref_type_remove(const struct wmKeyConfigPrefType_Runtime *kpt_rt)
void BKE_keyconfig_keymap_filter_item(struct wmKeyMap *keymap, const struct wmKeyConfigFilterItemParams *params, bool(*filter_fn)(struct wmKeyMapItem *kmi, void *user_data), void *user_data)
struct wmKeyConfigPrefType_Runtime wmKeyConfigPrefType_Runtime
Definition: BKE_keyconfig.h:43
void BKE_keyconfig_pref_set_select_mouse(struct UserDef *userdef, int value, bool override)
Definition: keyconfig.c:125
struct wmKeyConfigPrefType_Runtime * BKE_keyconfig_pref_type_find(const char *idname, bool quiet)
Definition: keyconfig.c:73
unsigned int uint
Definition: BLI_sys_types.h:83
void * user_data
uiWidgetBaseParameters params[MAX_WIDGET_BASE_BATCH]