88 if (gpd_ptr ==
nullptr) {
124 ot->
name =
"Annotation Add New";
125 ot->
idname =
"GPENCIL_OT_annotation_add";
142 if ((gpd_ptr !=
nullptr) && (*gpd_ptr !=
nullptr)) {
149 return (gpd_ptr && *gpd_ptr);
157 if (gpd_ptr ==
nullptr) {
176 ot->
name =
"Annotation Unlink";
177 ot->
idname =
"GPENCIL_OT_data_unlink";
194 const bool is_annotation =
STREQ(op->
idname,
"GPENCIL_OT_layer_annotation_add");
204 if (gpd_ptr ==
nullptr) {
209 if (*gpd_ptr ==
nullptr) {
235 if (gpl !=
nullptr) {
259 ot->
name =
"Add New Annotation Layer";
260 ot->
idname =
"GPENCIL_OT_layer_annotation_add";
261 ot->
description =
"Add new Annotation layer or note for the active data-block";
273 const bool is_annotation =
STREQ(op->
idname,
"GPENCIL_OT_layer_annotation_remove");
280 if (
ELEM(
nullptr, gpd, gpl)) {
312 if (is_annotation && gpd->
layers.
first ==
nullptr) {
330 return (gpl !=
nullptr);
336 ot->
name =
"Remove Annotation Layer";
337 ot->
idname =
"GPENCIL_OT_layer_annotation_remove";
355 const bool is_annotation =
STREQ(op->
idname,
"GPENCIL_OT_layer_annotation_move");
364 if (
ELEM(
nullptr, gpd, gpl)) {
385 {0,
nullptr, 0,
nullptr,
nullptr},
389 ot->
name =
"Move Annotation Layer";
390 ot->
idname =
"GPENCIL_OT_layer_annotation_move";
391 ot->
description =
"Move the active Annotation layer up/down in the list";
Object * CTX_data_active_object(const bContext *C)
Scene * CTX_data_scene(const bContext *C)
Main * CTX_data_main(const bContext *C)
void BKE_gpencil_layer_active_set(struct bGPdata *gpd, struct bGPDlayer *active)
void BKE_gpencil_free_data(struct bGPdata *gpd, bool free_all)
struct bGPDlayer * BKE_gpencil_layer_addnew(struct bGPdata *gpd, const char *name, bool setactive, bool add_to_header)
void BKE_gpencil_layer_mask_sort_all(struct bGPdata *gpd)
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)
struct bGPdata * BKE_gpencil_data_addnew(struct Main *bmain, const char name[])
void BKE_gpencil_layer_delete(struct bGPdata *gpd, struct bGPDlayer *gpl)
void BKE_id_free_us(Main *bmain, void *idv) ATTR_NONNULL()
General operations, lookup, etc. for materials.
void BKE_report(ReportList *reports, eReportType type, const char *message)
void void void bool BLI_listbase_link_move(ListBase *listbase, void *vlink, int step) ATTR_NONNULL()
#define STRNCPY(dst, src)
void DEG_id_tag_update(ID *id, unsigned int flags)
Object is a sort of wrapper for general info.
Read Guarded memory(de)allocation.
static int gpencil_layer_add_exec(bContext *C, wmOperator *op)
static bool gpencil_active_layer_annotation_poll(bContext *C)
void GPENCIL_OT_layer_annotation_move(wmOperatorType *ot)
void GPENCIL_OT_layer_annotation_remove(wmOperatorType *ot)
static bool gpencil_data_unlink_poll(bContext *C)
static bool gpencil_data_add_poll(bContext *C)
static bool gpencil_add_annotation_poll(bContext *C)
void GPENCIL_OT_annotation_add(wmOperatorType *ot)
static int gpencil_layer_move_exec(bContext *C, wmOperator *op)
static int gpencil_data_unlink_exec(bContext *C, wmOperator *op)
void GPENCIL_OT_data_unlink(wmOperatorType *ot)
static int gpencil_layer_remove_exec(bContext *C, wmOperator *op)
static int gpencil_data_add_exec(bContext *C, wmOperator *op)
void GPENCIL_OT_layer_annotation_add(wmOperatorType *ot)
bGPdata * ED_annotation_data_get_active(const bContext *C)
bGPdata * ED_gpencil_data_get_active(const bContext *C)
bGPdata ** ED_annotation_data_get_pointers(const bContext *C, PointerRNA *r_ptr)
PropertyRNA * RNA_struct_find_property(PointerRNA *ptr, const char *identifier)
bool RNA_property_is_set(PointerRNA *ptr, PropertyRNA *prop)
std::string RNA_property_string_get(PointerRNA *ptr, PropertyRNA *prop)
int RNA_enum_get(PointerRNA *ptr, const char *name)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, const int default_value, const char *ui_name, const char *ui_description)
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)