Blender  V3.3
Classes | Macros | Typedefs | Enumerations | Functions | Variables
WM_types.h File Reference
#include "BLI_compiler_attrs.h"
#include "BLI_utildefines.h"
#include "DNA_listBase.h"
#include "DNA_uuid_types.h"
#include "DNA_vec_types.h"
#include "DNA_xr_types.h"
#include "RNA_types.h"
#include "gizmo/WM_gizmo_types.h"
#include "wm_cursors.h"
#include "wm_event_types.h"
#include "gizmo/WM_gizmo_api.h"

Go to the source code of this file.

Classes

struct  wmGenericUserData
 
struct  wmGenericCallback
 
struct  wmNotifier
 
struct  wmGesture
 
struct  wmTabletData
 
struct  wmEvent
 
struct  wmTimer
 
struct  wmOperatorType
 
struct  wmOperatorCallParams
 
struct  wmDragID
 
struct  wmDragAsset
 
struct  wmDragAssetCatalog
 
struct  wmDragAssetListItem
 
struct  wmDragActiveDropState
 
struct  wmDrag
 
struct  wmDropBox
 
struct  wmTooltipState
 
struct  RecentFile
 

Macros

#define WM_OP_CONTEXT_HAS_AREA(type)
 
#define WM_OP_CONTEXT_HAS_REGION(type)    (WM_OP_CONTEXT_HAS_AREA(type) && !ELEM(type, WM_OP_INVOKE_AREA, WM_OP_EXEC_AREA))
 
#define OP_PROP_TAG_ADVANCED   ((eOperatorPropTags)OP_PROP_TAG_ADVANCED)
 
#define WM_UI_HANDLER_CONTINUE   0
 
#define WM_UI_HANDLER_BREAK   1
 
#define NOTE_CATEGORY   0xFF000000
 
#define NC_WM   (1 << 24)
 
#define NC_WINDOW   (2 << 24)
 
#define NC_WORKSPACE   (3 << 24)
 
#define NC_SCREEN   (4 << 24)
 
#define NC_SCENE   (5 << 24)
 
#define NC_OBJECT   (6 << 24)
 
#define NC_MATERIAL   (7 << 24)
 
#define NC_TEXTURE   (8 << 24)
 
#define NC_LAMP   (9 << 24)
 
#define NC_GROUP   (10 << 24)
 
#define NC_IMAGE   (11 << 24)
 
#define NC_BRUSH   (12 << 24)
 
#define NC_TEXT   (13 << 24)
 
#define NC_WORLD   (14 << 24)
 
#define NC_ANIMATION   (15 << 24)
 
#define NC_SPACE   (16 << 24)
 
#define NC_GEOM   (17 << 24)
 
#define NC_NODE   (18 << 24)
 
#define NC_ID   (19 << 24)
 
#define NC_PAINTCURVE   (20 << 24)
 
#define NC_MOVIECLIP   (21 << 24)
 
#define NC_MASK   (22 << 24)
 
#define NC_GPENCIL   (23 << 24)
 
#define NC_LINESTYLE   (24 << 24)
 
#define NC_CAMERA   (25 << 24)
 
#define NC_LIGHTPROBE   (26 << 24)
 
#define NC_ASSET   (27 << 24)
 
#define NOTE_DATA   0x00FF0000
 
#define ND_FILEREAD   (1 << 16)
 
#define ND_FILESAVE   (2 << 16)
 
#define ND_DATACHANGED   (3 << 16)
 
#define ND_HISTORY   (4 << 16)
 
#define ND_JOB   (5 << 16)
 
#define ND_UNDO   (6 << 16)
 
#define ND_XR_DATA_CHANGED   (7 << 16)
 
#define ND_LIB_OVERRIDE_CHANGED   (8 << 16)
 
#define ND_LAYOUTBROWSE   (1 << 16)
 
#define ND_LAYOUTDELETE   (2 << 16)
 
#define ND_ANIMPLAY   (4 << 16)
 
#define ND_GPENCIL   (5 << 16)
 
#define ND_LAYOUTSET   (6 << 16)
 
#define ND_SKETCH   (7 << 16)
 
#define ND_WORKSPACE_SET   (8 << 16)
 
#define ND_WORKSPACE_DELETE   (9 << 16)
 
#define ND_SCENEBROWSE   (1 << 16)
 
#define ND_MARKERS   (2 << 16)
 
#define ND_FRAME   (3 << 16)
 
#define ND_RENDER_OPTIONS   (4 << 16)
 
#define ND_NODES   (5 << 16)
 
#define ND_SEQUENCER   (6 << 16)
 
#define ND_OB_ACTIVE   (7 << 16)
 
#define ND_OB_SELECT   (8 << 16)
 
#define ND_OB_VISIBLE   (9 << 16)
 
#define ND_OB_RENDER   (10 << 16)
 
#define ND_MODE   (11 << 16)
 
#define ND_RENDER_RESULT   (12 << 16)
 
#define ND_COMPO_RESULT   (13 << 16)
 
#define ND_KEYINGSET   (14 << 16)
 
#define ND_TOOLSETTINGS   (15 << 16)
 
#define ND_LAYER   (16 << 16)
 
#define ND_FRAME_RANGE   (17 << 16)
 
#define ND_TRANSFORM_DONE   (18 << 16)
 
#define ND_WORLD   (92 << 16)
 
#define ND_LAYER_CONTENT   (101 << 16)
 
#define ND_TRANSFORM   (18 << 16)
 
#define ND_OB_SHADING   (19 << 16)
 
#define ND_POSE   (20 << 16)
 
#define ND_BONE_ACTIVE   (21 << 16)
 
#define ND_BONE_SELECT   (22 << 16)
 
#define ND_DRAW   (23 << 16)
 
#define ND_MODIFIER   (24 << 16)
 
#define ND_KEYS   (25 << 16)
 
#define ND_CONSTRAINT   (26 << 16)
 
#define ND_PARTICLE   (27 << 16)
 
#define ND_POINTCACHE   (28 << 16)
 
#define ND_PARENT   (29 << 16)
 
#define ND_LOD   (30 << 16)
 
#define ND_DRAW_RENDER_VIEWPORT    (31 << 16) /* for camera & sequencer viewport update, also /w NC_SCENE */
 
#define ND_SHADERFX   (32 << 16)
 
#define ND_DRAW_ANIMVIZ   (33 << 16)
 
#define ND_SHADING   (30 << 16)
 
#define ND_SHADING_DRAW   (31 << 16)
 
#define ND_SHADING_LINKS   (32 << 16)
 
#define ND_SHADING_PREVIEW   (33 << 16)
 
#define ND_LIGHTING   (40 << 16)
 
#define ND_LIGHTING_DRAW   (41 << 16)
 
#define ND_WORLD_DRAW   (45 << 16)
 
#define ND_CURSOR   (50 << 16)
 
