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:
Diffstat (limited to 'source/blender/makesdna/DNA_windowmanager_types.h')
-rw-r--r--source/blender/makesdna/DNA_windowmanager_types.h24
1 files changed, 18 insertions, 6 deletions
diff --git a/source/blender/makesdna/DNA_windowmanager_types.h b/source/blender/makesdna/DNA_windowmanager_types.h
index 9d36882058e..895bc943e9f 100644
--- a/source/blender/makesdna/DNA_windowmanager_types.h
+++ b/source/blender/makesdna/DNA_windowmanager_types.h
@@ -41,6 +41,7 @@ struct wmEvent;
struct wmGesture;
struct wmOperatorType;
struct wmOperator;
+struct wmKeyMap;
/* forwards */
struct bContext;
@@ -54,6 +55,10 @@ struct PointerRNA;
struct ReportList;
struct Report;
+#define OP_MAX_TYPENAME 64
+#define KMAP_MAX_NAME 64
+
+
typedef enum ReportType {
RPT_DEBUG = 1<<0,
RPT_INFO = 1<<1,
@@ -198,14 +203,16 @@ typedef struct wmOperatorType {
struct StructRNA *srna;
short flag;
-
+
+ /* pointer to modal keymap, do not free! */
+ struct wmKeyMap *modalkeymap;
+
/* only used for operators defined with python
* use to store pointers to python functions */
void *pyop_data;
} wmOperatorType;
-#define OP_MAX_TYPENAME 64
/* partial copy of the event, for matching by eventhandler */
typedef struct wmKeymapItem {
@@ -219,10 +226,9 @@ typedef struct wmKeymapItem {
short shift, ctrl, alt, oskey; /* oskey is apple or windowskey, value denotes order of pressed */
short keymodifier; /* rawkey modifier */
- short pad;
+ short propvalue; /* if used, the item is from modal map */
} wmKeymapItem;
-#define KMAP_MAX_NAME 64
/* stored in WM, the actively used keymaps */
typedef struct wmKeyMap {
@@ -231,8 +237,13 @@ typedef struct wmKeyMap {
ListBase keymap;
char nameid[64]; /* global editor keymaps, or for more per space/region */
- int spaceid; /* same IDs as in DNA_space_types.h */
- int regionid; /* see above */
+ short spaceid; /* same IDs as in DNA_space_types.h */
+ short regionid; /* see above */
+
+ short is_modal; /* modal map, not using operatornames */
+ short pad;
+
+ void *items; /* struct EnumPropertyItem for now */
} wmKeyMap;
@@ -250,6 +261,7 @@ typedef struct wmOperator {
void *customdata; /* custom storage, only while operator runs */
struct PointerRNA *ptr; /* rna pointer to access properties */
struct ReportList *reports; /* errors and warnings storage */
+
} wmOperator;
/* operator type exec(), invoke() modal(), return values */