diff options
author | Germano Cavalcante <germano.costa@ig.com.br> | 2020-06-10 02:27:40 +0300 |
---|---|---|
committer | Germano Cavalcante <germano.costa@ig.com.br> | 2020-06-10 02:27:51 +0300 |
commit | 46e0ec05ef1fb75fb3e5b4a713a5302ace49e546 (patch) | |
tree | 8eff449f33050c445ee3367c941da57b8b61882e /source/blender/editors/transform/transform_convert_mask.c | |
parent | 63a40ed422bc61e9cd952282a636c53a9d8f3fde (diff) |
Cleanup: Move each special_aftertrans_update to their respective TransData file
Diffstat (limited to 'source/blender/editors/transform/transform_convert_mask.c')
-rw-r--r-- | source/blender/editors/transform/transform_convert_mask.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/source/blender/editors/transform/transform_convert_mask.c b/source/blender/editors/transform/transform_convert_mask.c index 07b8495d3bd..7be0d43d854 100644 --- a/source/blender/editors/transform/transform_convert_mask.c +++ b/source/blender/editors/transform/transform_convert_mask.c @@ -33,8 +33,13 @@ #include "BKE_report.h" #include "ED_clip.h" +#include "ED_image.h" +#include "ED_keyframing.h" #include "ED_mask.h" +#include "WM_api.h" +#include "WM_types.h" + #include "transform.h" #include "transform_convert.h" @@ -449,3 +454,45 @@ void recalcData_mask_common(TransInfo *t) } /** \} */ + +/* -------------------------------------------------------------------- */ +/** \name Special After Transform Mask + * \{ */ + +void special_aftertrans_update__mask(bContext *C, TransInfo *t) +{ + Mask *mask = NULL; + + if (t->spacetype == SPACE_CLIP) { + SpaceClip *sc = t->area->spacedata.first; + mask = ED_space_clip_get_mask(sc); + } + else if (t->spacetype == SPACE_IMAGE) { + SpaceImage *sima = t->area->spacedata.first; + mask = ED_space_image_get_mask(sima); + } + else { + BLI_assert(0); + } + + if (t->scene->nodetree) { + /* tracks can be used for stabilization nodes, + * flush update for such nodes */ + // if (nodeUpdateID(t->scene->nodetree, &mask->id)) + { + WM_event_add_notifier(C, NC_MASK | ND_DATA, &mask->id); + } + } + + /* TODO - dont key all masks... */ + if (IS_AUTOKEY_ON(t->scene)) { + Scene *scene = t->scene; + + if (ED_mask_layer_shape_auto_key_select(mask, CFRA)) { + WM_event_add_notifier(C, NC_MASK | ND_DATA, &mask->id); + DEG_id_tag_update(&mask->id, 0); + } + } +} + +/** \} */ |