150 const bool is_annotation =
STREQ(op->
idname,
"GPENCIL_OT_annotation_active_frame_delete");
162 if (gpd ==
nullptr) {
166 if (
ELEM(
nullptr, gpl, gpf)) {
184 ot->
name =
"Delete Active Frame";
185 ot->
idname =
"GPENCIL_OT_annotation_active_frame_delete";
186 ot->
description =
"Delete the active frame for the active Annotation Layer";
Functions to insert, delete or modify keyframes.
Scene * CTX_data_scene(const bContext *C)
void BKE_gpencil_free_stroke_weights(struct bGPDstroke *gps)
bool BKE_gpencil_layer_frame_delete(struct bGPDlayer *gpl, struct bGPDframe *gpf)
struct bGPDframe * BKE_gpencil_layer_frame_get(struct bGPDlayer *gpl, int cframe, eGP_GetFrame_Mode addnew)
struct bGPDlayer * BKE_gpencil_layer_active_get(struct bGPdata *gpd)
General operations, lookup, etc. for materials.
void BKE_report(ReportList *reports, eReportType type, const char *message)
void BLI_ghash_free(GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp)
void BLI_freelinkN(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void DEG_id_tag_update(ID *id, unsigned int flags)
Object is a sort of wrapper for general info.
Read Guarded memory(de)allocation.
void ED_gpencil_strokes_copybuf_free()
static bool annotation_actframe_delete_poll(bContext *C)
static GHash * gpencil_strokes_copypastebuf_colors
void GPENCIL_OT_annotation_active_frame_delete(wmOperatorType *ot)
ListBase gpencil_strokes_copypastebuf
static int gpencil_actframe_delete_exec(bContext *C, wmOperator *op)
bGPdata * ED_annotation_data_get_active(const bContext *C)
bGPdata * ED_gpencil_data_get_active(const bContext *C)
void MEM_freeN(void *vmemh)
struct MDeformVert * dvert
bool(* poll)(bContext *C) ATTR_WARN_UNUSED_RESULT
int(* exec)(bContext *C, wmOperator *op) ATTR_WARN_UNUSED_RESULT
struct ReportList * reports
void WM_event_add_notifier(const bContext *C, uint type, void *reference)