diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-03-15 22:37:09 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-03-15 22:39:09 +0300 |
commit | 375ede0f3fdef936d5712968143e06c846c8d6d6 (patch) | |
tree | 30670e83c59cdee7cb85d9e6aa64fcdf2ef42528 /source/blender/windowmanager | |
parent | 68496c0b38c3df1237596dc8600ad990140da6a7 (diff) |
Comments: wmOperator.cancel & modal
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r-- | source/blender/windowmanager/WM_types.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/blender/windowmanager/WM_types.h b/source/blender/windowmanager/WM_types.h index cd46e24264d..97f9257b4cb 100644 --- a/source/blender/windowmanager/WM_types.h +++ b/source/blender/windowmanager/WM_types.h @@ -542,7 +542,15 @@ typedef struct wmOperatorType { * canceled due to some external reason, cancel is called * - see defines below for return values */ int (*invoke)(struct bContext *, struct wmOperator *, const struct wmEvent *) ATTR_WARN_UNUSED_RESULT; + + /* Called when a modal operator is canceled (not used often). + * Internal cleanup can be done here if needed. */ void (*cancel)(struct bContext *, struct wmOperator *); + + /* Modal is used for operators which continuously run, eg: + * fly mode, knife tool, circle select are all examples of modal operators. + * Modal operators can handle events which would normally access other operators, + * they keep running until they don't return `OPERATOR_RUNNING_MODAL`. */ int (*modal)(struct bContext *, struct wmOperator *, const struct wmEvent *) ATTR_WARN_UNUSED_RESULT; /* verify if the operator can be executed in the current context, note |