diff options
Diffstat (limited to 'source/blender/windowmanager/WM_types.h')
-rw-r--r-- | source/blender/windowmanager/WM_types.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/source/blender/windowmanager/WM_types.h b/source/blender/windowmanager/WM_types.h index 48f8c9b6fb3..7fa2851cbf3 100644 --- a/source/blender/windowmanager/WM_types.h +++ b/source/blender/windowmanager/WM_types.h @@ -485,6 +485,8 @@ typedef struct wmGesture { /** optional, maximum amount of points stored. */ int points_alloc; int modal_state; + /** optional, draw the active side of the straightline gesture. */ + bool draw_active_side; /** * For modal operators which may be running idle, waiting for an event to activate the gesture. @@ -496,6 +498,14 @@ typedef struct wmGesture { uint is_active_prev : 1; /** Use for gestures that support both immediate or delayed activation. */ uint wait_for_input : 1; + /** Use for gestures that can be moved, like box selection */ + uint move : 1; + /** For gestures that support snapping, stores if snapping is enabled using the modal keymap + * toggle. */ + uint use_snap : 1; + /** For gestures that support flip, stores if flip is enabled using the modal keymap + * toggle. */ + uint use_flip : 1; /** * customdata @@ -549,7 +559,12 @@ typedef struct wmEvent { /** From ghost, fallback if utf8 isn't set. */ char ascii; - /** Generated by auto-repeat. */ + /** + * Generated by auto-repeat, note that this must only ever be set for keyboard events + * where `ISKEYBOARD(event->type) == true`. + * + * See #KMI_REPEAT_IGNORE for details on how key-map handling uses this. + */ char is_repeat; /** Previous state, used for double click and the 'click'. */ @@ -580,6 +595,10 @@ typedef struct wmEvent { /** Ascii, unicode, mouse coords, angles, vectors, dragdrop info. */ void *customdata; + /* True if the operating system inverted the delta x/y values and resulting + * prev x/y values, for natural scroll direction. For absolute scroll direction, + * the delta must be negated again. */ + char is_direction_inverted; } wmEvent; /** @@ -820,6 +839,7 @@ typedef void (*wmPaintCursorDraw)(struct bContext *C, int, int, void *customdata #define WM_DRAG_NAME 3 #define WM_DRAG_VALUE 4 #define WM_DRAG_COLOR 5 +#define WM_DRAG_DATASTACK 6 typedef enum wmDragFlags { WM_DRAG_NOP = 0, |