Python: Add new annotation_pre & annotation_post handlers
Annotation tool is used as a general mark tool for many add-ons. To be able to detect when an annotation is done is very handy to integrate the annotation tool in add-ons and other studio workflows.
The new callback names are: `annotation_pre` and `annotation_post`
Both callbacks are exposed via the Python module `bpy.app.handlers`
Example use:
```
import bpy
def annotation_starts(gpd):
print("Annotation starts")
def annotation_done(gpd):
print("Annotation done")
bpy.app.handlers.annotation_pre.clear()
bpy.app.handlers.annotation_pre.append(annotation_starts)
bpy.app.handlers.annotation_post.clear()
bpy.app.handlers.annotation_post.append(annotation_done)
```
Note: The handlers are called for any annotation tool, including eraser.
Reviewed By: campbellbarton
Differential Revision: https://developer.blender.org/D14221
This commit is contained in:
@@ -64,6 +64,8 @@ static PyStructSequence_Field app_cb_info_fields[] = {
|
||||
{"load_factory_preferences_post", "on loading factory preferences (after)"},
|
||||
{"load_factory_startup_post", "on loading factory startup (after)"},
|
||||
{"xr_session_start_pre", "on starting an xr session (before)"},
|
||||
{"annotation_pre", "on drawing an annotation (before)"},
|
||||
{"annotation_post", "on drawing an annotation (after)"},
|
||||
|
||||
/* sets the permanent tag */
|
||||
#define APP_CB_OTHER_FIELDS 1
|
||||
|
||||
Reference in New Issue
Block a user