#define ND_DISPLAY   (51 << 16)
 
#define ND_KEYFRAME   (70 << 16)
 
#define ND_KEYFRAME_PROP   (71 << 16)
 
#define ND_ANIMCHAN   (72 << 16)
 
#define ND_NLA   (73 << 16)
 
#define ND_NLA_ACTCHANGE   (74 << 16)
 
#define ND_FCURVES_ORDER   (75 << 16)
 
#define ND_NLA_ORDER   (76 << 16)
 
#define ND_GPENCIL_EDITMODE   (85 << 16)
 
#define ND_SELECT   (90 << 16)
 
#define ND_DATA   (91 << 16)
 
#define ND_VERTEX_GROUP   (92 << 16)
 
#define ND_SPACE_CONSOLE   (1 << 16) /* general redraw */
 
#define ND_SPACE_INFO_REPORT   (2 << 16) /* update for reports, could specify type */
 
#define ND_SPACE_INFO   (3 << 16)
 
#define ND_SPACE_IMAGE   (4 << 16)
 
#define ND_SPACE_FILE_PARAMS   (5 << 16)
 
#define ND_SPACE_FILE_LIST   (6 << 16)
 
#define ND_SPACE_ASSET_PARAMS   (7 << 16)
 
#define ND_SPACE_NODE   (8 << 16)
 
#define ND_SPACE_OUTLINER   (9 << 16)
 
#define ND_SPACE_VIEW3D   (10 << 16)
 
#define ND_SPACE_PROPERTIES   (11 << 16)
 
#define ND_SPACE_TEXT   (12 << 16)
 
#define ND_SPACE_TIME   (13 << 16)
 
#define ND_SPACE_GRAPH   (14 << 16)
 
#define ND_SPACE_DOPESHEET   (15 << 16)
 
#define ND_SPACE_NLA   (16 << 16)
 
#define ND_SPACE_SEQUENCER   (17 << 16)
 
#define ND_SPACE_NODE_VIEW   (18 << 16)
 
#define ND_SPACE_CHANGED   (19 << 16)
 
#define ND_SPACE_CLIP   (20 << 16)
 
#define ND_SPACE_FILE_PREVIEW   (21 << 16)
 
#define ND_SPACE_SPREADSHEET   (22 << 16)
 
#define ND_ASSET_LIST   (1 << 16)
 
#define ND_ASSET_LIST_PREVIEW   (2 << 16)
 
#define ND_ASSET_LIST_READING   (3 << 16)
 
#define ND_ASSET_CATALOGS   (4 << 16)
 
#define NOTE_SUBTYPE   0x0000FF00
 
#define NS_MODE_OBJECT   (1 << 8)
 
#define NS_EDITMODE_MESH   (2 << 8)
 
#define NS_EDITMODE_CURVE   (3 << 8)
 
#define NS_EDITMODE_SURFACE   (4 << 8)
 
#define NS_EDITMODE_TEXT   (5 << 8)
 
#define NS_EDITMODE_MBALL   (6 << 8)
 
#define NS_EDITMODE_LATTICE   (7 << 8)
 
#define NS_EDITMODE_ARMATURE   (8 << 8)
 
#define NS_MODE_POSE   (9 << 8)
 
#define NS_MODE_PARTICLE   (10 << 8)
 
#define NS_EDITMODE_CURVES   (11 << 8)
 
#define NS_VIEW3D_GPU   (16 << 8)
 
#define NS_VIEW3D_SHADING   (17 << 8)
 
#define NS_LAYER_COLLECTION   (24 << 8)
 
#define NOTE_ACTION   (0x000000FF)
 
#define NA_EDITED   1
 
#define NA_EVALUATED   2
 
#define NA_ADDED   3
 
#define NA_REMOVED   4
 
#define NA_RENAME   5
 
#define NA_SELECTED   6
 
#define NA_ACTIVATED   7
 
#define NA_PAINTING   8
 
#define NA_JOB_FINISHED   9
 
#define WM_GESTURE_LINES   1
 
#define WM_GESTURE_RECT   2
 
#define WM_GESTURE_CROSS_RECT   3
 
#define WM_GESTURE_LASSO   4
 
#define WM_GESTURE_CIRCLE   5
 
#define WM_GESTURE_STRAIGHTLINE   6
 
#define WM_EVENT_CURSOR_MOTION_THRESHOLD   ((float)U.move_threshold * U.dpi_fac)
 
#define WM_DRAG_ID   0
 
#define WM_DRAG_ASSET   1
 
#define WM_DRAG_ASSET_LIST   2
 
#define WM_DRAG_RNA   3
 
#define WM_DRAG_PATH   4
 
#define WM_DRAG_NAME   5
 
#define WM_DRAG_VALUE   6
 
#define WM_DRAG_COLOR   7
 
#define WM_DRAG_DATASTACK   8
 
#define WM_DRAG_ASSET_CATALOG   9
 

Typedefs

typedef void(* wmGenericUserDataFreeFn) (void *data)
 
typedef struct wmGenericUserData wmGenericUserData
 
typedef void(* wmGenericCallbackFn) (struct bContext *C, void *user_data)
 
typedef struct wmGenericCallback wmGenericCallback
 
typedef enum wmOperatorCallContext wmOperatorCallContext
 
typedef enum eOperatorPropTags eOperatorPropTags
 
typedef struct wmNotifier wmNotifier
 
typedef struct wmGesture wmGesture
 
typedef enum eWM_EventFlag eWM_EventFlag
 
typedef struct wmTabletData wmTabletData
 
typedef struct wmEvent wmEvent
 
typedef struct wmTimer wmTimer
 
typedef struct wmOperatorType wmOperatorType
 
typedef struct wmOperatorCallParams wmOperatorCallParams
 
typedef void(* wmPaintCursorDraw) (struct bContext *C, int, int, void *customdata)
 
typedef enum eWM_DragFlags eWM_DragFlags
 
typedef struct wmDragID wmDragID
 
typedef struct wmDragAsset wmDragAsset
 
typedef struct wmDragAssetCatalog wmDragAssetCatalog
 
typedef struct wmDragAssetListItem wmDragAssetListItem
 
typedef char *(* WMDropboxTooltipFunc) (struct bContext *, struct wmDrag *, const int xy[2], struct wmDropBox *drop)
 
typedef struct wmDragActiveDropState wmDragActiveDropState
 
typedef struct wmDrag wmDrag
 
typedef struct wmDropBox wmDropBox
 
typedef struct wmTooltipState wmTooltipState
 
typedef struct RecentFile RecentFile
 

Enumerations

