diff --git a/source/blender/blenkernel/BKE_gpencil_legacy.h b/source/blender/blenkernel/BKE_gpencil_legacy.h index e48f3dacb41..89651ca6e9e 100644 --- a/source/blender/blenkernel/BKE_gpencil_legacy.h +++ b/source/blender/blenkernel/BKE_gpencil_legacy.h @@ -221,41 +221,6 @@ void BKE_gpencil_layer_active_set(struct bGPdata *gpd, struct bGPDlayer *active) * \param gpl: Grease pencil layer */ void BKE_gpencil_layer_delete(struct bGPdata *gpd, struct bGPDlayer *gpl); -/** - * Set locked layers for autolock mode. - * \param gpd: Grease pencil data-block - * \param unlock: Unlock flag - */ -void BKE_gpencil_layer_autolock_set(struct bGPdata *gpd, bool unlock); - -/** - * Remove grease pencil mask layer. - * \param gpl: Grease pencil layer - * \param mask: Grease pencil mask layer - */ -void BKE_gpencil_layer_mask_remove(struct bGPDlayer *gpl, struct bGPDlayer_Mask *mask); -/** - * Remove any reference to mask layer. - * \param gpd: Grease pencil data-block - * \param name: Name of the mask layer - */ -void BKE_gpencil_layer_mask_remove_ref(struct bGPdata *gpd, const char *name); -/** - * Sort grease pencil mask layers. - * \param gpd: Grease pencil data-block - * \param gpl: Grease pencil layer - */ -void BKE_gpencil_layer_mask_sort(struct bGPdata *gpd, struct bGPDlayer *gpl); -/** - * Sort all grease pencil mask layer. - * \param gpd: Grease pencil data-block - */ -void BKE_gpencil_layer_mask_sort_all(struct bGPdata *gpd); -/** - * Make a copy of a given gpencil mask layers. - */ -void BKE_gpencil_layer_mask_copy(const struct bGPDlayer *gpl_src, struct bGPDlayer *gpl_dst); - /** * Sort grease pencil frames. * \param gpl: Grease pencil layer diff --git a/source/blender/blenkernel/intern/gpencil_legacy.cc b/source/blender/blenkernel/intern/gpencil_legacy.cc index 30d49a8d6d2..a2df795f6f2 100644 --- a/source/blender/blenkernel/intern/gpencil_legacy.cc +++ b/source/blender/blenkernel/intern/gpencil_legacy.cc @@ -781,9 +781,6 @@ bGPDlayer *BKE_gpencil_layer_duplicate(const bGPDlayer *gpl_src, gpl_dst = static_cast(MEM_dupallocN(gpl_src)); gpl_dst->prev = gpl_dst->next = nullptr; - /* Copy masks. */ - BKE_gpencil_layer_mask_copy(gpl_src, gpl_dst); - /* copy frames */ BLI_listbase_clear(&gpl_dst->frames); if (dup_frames) { @@ -1059,29 +1056,6 @@ bGPDlayer *BKE_gpencil_layer_named_get(bGPdata *gpd, const char *name) return static_cast(BLI_findstring(&gpd->layers, name, offsetof(bGPDlayer, info))); } -void BKE_gpencil_layer_mask_remove(bGPDlayer *gpl, bGPDlayer_Mask *mask) -{ - BLI_freelinkN(&gpl->mask_layers, mask); - gpl->act_mask--; - CLAMP_MIN(gpl->act_mask, 0); -} - -void BKE_gpencil_layer_mask_remove_ref(bGPdata *gpd, const char *name) -{ - bGPDlayer_Mask *mask_next; - - LISTBASE_FOREACH (bGPDlayer *, gpl, &gpd->layers) { - for (bGPDlayer_Mask *mask = static_cast(gpl->mask_layers.first); mask; - mask = mask_next) - { - mask_next = mask->next; - if (STREQ(mask->name, name)) { - BKE_gpencil_layer_mask_remove(gpl, mask); - } - } - } -} - static int gpencil_cb_sort_masks(const void *arg1, const void *arg2) { /* sort is inverted as layer list. */ @@ -1099,38 +1073,6 @@ static int gpencil_cb_sort_masks(const void *arg1, const void *arg2) return val; } -void BKE_gpencil_layer_mask_sort(bGPdata *gpd, bGPDlayer *gpl) -{ - /* Update sort index. */ - LISTBASE_FOREACH (bGPDlayer_Mask *, mask, &gpl->mask_layers) { - bGPDlayer *gpl_mask = BKE_gpencil_layer_named_get(gpd, mask->name); - if (gpl_mask != nullptr) { - mask->sort_index = BLI_findindex(&gpd->layers, gpl_mask); - } - else { - mask->sort_index = 0; - } - } - BLI_listbase_sort(&gpl->mask_layers, gpencil_cb_sort_masks); -} - -void BKE_gpencil_layer_mask_sort_all(bGPdata *gpd) -{ - LISTBASE_FOREACH (bGPDlayer *, gpl, &gpd->layers) { - BKE_gpencil_layer_mask_sort(gpd, gpl); - } -} - -void BKE_gpencil_layer_mask_copy(const bGPDlayer *gpl_src, bGPDlayer *gpl_dst) -{ - BLI_listbase_clear(&gpl_dst->mask_layers); - LISTBASE_FOREACH (bGPDlayer_Mask *, mask_src, &gpl_src->mask_layers) { - bGPDlayer_Mask *mask_dst = static_cast(MEM_dupallocN(mask_src)); - mask_dst->prev = mask_dst->next = nullptr; - BLI_addtail(&gpl_dst->mask_layers, mask_dst); - } -} - static int gpencil_cb_cmp_frame(void *thunk, const void *a, const void *b) { const bGPDframe *frame_a = static_cast(a); @@ -1197,36 +1139,6 @@ void BKE_gpencil_layer_active_set(bGPdata *gpd, bGPDlayer *active) } } -void BKE_gpencil_layer_autolock_set(bGPdata *gpd, const bool unlock) -{ - BLI_assert(gpd != nullptr); - - if (gpd->flag & GP_DATA_AUTOLOCK_LAYERS) { - bGPDlayer *layer_active = BKE_gpencil_layer_active_get(gpd); - - /* Lock all other layers */ - LISTBASE_FOREACH (bGPDlayer *, gpl, &gpd->layers) { - /* unlock active layer */ - if (gpl == layer_active) { - gpl->flag &= ~GP_LAYER_LOCKED; - } - else { - gpl->flag |= GP_LAYER_LOCKED; - } - } - } - else { - /* If disable is better unlock all layers by default or it looks there is - * a problem in the UI because the user expects all layers will be unlocked - */ - if (unlock) { - LISTBASE_FOREACH (bGPDlayer *, gpl, &gpd->layers) { - gpl->flag &= ~GP_LAYER_LOCKED; - } - } - } -} - void BKE_gpencil_layer_delete(bGPdata *gpd, bGPDlayer *gpl) { /* error checking */ @@ -1240,9 +1152,6 @@ void BKE_gpencil_layer_delete(bGPdata *gpd, bGPDlayer *gpl) /* Free Masks. */ BKE_gpencil_free_layer_masks(gpl); - /* Remove any reference to that layer in masking lists. */ - BKE_gpencil_layer_mask_remove_ref(gpd, gpl->info); - /* free icon providing preview of icon color */ BKE_icon_delete(gpl->runtime.icon_id); diff --git a/source/blender/editors/animation/anim_channels_edit.cc b/source/blender/editors/animation/anim_channels_edit.cc index d9ec793a3a2..a63d7390fea 100644 --- a/source/blender/editors/animation/anim_channels_edit.cc +++ b/source/blender/editors/animation/anim_channels_edit.cc @@ -4550,7 +4550,6 @@ static int click_select_channel_gplayer(bContext *C, ANIMTYPE_GPLAYER); /* update other layer status */ BKE_gpencil_layer_active_set(gpd, gpl); - BKE_gpencil_layer_autolock_set(gpd, false); DEG_id_tag_update(&gpd->id, ID_RECALC_GEOMETRY); } diff --git a/source/blender/editors/gpencil_legacy/editaction_gpencil.cc b/source/blender/editors/gpencil_legacy/editaction_gpencil.cc index 0321461dd4f..ca948d71618 100644 --- a/source/blender/editors/gpencil_legacy/editaction_gpencil.cc +++ b/source/blender/editors/gpencil_legacy/editaction_gpencil.cc @@ -221,7 +221,6 @@ void ED_gpencil_set_active_channel(bGPdata *gpd, bGPDlayer *gpl) /* Update other layer status. */ if (BKE_gpencil_layer_active_get(gpd) != gpl) { BKE_gpencil_layer_active_set(gpd, gpl); - BKE_gpencil_layer_autolock_set(gpd, false); WM_main_add_notifier(NC_GPENCIL | ND_DATA | NA_EDITED, nullptr); } } diff --git a/source/blender/editors/gpencil_legacy/gpencil_data.cc b/source/blender/editors/gpencil_legacy/gpencil_data.cc index ffafb7b389a..ef2d08ff187 100644 --- a/source/blender/editors/gpencil_legacy/gpencil_data.cc +++ b/source/blender/editors/gpencil_legacy/gpencil_data.cc @@ -255,9 +255,6 @@ static wmOperatorStatus gpencil_layer_remove_exec(bContext *C, wmOperator *op) /* delete the layer now... */ BKE_gpencil_layer_delete(gpd, gpl); - /* Reorder masking. */ - BKE_gpencil_layer_mask_sort_all(gpd); - /* notifiers */ DEG_id_tag_update(&gpd->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY); WM_event_add_notifier(C, NC_GPENCIL | ND_DATA | NA_EDITED, nullptr); @@ -319,9 +316,6 @@ static wmOperatorStatus gpencil_layer_move_exec(bContext *C, wmOperator *op) BLI_assert(ELEM(direction, -1, 0, 1)); /* we use value below */ if (BLI_listbase_link_move(&gpd->layers, gpl, direction)) { - /* Reorder masking. */ - BKE_gpencil_layer_mask_sort_all(gpd); - DEG_id_tag_update(&gpd->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY); WM_event_add_notifier(C, NC_GPENCIL | ND_DATA | NA_EDITED, nullptr); } diff --git a/source/blender/editors/gpencil_legacy/gpencil_edit.cc b/source/blender/editors/gpencil_legacy/gpencil_edit.cc index 62d4ac68c20..334d8d5887b 100644 --- a/source/blender/editors/gpencil_legacy/gpencil_edit.cc +++ b/source/blender/editors/gpencil_legacy/gpencil_edit.cc @@ -49,59 +49,6 @@ #include "gpencil_intern.hh" -/* -------------------------------------------------------------------- */ -/** \name Copy/Paste Strokes Utilities - * - * Grease Pencil stroke data copy/paste buffer: - * - The copy operation collects all segments of selected strokes, - * dumping "ready to be copied" copies of the strokes into the buffer. - * - The paste operation makes a copy of those elements, and adds them - * to the active layer. This effectively flattens down the strokes - * from several different layers into a single layer. - * \{ */ - -ListBase gpencil_strokes_copypastebuf = {nullptr, nullptr}; - -/* Hash for hanging on to all the colors used by strokes in the buffer - * - * This is needed to prevent dangling and unsafe pointers when pasting across data-blocks, - * or after a color used by a stroke in the buffer gets deleted (via user action or undo). - */ -static GHash *gpencil_strokes_copypastebuf_colors = nullptr; - -void ED_gpencil_strokes_copybuf_free() -{ - bGPDstroke *gps, *gpsn; - - /* Free the colors buffer. - * NOTE: This is done before the strokes so that the pointers are still safe. */ - if (gpencil_strokes_copypastebuf_colors) { - BLI_ghash_free(gpencil_strokes_copypastebuf_colors, nullptr, MEM_freeN); - gpencil_strokes_copypastebuf_colors = nullptr; - } - - /* Free the stroke buffer */ - for (gps = static_cast(gpencil_strokes_copypastebuf.first); gps; gps = gpsn) { - gpsn = gps->next; - - if (gps->points) { - MEM_freeN(gps->points); - } - if (gps->dvert) { - BKE_gpencil_free_stroke_weights(gps); - MEM_freeN(gps->dvert); - } - - MEM_SAFE_FREE(gps->triangles); - - BLI_freelinkN(&gpencil_strokes_copypastebuf, gps); - } - - gpencil_strokes_copypastebuf.first = gpencil_strokes_copypastebuf.last = nullptr; -} - -/** \} */ - /* -------------------------------------------------------------------- */ /** \name Delete Active Frame Operator * \{ */ diff --git a/source/blender/editors/gpencil_legacy/gpencil_intern.hh b/source/blender/editors/gpencil_legacy/gpencil_intern.hh index cc4b1eba120..df09d65d44e 100644 --- a/source/blender/editors/gpencil_legacy/gpencil_intern.hh +++ b/source/blender/editors/gpencil_legacy/gpencil_intern.hh @@ -91,13 +91,6 @@ void gpencil_point_to_xy(const GP_SpaceConversion *gsc, /* Copy/Paste Buffer --------------------------------- */ /* `gpencil_edit.cc` */ -/** - * list of #bGPDstroke instances - * - * \note is exposed within the editors/gpencil module so that other tools can use it too. - */ -extern ListBase gpencil_strokes_copypastebuf; - /* ***************************************************** */ /* Operator Defines */ diff --git a/source/blender/editors/gpencil_legacy/gpencil_utils.cc b/source/blender/editors/gpencil_legacy/gpencil_utils.cc index 94eb33650ea..9b087075d25 100644 --- a/source/blender/editors/gpencil_legacy/gpencil_utils.cc +++ b/source/blender/editors/gpencil_legacy/gpencil_utils.cc @@ -289,23 +289,6 @@ static void gpencil_stroke_convertcoords(ARegion *region, } } -void ED_gpencil_tpoint_to_point(ARegion *region, - float origin[3], - const tGPspoint *tpt, - bGPDspoint *pt) -{ - float p3d[3]; - /* conversion to 3d format */ - gpencil_stroke_convertcoords(region, tpt, origin, p3d); - copy_v3_v3(&pt->x, p3d); - zero_v4(pt->vert_color); - - pt->pressure = tpt->pressure; - pt->strength = tpt->strength; - pt->uv_fac = tpt->uv_fac; - pt->uv_rot = tpt->uv_rot; -} - tGPspoint *ED_gpencil_sbuffer_ensure(tGPspoint *buffer_array, int *buffer_size, int *buffer_used, diff --git a/source/blender/editors/include/ED_gpencil_legacy.hh b/source/blender/editors/include/ED_gpencil_legacy.hh index 96bd27115a2..b2713bcb871 100644 --- a/source/blender/editors/include/ED_gpencil_legacy.hh +++ b/source/blender/editors/include/ED_gpencil_legacy.hh @@ -111,13 +111,6 @@ void ED_keymap_gpencil_legacy(wmKeyConfig *keyconf); void ED_operatortypes_gpencil_legacy(); -/* ------------- Copy-Paste Buffers -------------------- */ - -/** - * Free copy/paste buffer data. - */ -void ED_gpencil_strokes_copybuf_free(); - /* ------------ Grease-Pencil Drawing API ------------------ */ /* `drawgpencil.cc` */ @@ -234,14 +227,6 @@ bool ED_gpencil_anim_copybuf_paste(bAnimContext *ac, short offset_mode); /* texture coordinate utilities */ -/** - * Convert 2d #tGPspoint to 3d #bGPDspoint. - */ -void ED_gpencil_tpoint_to_point(ARegion *region, - float origin[3], - const tGPspoint *tpt, - bGPDspoint *pt); - /** * Ensure the #tGPspoint buffer (while drawing stroke) * size is enough to save all points of the stroke. diff --git a/source/blender/windowmanager/intern/wm_init_exit.cc b/source/blender/windowmanager/intern/wm_init_exit.cc index dc72b4a0a58..ae1b3aab7bc 100644 --- a/source/blender/windowmanager/intern/wm_init_exit.cc +++ b/source/blender/windowmanager/intern/wm_init_exit.cc @@ -600,7 +600,6 @@ void WM_exit_ex(bContext *C, const bool do_python_exit, const bool do_user_exit_ ANIM_driver_vars_copybuf_free(); ANIM_fmodifiers_copybuf_free(); ED_gpencil_anim_copybuf_free(); - ED_gpencil_strokes_copybuf_free(); /* Free gizmo-maps after freeing blender, * so no deleted data get accessed during cleaning up of areas. */