Cleanup: Non-const version of get_active_layer

This commit is contained in:
Falk David
2023-12-21 11:09:23 +01:00
parent 614d7749df
commit 89947aac1c
8 changed files with 15 additions and 17 deletions

View File

@@ -1927,7 +1927,7 @@ const blender::bke::greasepencil::Layer *GreasePencil::get_active_layer() const
return &this->active_layer->wrap();
}
blender::bke::greasepencil::Layer *GreasePencil::get_active_layer_for_write()
blender::bke::greasepencil::Layer *GreasePencil::get_active_layer()
{
if (this->active_layer == nullptr) {
return nullptr;

View File

@@ -922,7 +922,7 @@ static int grease_pencil_delete_frame_exec(bContext *C, wmOperator *op)
bool changed = false;
if (mode == DeleteFrameMode::ACTIVE_FRAME && grease_pencil.has_active_layer()) {
bke::greasepencil::Layer &layer = *grease_pencil.get_active_layer_for_write();
bke::greasepencil::Layer &layer = *grease_pencil.get_active_layer();
if (layer.is_editable()) {
changed |= grease_pencil.remove_frames(layer, {layer.frame_key_at(current_frame)});
}

View File

@@ -343,10 +343,8 @@ static int insert_blank_frame_exec(bContext *C, wmOperator *op)
if (!grease_pencil.has_active_layer()) {
return OPERATOR_CANCELLED;
}
changed = grease_pencil.insert_blank_frame(*grease_pencil.get_active_layer_for_write(),
current_frame,
duration,
BEZT_KEYTYPE_KEYFRAME);
changed = grease_pencil.insert_blank_frame(
*grease_pencil.get_active_layer(), current_frame, duration, BEZT_KEYTYPE_KEYFRAME);
}
if (changed) {

View File

@@ -50,7 +50,7 @@ static int grease_pencil_layer_add_exec(bContext *C, wmOperator *op)
if (grease_pencil.has_active_layer()) {
Layer &new_layer = grease_pencil.add_layer(new_layer_name);
grease_pencil.move_node_after(new_layer.as_node(),
grease_pencil.get_active_layer_for_write()->as_node());
grease_pencil.get_active_layer()->as_node());
grease_pencil.set_active_layer(&new_layer);
grease_pencil.insert_blank_frame(new_layer, scene->r.cfra, 0, BEZT_KEYTYPE_KEYFRAME);
}
@@ -97,7 +97,7 @@ static int grease_pencil_layer_remove_exec(bContext *C, wmOperator * /*op*/)
return OPERATOR_CANCELLED;
}
grease_pencil.remove_layer(*grease_pencil.get_active_layer_for_write());
grease_pencil.remove_layer(*grease_pencil.get_active_layer());
DEG_id_tag_update(&grease_pencil.id, ID_RECALC_GEOMETRY);
WM_event_add_notifier(C, NC_GPENCIL | ND_DATA | NA_SELECTED, &grease_pencil);
@@ -146,7 +146,7 @@ static int grease_pencil_layer_reorder_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
}
Layer &active_layer = *grease_pencil.get_active_layer_for_write();
Layer &active_layer = *grease_pencil.get_active_layer();
switch (reorder_location) {
case LAYER_REORDER_ABOVE: {
/* NOTE: The layers are stored from bottom to top, so inserting above (visually), means
@@ -248,7 +248,7 @@ static int grease_pencil_layer_group_add_exec(bContext *C, wmOperator *op)
LayerGroup &new_group = grease_pencil.add_layer_group(
grease_pencil.get_active_layer()->parent_group(), new_layer_group_name);
grease_pencil.move_node_after(new_group.as_node(),
grease_pencil.get_active_layer_for_write()->as_node());
grease_pencil.get_active_layer()->as_node());
}
else {
grease_pencil.add_layer_group(grease_pencil.root_group(), new_layer_group_name);
@@ -301,7 +301,7 @@ static int grease_pencil_layer_hide_exec(bContext *C, wmOperator *op)
}
else {
/* hide selected/active */
Layer &active_layer = *grease_pencil.get_active_layer_for_write();
Layer &active_layer = *grease_pencil.get_active_layer();
active_layer.set_visible(false);
}

View File

@@ -141,6 +141,8 @@ static int grease_pencil_stroke_invoke(bContext *C, wmOperator *op, const wmEven
}
const int current_frame = scene->r.cfra;
// bke::greasepencil::Layer &active_layer = *grease_pencil.get_active_layer();
// grease_pencil.get_editable_drawing_at()
if (!grease_pencil.get_active_layer()->frames().contains(current_frame)) {
if (!blender::animrig::is_autokey_on(scene)) {
@@ -148,7 +150,7 @@ static int grease_pencil_stroke_invoke(bContext *C, wmOperator *op, const wmEven
return OPERATOR_CANCELLED;
}
const ToolSettings *ts = CTX_data_tool_settings(C);
bke::greasepencil::Layer &active_layer = *grease_pencil.get_active_layer_for_write();
bke::greasepencil::Layer &active_layer = *grease_pencil.get_active_layer();
if ((ts->gpencil_flags & GP_TOOL_FLAG_RETAIN_LAST) != 0) {
/* For additive drawing, we duplicate the frame that's currently visible and insert it at the
* current frame. */

View File

@@ -553,7 +553,7 @@ void PaintOperation::on_stroke_done(const bContext &C)
/* Grease Pencil should have an active layer. */
BLI_assert(grease_pencil.has_active_layer());
bke::greasepencil::Layer &active_layer = *grease_pencil.get_active_layer_for_write();
bke::greasepencil::Layer &active_layer = *grease_pencil.get_active_layer();
const int drawing_index = active_layer.drawing_index_at(scene->r.cfra);
/* Drawing should exist. */

View File

@@ -465,7 +465,7 @@ typedef struct GreasePencil {
/* Active layer functions. */
bool has_active_layer() const;
const blender::bke::greasepencil::Layer *get_active_layer() const;
blender::bke::greasepencil::Layer *get_active_layer_for_write();
blender::bke::greasepencil::Layer *get_active_layer();
void set_active_layer(const blender::bke::greasepencil::Layer *layer);
bool is_layer_active(const blender::bke::greasepencil::Layer *layer) const;

View File

@@ -113,9 +113,7 @@ static PointerRNA rna_GreasePencil_active_layer_get(PointerRNA *ptr)
GreasePencil *grease_pencil = rna_grease_pencil(ptr);
if (grease_pencil->has_active_layer()) {
return rna_pointer_inherit_refine(
ptr,
&RNA_GreasePencilLayer,
static_cast<void *>(grease_pencil->get_active_layer_for_write()));
ptr, &RNA_GreasePencilLayer, static_cast<void *>(grease_pencil->get_active_layer()));
}
return rna_pointer_inherit_refine(ptr, nullptr, nullptr);
}