enum  {
  OPTYPE_REGISTER = (1 << 0) , OPTYPE_UNDO = (1 << 1) , OPTYPE_BLOCKING = (1 << 2) , OPTYPE_MACRO = (1 << 3) ,
  OPTYPE_GRAB_CURSOR_XY = (1 << 4) , OPTYPE_GRAB_CURSOR_X = (1 << 5) , OPTYPE_GRAB_CURSOR_Y = (1 << 6) , OPTYPE_PRESET = (1 << 7) ,
  OPTYPE_INTERNAL = (1 << 8) , OPTYPE_LOCK_BYPASS = (1 << 9) , OPTYPE_UNDO_GROUPED = (1 << 10) , OPTYPE_DEPENDS_ON_CURSOR = (1 << 11)
}
 
enum  { WM_CURSOR_WRAP_NONE = 0 , WM_CURSOR_WRAP_X , WM_CURSOR_WRAP_Y , WM_CURSOR_WRAP_XY }
 
enum  wmOperatorCallContext {
  WM_OP_INVOKE_DEFAULT , WM_OP_INVOKE_REGION_WIN , WM_OP_INVOKE_REGION_CHANNELS , WM_OP_INVOKE_REGION_PREVIEW ,
  WM_OP_INVOKE_AREA , WM_OP_INVOKE_SCREEN , WM_OP_EXEC_DEFAULT , WM_OP_EXEC_REGION_WIN ,
  WM_OP_EXEC_REGION_CHANNELS , WM_OP_EXEC_REGION_PREVIEW , WM_OP_EXEC_AREA , WM_OP_EXEC_SCREEN
}
 
enum  eOperatorPropTags { OP_PROP_TAG_ADVANCED = (1 << 0) }
 
enum  eWM_EventFlag { WM_EVENT_SCROLL_INVERT = (1 << 0) , WM_EVENT_IS_REPEAT = (1 << 1) , WM_EVENT_FORCE_DRAG_THRESHOLD = (1 << 2) }
 
enum  wmProgress {
  P_NOT_STARTED , P_STARTING , P_IN_PROGRESS , P_FINISHING ,
  P_FINISHED
}
 
enum  wmTimerFlags { WM_TIMER_NO_FREE_CUSTOM_DATA = 1 << 0 , WM_TIMER_TAGGED_FOR_REMOVAL = 1 << 16 }
 
enum  eWM_DragFlags { WM_DRAG_NOP = 0 , WM_DRAG_FREE_DATA = 1 }
 

Functions

 ENUM_OPERATORS (eWM_EventFlag, WM_EVENT_FORCE_DRAG_THRESHOLD)
 

Variables

struct CLG_LogRefWM_LOG_OPERATORS
 
struct CLG_LogRefWM_LOG_HANDLERS
 
struct CLG_LogRefWM_LOG_EVENTS
 
struct CLG_LogRefWM_LOG_KEYMAPS
 
struct CLG_LogRefWM_LOG_TOOLS
 
struct CLG_LogRefWM_LOG_MSGBUS_PUB
 
struct CLG_LogRefWM_LOG_MSGBUS_SUB
 

#wmKeyMapItem

#define KM_MOD_HELD   1
 
enum  {
  KM_SHIFT = (1 << 0) , KM_CTRL = (1 << 1) , KM_ALT = (1 << 2) , KM_OSKEY = (1 << 3) ,
  KM_SHIFT_ANY = (1 << 4) , KM_CTRL_ANY = (1 << 5) , KM_ALT_ANY = (1 << 6) , KM_OSKEY_ANY = (1 << 7)
}
 
enum  { KM_TEXTINPUT = -2 }
 
enum  {
  KM_ANY = -1 , KM_NOTHING = 0 , KM_PRESS = 1 , KM_RELEASE = 2 ,
  KM_CLICK = 3 , KM_DBL_CLICK = 4 , KM_CLICK_DRAG = 5
}
 
enum  {
  KM_DIRECTION_N = 1 , KM_DIRECTION_NE = 2 , KM_DIRECTION_E = 3 , KM_DIRECTION_SE = 4 ,
  KM_DIRECTION_S = 5 , KM_DIRECTION_SW = 6 , KM_DIRECTION_W = 7 , KM_DIRECTION_NW = 8
}
 

Detailed Description

Overview of WM structs

Window Layout

wmWindow -> bScreen
+----------------------------------------------------------+
|+-----------------------------------------+-------------+ |
||ScrArea (links to 3D view)               |ScrArea      | |
||+-------++----------+-------------------+|(links to    | |
|||ARegion||          |ARegion (quad view)|| properties) | |
|||(tools)||          |                   ||             | |
|||       ||          |                   ||             | |
|||       ||          |                   ||             | |
|||       ||          |                   ||             | |
|||       |+----------+-------------------+|             | |
|||       ||          |                   ||             | |
|||       ||          |                   ||             | |
|||       ||          |                   ||             | |
|||       ||          |                   ||             | |
|||       ||          |                   ||             | |
||+-------++----------+-------------------+|             | |
|+-----------------------------------------+-------------+ |
+----------------------------------------------------------+

S<h1>pace Data

ScrArea's store a list of space data (SpaceLinks), each of unique type.
The first one is the displayed in the UI, others are added as needed.

+----------------------------+  <-- area->spacedata.first;
|                            |
|                            |---+  <-- other inactive SpaceLink's stored.
|                            |   |
|                            |   |---+
|                            |   |   |
|                            |   |   |
|                            |   |   |
|                            |   |   |
+----------------------------+   |   |
   |                             |   |
   +-----------------------------+   |
      |                              |
      +------------------------------+

A common way to get the space from the ScrArea:

if (area->spacetype == SPACE_VIEW3D) {
View3D *v3d = area->spacedata.first;
...
}
@ SPACE_VIEW3D
static void area(int d1, int d2, int e1, int e2, float weights[2])

Definition in file WM_types.h.

Macro Definition Documentation

◆ KM_MOD_HELD

#define KM_MOD_HELD   1

Definition at line 253 of file WM_types.h.

◆ NA_ACTIVATED

#define NA_ACTIVATED   7

Definition at line 529 of file WM_types.h.

◆ NA_ADDED

#define NA_ADDED   3

Definition at line 525 of file WM_types.h.

◆ NA_EDITED

#define NA_EDITED   1

Definition at line 523 of file WM_types.h.

◆ NA_EVALUATED

#define NA_EVALUATED   2

Definition at line 524 of file WM_types.h.

◆ NA_JOB_FINISHED

#define NA_JOB_FINISHED   9

Definition at line 531 of file WM_types.h.

◆ NA_PAINTING

#define NA_PAINTING   8

Definition at line 530 of file WM_types.h.

◆ NA_REMOVED

#define NA_REMOVED   4

Definition at line 526 of file WM_types.h.

◆ NA_RENAME

#define NA_RENAME   5

Definition at line 527 of file WM_types.h.

◆ NA_SELECTED

#define NA_SELECTED   6

Definition at line 528 of file WM_types.h.

◆ NC_ANIMATION

#define NC_ANIMATION   (15 << 24)

Definition at line 338 of file WM_types.h.

◆ NC_ASSET

#define NC_ASSET   (27 << 24)

