Merge branch 'master' into blender2.8
[blender.git] / source / blender / windowmanager / WM_types.h
index 8c53f53..929617a 100644 (file)
@@ -109,16 +109,22 @@ extern "C" {
 struct bContext;
 struct wmEvent;
 struct wmWindowManager;
+struct wmMsgBus;
 struct wmOperator;
 struct ImBuf;
 
 #include "RNA_types.h"
 #include "DNA_listBase.h"
+#include "DNA_vec_types.h"
 #include "BLI_compiler_attrs.h"
 
 /* exported types for WM */
 #include "wm_cursors.h"
 #include "wm_event_types.h"
+#include "manipulators/WM_manipulator_types.h"
+
+/* Include external manipulator API's */
+#include "manipulators/WM_manipulator_api.h"
 
 /* ************** wmOperatorType ************************ */
 
@@ -160,6 +166,12 @@ enum {
        WM_OP_EXEC_SCREEN
 };
 
+/* property tags for RNA_OperatorProperties */
+typedef enum eOperatorPropTags {
+       OP_PROP_TAG_ADVANCED = (1 << 0),
+} eOperatorPropTags;
+#define OP_PROP_TAG_ADVANCED ((eOperatorPropTags)OP_PROP_TAG_ADVANCED)
+
 /* ************** wmKeyMap ************************ */
 
 /* modifier */
@@ -204,7 +216,6 @@ typedef struct wmNotifier {
        struct wmWindowManager *wm;
        struct wmWindow *window;
 
-       int swinid;                     /* can't rely on this, notifiers can be added without context, swinid of 0 */
        unsigned int category, data, subtype, action;
 
        void *reference;
@@ -224,7 +235,7 @@ typedef struct wmNotifier {
 #define NOTE_CATEGORY          0xFF000000
 #define        NC_WM                           (1<<24)
 #define        NC_WINDOW                       (2<<24)
-#define        NC_SCREEN                       (3<<24)
+#define NC_SCREEN                      (3<<24)
 #define        NC_SCENE                        (4<<24)
 #define        NC_OBJECT                       (5<<24)
 #define        NC_MATERIAL                     (6<<24)
@@ -258,15 +269,17 @@ typedef struct wmNotifier {
 #define ND_JOB                         (5<<16)
 #define ND_UNDO                                (6<<16)
 
-       /* NC_SCREEN screen */
-#define ND_SCREENBROWSE                (1<<16)
-#define ND_SCREENDELETE                (2<<16)
+       /* NC_SCREEN */
+#define ND_LAYOUTBROWSE                (1<<16)
+#define ND_LAYOUTDELETE                (2<<16)
 #define ND_SCREENCAST          (3<<16)
 #define ND_ANIMPLAY                    (4<<16)
 #define ND_GPENCIL                     (5<<16)
 #define ND_EDITOR_CHANGED      (6<<16) /*sent to new editors after switching to them*/
-#define ND_SCREENSET           (7<<16)
+#define ND_LAYOUTSET           (7<<16)
 #define ND_SKETCH                      (8<<16)
+#define ND_WORKSPACE_SET       (9<<16)
+#define ND_WORKSPACE_DELETE (10<<16)
 
        /* NC_SCENE Scene */
 #define ND_SCENEBROWSE         (1<<16)
@@ -411,7 +424,7 @@ typedef struct wmGesture {
        struct wmGesture *next, *prev;
        int event_type; /* event->type */
        int type;               /* gesture type define */
-       int swinid;             /* initial subwindow id where it started */
+       rcti winrct;    /* bounds of region to draw gesture within */
        int points;             /* optional, amount of points stored */
        int points_alloc;       /* optional, maximum amount of points stored */
        int modal_state;
@@ -708,6 +721,9 @@ extern struct CLG_LogRef *WM_LOG_OPERATORS;
 extern struct CLG_LogRef *WM_LOG_HANDLERS;
 extern struct CLG_LogRef *WM_LOG_EVENTS;
 extern struct CLG_LogRef *WM_LOG_KEYMAPS;
+extern struct CLG_LogRef *WM_LOG_TOOLS;
+extern struct CLG_LogRef *WM_LOG_MSGBUS_PUB;
+extern struct CLG_LogRef *WM_LOG_MSGBUS_SUB;
 
 
 #ifdef __cplusplus