diff options
author | Colin Basnett <cmbasnett@gmail.com> | 2022-09-17 03:50:37 +0300 |
---|---|---|
committer | Colin Basnett <cmbasnett@gmail.com> | 2022-09-17 03:50:37 +0300 |
commit | 564bda241a973396da51d7c3ccd9efd97d51728a (patch) | |
tree | 4d9aa4cccd82e2e606b47774afa5e1015bf14768 /source/blender/makesdna/DNA_windowmanager_types.h | |
parent | 0fff238150d076576053c25b646f653d6e3b0edb (diff) | |
parent | 48d7ff68f0df209c77bbb081ab46fbc109fd825a (diff) |
Merge branch 'master' into feature-imformatfeature-imformat
Diffstat (limited to 'source/blender/makesdna/DNA_windowmanager_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_windowmanager_types.h | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/source/blender/makesdna/DNA_windowmanager_types.h b/source/blender/makesdna/DNA_windowmanager_types.h index f7aaa1186db..1c71129a3c7 100644 --- a/source/blender/makesdna/DNA_windowmanager_types.h +++ b/source/blender/makesdna/DNA_windowmanager_types.h @@ -70,6 +70,8 @@ enum ReportListFlags { RPT_STORE = (1 << 1), RPT_FREE = (1 << 2), RPT_OP_HOLD = (1 << 3), /* don't move them into the operator global list (caller will use) */ + /** Don't print (the owner of the #ReportList will handle printing to the `stdout`). */ + RPT_PRINT_HANDLED_BY_OWNER = (1 << 4), }; /* These two Lines with # tell makesdna this struct can be excluded. */ @@ -149,8 +151,18 @@ typedef struct wmWindowManager { /** Operator registry. */ ListBase operators; - /** Refresh/redraw #wmNotifier structs. */ + /** + * Refresh/redraw #wmNotifier structs. + * \note Once in the queue, notifiers should be considered read-only. + * With the exception of clearing notifiers for data which has been removed, + * see: #NOTE_CATEGORY_TAG_CLEARED. + */ ListBase notifier_queue; + /** + * For duplicate detection. + * \note keep in sync with `notifier_queue` adding/removing elements must also update this set. + */ + struct GSet *notifier_queue_set; /** Information and error reports. */ struct ReportList reports; @@ -239,6 +251,9 @@ typedef struct wmWindow { struct Scene *new_scene; /** Active view layer displayed in this window. */ char view_layer_name[64]; + /** The workspace may temporarily override the window's scene with scene pinning. This is the + * "overridden" or "default" scene to restore when entering a workspace with no scene pinned. */ + struct Scene *unpinned_scene; struct WorkSpaceInstanceHook *workspace_hook; @@ -404,13 +419,13 @@ enum { KMI_USER_MODIFIED = (1 << 2), KMI_UPDATE = (1 << 3), /** - * When set, ignore events with #wmEvent.is_repeat enabled. + * When set, ignore events with `wmEvent.flag & WM_EVENT_IS_REPEAT` enabled. * * \note this flag isn't cleared when editing/loading the key-map items, * so it may be set in cases which don't make sense (modifier-keys or mouse-motion for example). * * Knowing if an event may repeat is something set at the operating-systems event handling level - * so rely on #wmEvent.is_repeat being false non keyboard events instead of checking if this + * so rely on #WM_EVENT_IS_REPEAT being false non keyboard events instead of checking if this * flag makes sense. * * Only used when: `ISKEYBOARD(kmi->type) || (kmi->type == KM_TEXTINPUT)` |