Definition at line 354 of file WM_types.h.

◆ NC_BRUSH

#define NC_BRUSH   (12 << 24)

Definition at line 335 of file WM_types.h.

◆ NC_CAMERA

#define NC_CAMERA   (25 << 24)

Definition at line 351 of file WM_types.h.

◆ NC_GEOM

#define NC_GEOM   (17 << 24)

Definition at line 343 of file WM_types.h.

◆ NC_GPENCIL

#define NC_GPENCIL   (23 << 24)

Definition at line 349 of file WM_types.h.

◆ NC_GROUP

#define NC_GROUP   (10 << 24)

Definition at line 333 of file WM_types.h.

◆ NC_ID

#define NC_ID   (19 << 24)

Definition at line 345 of file WM_types.h.

◆ NC_IMAGE

#define NC_IMAGE   (11 << 24)

Definition at line 334 of file WM_types.h.

◆ NC_LAMP

#define NC_LAMP   (9 << 24)

Definition at line 332 of file WM_types.h.

◆ NC_LIGHTPROBE

#define NC_LIGHTPROBE   (26 << 24)

Definition at line 352 of file WM_types.h.

◆ NC_LINESTYLE

#define NC_LINESTYLE   (24 << 24)

Definition at line 350 of file WM_types.h.

◆ NC_MASK

#define NC_MASK   (22 << 24)

Definition at line 348 of file WM_types.h.

◆ NC_MATERIAL

#define NC_MATERIAL   (7 << 24)

Definition at line 330 of file WM_types.h.

◆ NC_MOVIECLIP

#define NC_MOVIECLIP   (21 << 24)

Definition at line 347 of file WM_types.h.

◆ NC_NODE

#define NC_NODE   (18 << 24)

Definition at line 344 of file WM_types.h.

◆ NC_OBJECT

#define NC_OBJECT   (6 << 24)

Definition at line 329 of file WM_types.h.

◆ NC_PAINTCURVE

#define NC_PAINTCURVE   (20 << 24)

Definition at line 346 of file WM_types.h.

◆ NC_SCENE

#define NC_SCENE   (5 << 24)

Definition at line 328 of file WM_types.h.

◆ NC_SCREEN

#define NC_SCREEN   (4 << 24)

Definition at line 327 of file WM_types.h.

◆ NC_SPACE

#define NC_SPACE   (16 << 24)

Definition at line 342 of file WM_types.h.

◆ NC_TEXT

#define NC_TEXT   (13 << 24)

Definition at line 336 of file WM_types.h.

◆ NC_TEXTURE

#define NC_TEXTURE   (8 << 24)

Definition at line 331 of file WM_types.h.

◆ NC_WINDOW

#define NC_WINDOW   (2 << 24)

Definition at line 325 of file WM_types.h.

◆ NC_WM

#define NC_WM   (1 << 24)

Definition at line 324 of file WM_types.h.

◆ NC_WORKSPACE

#define NC_WORKSPACE   (3 << 24)

Definition at line 326 of file WM_types.h.

◆ NC_WORLD

#define NC_WORLD   (14 << 24)

Definition at line 337 of file WM_types.h.

◆ ND_ANIMCHAN

#define ND_ANIMCHAN   (72 << 16)

Definition at line 444 of file WM_types.h.

◆ ND_ANIMPLAY

#define ND_ANIMPLAY   (4 << 16)

Definition at line 372 of file WM_types.h.

◆ ND_ASSET_CATALOGS

#define ND_ASSET_CATALOGS   (4 << 16)

Definition at line 495 of file WM_types.h.

◆ ND_ASSET_LIST

#define ND_ASSET_LIST   (1 << 16)

Definition at line 489 of file WM_types.h.

◆ ND_ASSET_LIST_PREVIEW

#define ND_ASSET_LIST_PREVIEW   (2 << 16)

Definition at line 490 of file WM_types.h.

◆ ND_ASSET_LIST_READING

#define ND_ASSET_LIST_READING   (3 << 16)

Definition at line 491 of file WM_types.h.

◆ ND_BONE_ACTIVE

#define ND_BONE_ACTIVE   (21 << 16)

Definition at line 408 of file WM_types.h.

◆ ND_BONE_SELECT

#define ND_BONE_SELECT   (22 << 16)

Definition at line 409 of file WM_types.h.

◆ ND_COMPO_RESULT

#define ND_COMPO_RESULT   (13 << 16)

Definition at line 395 of file WM_types.h.

◆ ND_CONSTRAINT

#define ND_CONSTRAINT   (26 << 16)

Definition at line 413 of file WM_types.h.

◆ ND_CURSOR

#define ND_CURSOR   (50 << 16)

Definition at line 438 of file WM_types.h.

◆ ND_DATA

#define ND_DATA   (91 << 16)

Definition at line 456 of file WM_types.h.

◆ ND_DATACHANGED

#define ND_DATACHANGED   (3 << 16)

Definition at line 362 of file WM_types.h.

◆ ND_DISPLAY

#define ND_DISPLAY   (51 << 16)

Definition at line 439 of file WM_types.h.

◆ ND_DRAW

#define ND_DRAW   (23 << 16)

Definition at line 410 of file WM_types.h.

◆ ND_DRAW_ANIMVIZ

#define ND_DRAW_ANIMVIZ   (33 << 16)

Definition at line 422 of file WM_types.h.

◆ ND_DRAW_RENDER_VIEWPORT

#define ND_DRAW_RENDER_VIEWPORT    (31 << 16) /* for camera & sequencer viewport update, also /w NC_SCENE */

Definition at line 418 of file WM_types.h.

◆ ND_FCURVES_ORDER

#define ND_FCURVES_ORDER   (75 << 16)

Definition at line 447 of file WM_types.h.

◆ ND_FILEREAD

#define ND_FILEREAD   (1 << 16)

Definition at line 360 of file WM_types.h.

◆ ND_FILESAVE

#define ND_FILESAVE   (2 << 16)

Definition at line 361 of file WM_types.h.

◆ ND_FRAME

#define ND_FRAME   (3 << 16)

Definition at line 382 of file WM_types.h.

◆ ND_FRAME_RANGE

#define ND_FRAME_RANGE   (17 << 16)

Definition at line 399 of file WM_types.h.

◆ ND_GPENCIL

#define ND_GPENCIL   (5 << 16)

Definition at line 373 of file WM_types.h.

◆ ND_GPENCIL_EDITMODE

#define ND_GPENCIL_EDITMODE   (85 << 16)

Definition at line 451 of file WM_types.h.

◆ ND_HISTORY

#define ND_HISTORY   (4 << 16)

Definition at line 363 of file WM_types.h.

◆ ND_JOB

#define ND_JOB   (5 << 16)

Definition at line 364 of file WM_types.h.

◆ ND_KEYFRAME

#define ND_KEYFRAME   (70 << 16)

Definition at line 442 of file WM_types.h.

◆ ND_KEYFRAME_PROP

#define ND_KEYFRAME_PROP   (71 << 16)

Definition at line 443 of file WM_types.h.

◆ ND_KEYINGSET

#define ND_KEYINGSET   (14 << 16)

Definition at line 396 of file WM_types.h.

◆ ND_KEYS

#define ND_KEYS   (25 << 16)

Definition at line 412 of file WM_types.h.

◆ ND_LAYER

#define ND_LAYER   (16 << 16)

Definition at line 398 of file WM_types.h.

◆ ND_LAYER_CONTENT

#define ND_LAYER_CONTENT   (101 << 16)

Definition at line 402 of file WM_types.h.

◆ ND_LAYOUTBROWSE

#define ND_LAYOUTBROWSE   (1 << 16)

Definition at line 370 of file WM_types.h.

◆ ND_LAYOUTDELETE

#define ND_LAYOUTDELETE   (2 << 16)

Definition at line 371 of file WM_types.h.

◆ ND_LAYOUTSET

#define ND_LAYOUTSET   (6 << 16)

Definition at line 374 of file WM_types.h.

◆ ND_LIB_OVERRIDE_CHANGED

#define ND_LIB_OVERRIDE_CHANGED   (8 << 16)

Definition at line 367 of file WM_types.h.

◆ ND_LIGHTING

#define ND_LIGHTING   (40 << 16)

Definition at line 431 of file WM_types.h.

◆ ND_LIGHTING_DRAW

#define ND_LIGHTING_DRAW   (41 << 16)

Definition at line 432 of file WM_types.h.

◆ ND_LOD

#define ND_LOD   (30 << 16)

Definition at line 417 of file WM_types.h.

◆ ND_MARKERS

#define ND_MARKERS   (2 << 16)

Definition at line 381 of file WM_types.h.

◆ ND_MODE

#define ND_MODE   (11 << 16)

Definition at line 393 of file WM_types.h.

◆ ND_MODIFIER

#define ND_MODIFIER   (24 << 16)

Definition at line 411 of file WM_types.h.

◆ ND_NLA

#define ND_NLA   (73 << 16)

Definition at line 445 of file WM_types.h.

◆ ND_NLA_ACTCHANGE

#define ND_NLA_ACTCHANGE   (74 << 16)

Definition at line 446 of file WM_types.h.

◆ ND_NLA_ORDER

#define ND_NLA_ORDER   (76 << 16)

Definition at line 448 of file WM_types.h.

◆ ND_NODES

#define ND_NODES   (5 << 16)

Definition at line 384 of file WM_types.h.

◆ ND_OB_ACTIVE

#define ND_OB_ACTIVE   (7 << 16)

Definition at line 388 of file WM_types.h.

◆ ND_OB_RENDER

#define ND_OB_RENDER   (10 << 16)

Definition at line 392 of file WM_types.h.

◆ ND_OB_SELECT

#define ND_OB_SELECT   (8 << 16)

Definition at line 390 of file WM_types.h.

◆ ND_OB_SHADING

#define ND_OB_SHADING   (19 << 16)

Definition at line 406 of file WM_types.h.

◆ ND_OB_VISIBLE

#define ND_OB_VISIBLE   (9 << 16)

Definition at line 391 of file WM_types.h.

◆ ND_PARENT

#define ND_PARENT   (29 << 16)

Definition at line 416 of file WM_types.h.

◆ ND_PARTICLE

#define ND_PARTICLE   (27 << 16)

Definition at line 414 of file WM_types.h.

◆ ND_POINTCACHE

#define ND_POINTCACHE   (28 << 16)

Definition at line 415 of file WM_types.h.

◆ ND_POSE

#define ND_POSE   (20 << 16)

Definition at line 407 of file WM_types.h.

◆ ND_RENDER_OPTIONS

#define ND_RENDER_OPTIONS   (4 << 16)

Definition at line 383 of file WM_types.h.

◆ ND_RENDER_RESULT

#define ND_RENDER_RESULT   (12 << 16)

Definition at line 394 of file WM_types.h.

◆ ND_SCENEBROWSE

#define ND_SCENEBROWSE   (1 << 16)

Definition at line 380 of file WM_types.h.

◆ ND_SELECT

#define ND_SELECT   (90 << 16)

Definition at line 455 of file WM_types.h.

◆ ND_SEQUENCER

#define ND_SEQUENCER   (6 << 16)

Definition at line 385 of file WM_types.h.

◆ ND_SHADERFX

#define ND_SHADERFX   (32 << 16)

Definition at line 420 of file WM_types.h.

◆ ND_SHADING

#define ND_SHADING   (30 << 16)

Definition at line 425 of file WM_types.h.

◆ ND_SHADING_DRAW

#define ND_SHADING_DRAW   (31 << 16)

Definition at line 426 of file WM_types.h.

◆ ND_SHADING_LINKS

#define ND_SHADING_LINKS   (32 << 16)

Definition at line 427 of file WM_types.h.

◆ ND_SHADING_PREVIEW

#define ND_SHADING_PREVIEW   (33 << 16)

Definition at line 428 of file WM_types.h.

◆ ND_SKETCH

#define ND_SKETCH   (7 << 16)

Definition at line 375 of file WM_types.h.

◆ ND_SPACE_ASSET_PARAMS

#define ND_SPACE_ASSET_PARAMS   (7 << 16)

Definition at line 468 of file WM_types.h.

◆ ND_SPACE_CHANGED

#define ND_SPACE_CHANGED   (19 << 16)

Definition at line 481 of file WM_types.h.

◆ ND_SPACE_CLIP

#define ND_SPACE_CLIP   (20 << 16)

Definition at line 482 of file WM_types.h.

◆ ND_SPACE_CONSOLE

#define ND_SPACE_CONSOLE   (1 << 16) /* general redraw */

Definition at line 462 of file WM_types.h.

◆ ND_SPACE_DOPESHEET

#define ND_SPACE_DOPESHEET   (15 << 16)

Definition at line 476 of file WM_types.h.

◆ ND_SPACE_FILE_LIST

#define ND_SPACE_FILE_LIST   (6 << 16)

Definition at line 467 of file WM_types.h.

◆ ND_SPACE_FILE_PARAMS

#define ND_SPACE_FILE_PARAMS   (5 << 16)

Definition at line 466 of file WM_types.h.

◆ ND_SPACE_FILE_PREVIEW

#define ND_SPACE_FILE_PREVIEW   (21 << 16)

Definition at line 483 of file WM_types.h.

◆ ND_SPACE_GRAPH

#define ND_SPACE_GRAPH   (14 << 16)

Definition at line 475 of file WM_types.h.

◆ ND_SPACE_IMAGE

#define ND_SPACE_IMAGE   (4 << 16)

Definition at line 465 of file WM_types.h.

◆ ND_SPACE_INFO

#define ND_SPACE_INFO   (3 << 16)

Definition at line 464 of file WM_types.h.

◆ ND_SPACE_INFO_REPORT

#define ND_SPACE_INFO_REPORT   (2 << 16) /* update for reports, could specify type */

Definition at line 463 of file WM_types.h.

◆ ND_SPACE_NLA

#define ND_SPACE_NLA   (16 << 16)

Definition at line 477 of file WM_types.h.

◆ ND_SPACE_NODE

#define ND_SPACE_NODE   (8 << 16)

Definition at line 469 of file WM_types.h.

◆ ND_SPACE_NODE_VIEW

#define ND_SPACE_NODE_VIEW   (18 << 16)

Definition at line 479 of file WM_types.h.

◆ ND_SPACE_OUTLINER

#define ND_SPACE_OUTLINER   (9 << 16)

Definition at line 470 of file WM_types.h.

◆ ND_SPACE_PROPERTIES

#define ND_SPACE_PROPERTIES   (11 << 16)

Definition at line 472 of file WM_types.h.

◆ ND_SPACE_SEQUENCER

#define ND_SPACE_SEQUENCER   (17 << 16)

Definition at line 478 of file WM_types.h.

◆ ND_SPACE_SPREADSHEET

#define ND_SPACE_SPREADSHEET   (22 << 16)

Definition at line 484 of file WM_types.h.

◆ ND_SPACE_TEXT

#define ND_SPACE_TEXT   (12 << 16)

Definition at line 473 of file WM_types.h.

◆ ND_SPACE_TIME

#define ND_SPACE_TIME   (13 << 16)

Definition at line 474 of file WM_types.h.

◆ ND_SPACE_VIEW3D

#define ND_SPACE_VIEW3D   (10 << 16)

Definition at line 471 of file WM_types.h.

◆ ND_TOOLSETTINGS

#define ND_TOOLSETTINGS   (15 << 16)

Definition at line 397 of file WM_types.h.

◆ ND_TRANSFORM

#define ND_TRANSFORM   (18 << 16)

Definition at line 405 of file WM_types.h.

◆ ND_TRANSFORM_DONE

#define ND_TRANSFORM_DONE   (18 << 16)

Definition at line 400 of file WM_types.h.

◆ ND_UNDO

#define ND_UNDO   (6 << 16)

Definition at line 365 of file WM_types.h.

◆ ND_VERTEX_GROUP

#define ND_VERTEX_GROUP   (92 << 16)

Definition at line 457 of file WM_types.h.

◆ ND_WORKSPACE_DELETE

#define ND_WORKSPACE_DELETE   (9 << 16)

Definition at line 377 of file WM_types.h.

◆ ND_WORKSPACE_SET

#define ND_WORKSPACE_SET   (8 << 16)

Definition at line 376 of file WM_types.h.

◆ ND_WORLD

#define ND_WORLD   (92 << 16)

Definition at line 401 of file WM_types.h.

◆ ND_WORLD_DRAW

#define ND_WORLD_DRAW   (45 << 16)

Definition at line 435 of file WM_types.h.

◆ ND_XR_DATA_CHANGED

#define ND_XR_DATA_CHANGED   (7 << 16)

Definition at line 366 of file WM_types.h.

◆ NOTE_ACTION

#define NOTE_ACTION   (0x000000FF)

Definition at line 522 of file WM_types.h.

◆ NOTE_CATEGORY

#define NOTE_CATEGORY   0xFF000000

Definition at line 323 of file WM_types.h.

◆ NOTE_DATA

#define NOTE_DATA   0x00FF0000

Definition at line 357 of file WM_types.h.

◆ NOTE_SUBTYPE

#define NOTE_SUBTYPE   0x0000FF00

Definition at line 498 of file WM_types.h.

◆ NS_EDITMODE_ARMATURE

#define NS_EDITMODE_ARMATURE   (8 << 8)

Definition at line 509 of file WM_types.h.

◆ NS_EDITMODE_CURVE

#define NS_EDITMODE_CURVE   (3 << 8)

Definition at line 504 of file WM_types.h.

◆ NS_EDITMODE_CURVES

#define NS_EDITMODE_CURVES   (11 << 8)

Definition at line 512 of file WM_types.h.

◆ NS_EDITMODE_LATTICE

#define NS_EDITMODE_LATTICE   (7 << 8)

Definition at line 508 of file WM_types.h.

◆ NS_EDITMODE_MBALL

#define NS_EDITMODE_MBALL   (6 << 8)

Definition at line 507 of file WM_types.h.

◆ NS_EDITMODE_MESH

#define NS_EDITMODE_MESH   (2 << 8)

Definition at line 503 of file WM_types.h.

◆ NS_EDITMODE_SURFACE

#define NS_EDITMODE_SURFACE   (4 << 8)

Definition at line 505 of file WM_types.h.

◆ NS_EDITMODE_TEXT

#define NS_EDITMODE_TEXT   (5 << 8)

Definition at line 506 of file WM_types.h.

◆ NS_LAYER_COLLECTION

#define NS_LAYER_COLLECTION   (24 << 8)

Definition at line 519 of file WM_types.h.

◆ NS_MODE_OBJECT

#define NS_MODE_OBJECT   (1 << 8)

Definition at line 501 of file WM_types.h.

◆ NS_MODE_PARTICLE

#define NS_MODE_PARTICLE   (10 << 8)

Definition at line 511 of file WM_types.h.

◆ NS_MODE_POSE

#define NS_MODE_POSE   (9 << 8)

Definition at line 510 of file WM_types.h.

◆ NS_VIEW3D_GPU

#define NS_VIEW3D_GPU   (16 << 8)

Definition at line 515 of file WM_types.h.

◆ NS_VIEW3D_SHADING

#define NS_VIEW3D_SHADING   (17 << 8)

Definition at line 516 of file WM_types.h.

◆ OP_PROP_TAG_ADVANCED

#define OP_PROP_TAG_ADVANCED   ((eOperatorPropTags)OP_PROP_TAG_ADVANCED)

Definition at line 226 of file WM_types.h.

◆ WM_DRAG_ASSET

#define WM_DRAG_ASSET   1

Definition at line 1044 of file WM_types.h.

◆ WM_DRAG_ASSET_CATALOG

#define WM_DRAG_ASSET_CATALOG   9

Definition at line 1055 of file WM_types.h.

◆ WM_DRAG_ASSET_LIST

#define WM_DRAG_ASSET_LIST   2

The user is dragging multiple assets. This is only supported in few specific cases, proper multi-item support for dragging isn't supported well yet. Therefore this is kept separate from WM_DRAG_ASSET.

Definition at line 1048 of file WM_types.h.

◆ WM_DRAG_COLOR

#define WM_DRAG_COLOR   7

Definition at line 1053 of file WM_types.h.

◆ WM_DRAG_DATASTACK

#define WM_DRAG_DATASTACK   8

Definition at line 1054 of file WM_types.h.

◆ WM_DRAG_ID

#define WM_DRAG_ID   0

Definition at line 1043 of file WM_types.h.

◆ WM_DRAG_NAME

#define WM_DRAG_NAME   5

Definition at line 1051 of file WM_types.h.

◆ WM_DRAG_PATH

#define WM_DRAG_PATH   4

Definition at line 1050 of file WM_types.h.

◆ WM_DRAG_RNA

#define WM_DRAG_RNA   3

Definition at line 1049 of file WM_types.h.

◆ WM_DRAG_VALUE

#define WM_DRAG_VALUE   6

Definition at line 1052 of file WM_types.h.

◆ WM_EVENT_CURSOR_MOTION_THRESHOLD

#define WM_EVENT_CURSOR_MOTION_THRESHOLD   ((float)U.move_threshold * U.dpi_fac)

Values below are ignored when detecting if the user intentionally moved the cursor. Keep this very small since it's used for selection cycling for eg, where we want intended adjustments to pass this threshold and select new items.

Always check for <= this value since it may be zero.

Definition at line 757 of file WM_types.h.

◆ WM_GESTURE_CIRCLE

#define WM_GESTURE_CIRCLE   5

Definition at line 540 of file WM_types.h.

◆ WM_GESTURE_CROSS_RECT

#define WM_GESTURE_CROSS_RECT   3

Definition at line 538 of file WM_types.h.

◆ WM_GESTURE_LASSO

#define WM_GESTURE_LASSO   4

Definition at line 539 of file WM_types.h.

◆ WM_GESTURE_LINES

#define WM_GESTURE_LINES   1

Definition at line 536 of file WM_types.h.

◆ WM_GESTURE_RECT

#define WM_GESTURE_RECT   2

Definition at line 537 of file WM_types.h.

◆ WM_GESTURE_STRAIGHTLINE

#define WM_GESTURE_STRAIGHTLINE   6

Definition at line 541 of file WM_types.h.

◆ WM_OP_CONTEXT_HAS_AREA

#define WM_OP_CONTEXT_HAS_AREA (   type)
Value:
#define CHECK_TYPE_INLINE(val, type)
#define ELEM(...)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
wmOperatorCallContext
Definition: WM_types.h:199
@ WM_OP_INVOKE_SCREEN
Definition: WM_types.h:206
@ WM_OP_EXEC_SCREEN
Definition: WM_types.h:213

Definition at line 216 of file WM_types.h.

◆ WM_OP_CONTEXT_HAS_REGION

#define WM_OP_CONTEXT_HAS_REGION (   type)     (WM_OP_CONTEXT_HAS_AREA(type) && !ELEM(type, WM_OP_INVOKE_AREA, WM_OP_EXEC_AREA))

Definition at line 219 of file WM_types.h.

◆ WM_UI_HANDLER_BREAK

#define WM_UI_HANDLER_BREAK   1

Definition at line 299 of file WM_types.h.

◆ WM_UI_HANDLER_CONTINUE

#define WM_UI_HANDLER_CONTINUE   0

Definition at line 298 of file WM_types.h.

Typedef Documentation

◆ eOperatorPropTags

◆ eWM_DragFlags

◆ eWM_EventFlag

◆ RecentFile

typedef struct RecentFile RecentFile

◆ wmDrag

typedef struct wmDrag wmDrag

◆ wmDragActiveDropState

◆ wmDragAsset

typedef struct wmDragAsset wmDragAsset

◆ wmDragAssetCatalog

◆ wmDragAssetListItem

For some specific cases we support dragging multiple assets (WM_DRAG_ASSET_LIST). There is no proper support for dragging multiple items in the wmDrag/wmDrop API yet, so this is really just to enable specific features for assets.

This struct basically contains a tagged union to either store a local ID pointer, or information about an externally stored asset.

◆ wmDragID

typedef struct wmDragID wmDragID

◆ wmDropBox

typedef struct wmDropBox wmDropBox

Drop-boxes are like key-maps, part of the screen/area/region definition. Allocation and free is on startup and exit.

The operator is polled and invoked with the current context (WM_OP_INVOKE_DEFAULT), there is no way to override that (by design, since drop-boxes should act on the exact mouse position). So the drop-boxes are supposed to check the required area and region context in their poll.

◆ WMDropboxTooltipFunc

typedef char*(* WMDropboxTooltipFunc) (struct bContext *, struct wmDrag *, const int xy[2], struct wmDropBox *drop)

Definition at line 1113 of file WM_types.h.

◆ wmEvent

typedef struct wmEvent wmEvent

Each event should have full modifier state. event comes from event manager and from keymap.

Previous State (prev_*)

Events hold information about the previous event.

  • Previous values are only set for events types that generate KM_PRESS. See: ISKEYBOARD_OR_BUTTON.
  • Previous x/y are exceptions: wmEvent.prev these are set on mouse motion, see MOUSEMOVE & track-pad events.
  • Modal key-map handling sets prev_val & prev_type to val & type, this allows modal keys-maps to check the original values (needed in some cases).

Press State (prev_press_*)

Events hold information about the state when the last KM_PRESS event was added. This is used for generating KM_CLICK, KM_DBL_CLICK & KM_CLICK_DRAG events. See wm_handlers_do for the implementation.

  • Previous values are only set when a KM_PRESS event is detected. See: ISKEYBOARD_OR_BUTTON.
  • The reason to differentiate between "press" and the previous event state is the previous event may be set by key-release events. In the case of a single key click this isn't a problem however releasing other keys such as modifiers prevents click/click-drag events from being detected, see: T89989.
  • Mouse-wheel events are excluded even though they generate KM_PRESS as clicking and dragging don't make sense for mouse wheel events.

◆ wmGenericCallback

◆ wmGenericCallbackFn

typedef void(* wmGenericCallbackFn) (struct bContext *C, void *user_data)

Definition at line 133 of file WM_types.h.

◆ wmGenericUserData

◆ wmGenericUserDataFreeFn

typedef void(* wmGenericUserDataFreeFn) (void *data)

Definition at line 124 of file WM_types.h.

◆ wmGesture

typedef struct wmGesture wmGesture

wmGesture is registered to wmWindow.gesture, handled by operator callbacks.

◆ wmNotifier

typedef struct wmNotifier wmNotifier

◆ wmOperatorCallContext

Context to call operator in for WM_operator_name_call. rna_ui.c contains EnumPropertyItem's of these, keep in sync.

◆ wmOperatorCallParams

Wrapper to reference a wmOperatorType together with some set properties and other relevant information to invoke the operator in a customizable way.

◆ wmOperatorType

◆ wmPaintCursorDraw

typedef void(* wmPaintCursorDraw) (struct bContext *C, int, int, void *customdata)

Definition at line 1039 of file WM_types.h.

◆ wmTabletData

typedef struct wmTabletData wmTabletData

◆ wmTimer

typedef struct wmTimer wmTimer

◆ wmTooltipState

Struct to store tool-tip timer and possible creation if the time is reached. Allows UI code to call WM_tooltip_timer_init without each user having to handle the timer.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

wmOperatorType.flag

Enumerator
OPTYPE_REGISTER 

Register operators in stack after finishing (needed for redo).

OPTYPE_UNDO 

Do an undo push after the operator runs.

OPTYPE_BLOCKING 

Let Blender grab all input from the WM (X11).

OPTYPE_MACRO 
OPTYPE_GRAB_CURSOR_XY 

Grabs the cursor and optionally enables continuous cursor wrapping.

OPTYPE_GRAB_CURSOR_X 

Only warp on the X axis.

OPTYPE_GRAB_CURSOR_Y 

Only warp on the Y axis.

OPTYPE_PRESET 

Show preset menu.

OPTYPE_INTERNAL 

Some operators are mainly for internal use and don't make sense to be accessed from the search menu, even if poll() returns true. Currently only used for the search toolbox.

OPTYPE_LOCK_BYPASS 

Allow operator to run when interface is locked.

OPTYPE_UNDO_GROUPED 

Special type of undo which doesn't store itself multiple times.

OPTYPE_DEPENDS_ON_CURSOR 

Depends on the cursor location, when activated from a menu wait for mouse press.

In practice these operators often end up being accessed:

  • Directly from key bindings.
  • As tools in the toolbar.

Even so, accessing from the menu should behave usefully.

Definition at line 144 of file WM_types.h.

◆ anonymous enum

anonymous enum

For WM_cursor_grab_enable wrap axis.

Enumerator
WM_CURSOR_WRAP_NONE 
WM_CURSOR_WRAP_X 
WM_CURSOR_WRAP_Y 
WM_CURSOR_WRAP_XY 

Definition at line 188 of file WM_types.h.

◆ anonymous enum

anonymous enum

Modifier keys, not actually used for wmKeyMapItem (never stored in DNA), used for:

Enumerator
KM_SHIFT 
KM_CTRL 
KM_ALT 
KM_OSKEY 

Use for Windows-Key on MS-Windows, Command-key on macOS and Super on Linux.

KM_SHIFT_ANY 
KM_CTRL_ANY 
KM_ALT_ANY 
KM_OSKEY_ANY 

Definition at line 237 of file WM_types.h.

◆ anonymous enum

anonymous enum

wmKeyMapItem.type NOTE: most types are defined in wm_event_types.h.

Enumerator
KM_TEXTINPUT 

Definition at line 259 of file WM_types.h.

◆ anonymous enum

anonymous enum

wmKeyMapItem.val

Enumerator
KM_ANY 
KM_NOTHING 
KM_PRESS 
KM_RELEASE 
KM_CLICK 
KM_DBL_CLICK 
KM_CLICK_DRAG 
Note
The cursor location at the point dragging starts is set to wmEvent.prev_press_xy some operators such as box selection should use this location instead of wmEvent.xy.

Definition at line 264 of file WM_types.h.

◆ anonymous enum

anonymous enum

wmKeyMapItem.direction

Direction set for KM_CLICK_DRAG key-map items. KM_ANY (-1) to ignore direction.

Enumerator
KM_DIRECTION_N 
KM_DIRECTION_NE 
KM_DIRECTION_E 
KM_DIRECTION_SE 
KM_DIRECTION_S 
KM_DIRECTION_SW 
KM_DIRECTION_W 
KM_DIRECTION_NW 

Definition at line 283 of file WM_types.h.

◆ eOperatorPropTags

Enumerator
OP_PROP_TAG_ADVANCED 

Definition at line 223 of file WM_types.h.

◆ eWM_DragFlags

Enumerator
WM_DRAG_NOP 
WM_DRAG_FREE_DATA 

Definition at line 1057 of file WM_types.h.

◆ eWM_EventFlag

Enumerator
WM_EVENT_SCROLL_INVERT 

True if the operating system inverted the delta x/y values and resulting prev_xy values, for natural scroll direction. For absolute scroll direction, the delta must be negated again.

WM_EVENT_IS_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.

WM_EVENT_FORCE_DRAG_THRESHOLD 

Mouse-move events may have this flag set to force creating a click-drag event even when the threshold has not been met.

Definition at line 600 of file WM_types.h.

◆ wmOperatorCallContext

Context to call operator in for WM_operator_name_call. rna_ui.c contains EnumPropertyItem's of these, keep in sync.

Enumerator
WM_OP_INVOKE_DEFAULT 
WM_OP_INVOKE_REGION_WIN 
WM_OP_INVOKE_REGION_CHANNELS 
WM_OP_INVOKE_REGION_PREVIEW 
WM_OP_INVOKE_AREA 
WM_OP_INVOKE_SCREEN 
WM_OP_EXEC_DEFAULT 
WM_OP_EXEC_REGION_WIN 
WM_OP_EXEC_REGION_CHANNELS 
WM_OP_EXEC_REGION_PREVIEW 
WM_OP_EXEC_AREA 
WM_OP_EXEC_SCREEN 

Definition at line 199 of file WM_types.h.

◆ wmProgress

enum wmProgress

Motion progress, for modal handlers.

Enumerator
P_NOT_STARTED 
P_STARTING 
P_IN_PROGRESS 
P_FINISHING 
P_FINISHED 

Definition at line 760 of file WM_types.h.

◆ wmTimerFlags

Timer flags.

Enumerator
WM_TIMER_NO_FREE_CUSTOM_DATA 

Do not attempt to free custom-data pointer even if non-NULL.

WM_TIMER_TAGGED_FOR_REMOVAL 

This timer has been tagged for removal and deletion, handled by WM code to ensure timers are deleted in a safe context.

Definition at line 846 of file WM_types.h.

Function Documentation

◆ ENUM_OPERATORS()

ENUM_OPERATORS ( eWM_EventFlag  ,
WM_EVENT_FORCE_DRAG_THRESHOLD   
)

Variable Documentation

◆ WM_LOG_EVENTS

struct CLG_LogRef* WM_LOG_EVENTS
extern

◆ WM_LOG_HANDLERS

struct CLG_LogRef* WM_LOG_HANDLERS
extern

◆ WM_LOG_KEYMAPS

struct CLG_LogRef* WM_LOG_KEYMAPS
extern

◆ WM_LOG_MSGBUS_PUB

struct CLG_LogRef* WM_LOG_MSGBUS_PUB
extern

◆ WM_LOG_MSGBUS_SUB

struct CLG_LogRef* WM_LOG_MSGBUS_SUB
extern

◆ WM_LOG_OPERATORS

struct CLG_LogRef* WM_LOG_OPERATORS
extern

◆ WM_LOG_TOOLS

struct CLG_LogRef* WM_LOG_TOOLS
extern

Referenced by toolsystem_ref_link().