use unique_ptr to hold the Layers vector
This commit is contained in:
@@ -153,14 +153,14 @@ void App::init_sidebar()
|
||||
auto& src = Canvas::I->m_layers[Canvas::I->m_order[source_index]];
|
||||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
if (!src.m_dirty_face[i])
|
||||
if (!src->m_dirty_face[i])
|
||||
continue;
|
||||
dst.m_rtt[i].copy(src.m_rtt[i]);
|
||||
dst.m_dirty_face[i] = src.m_dirty_face[i];
|
||||
dst.m_dirty_box[i] = src.m_dirty_box[i];
|
||||
dst.m_opacity = src.m_opacity;
|
||||
dst.m_blend_mode = src.m_blend_mode;
|
||||
dst.m_alpha_locked = src.m_alpha_locked;
|
||||
dst->m_rtt[i].copy(src->m_rtt[i]);
|
||||
dst->m_dirty_face[i] = src->m_dirty_face[i];
|
||||
dst->m_dirty_box[i] = src->m_dirty_box[i];
|
||||
dst->m_opacity = src->m_opacity;
|
||||
dst->m_blend_mode = src->m_blend_mode;
|
||||
dst->m_alpha_locked = src->m_alpha_locked;
|
||||
}
|
||||
Canvas::I->m_unsaved = true;
|
||||
title_update();
|
||||
@@ -183,31 +183,31 @@ void App::init_sidebar()
|
||||
};
|
||||
|
||||
layers->on_layer_opacity_changed = [this](Node*, int idx, float value) {
|
||||
canvas->m_canvas->m_layers[canvas->m_canvas->m_order[idx]].m_opacity = value;
|
||||
canvas->m_canvas->m_layers[canvas->m_canvas->m_order[idx]]->m_opacity = value;
|
||||
canvas->m_canvas->m_unsaved = true;
|
||||
title_update();
|
||||
};
|
||||
|
||||
layers->on_layer_visibility_changed = [this](Node*, int idx, bool visible) {
|
||||
canvas->m_canvas->m_layers[canvas->m_canvas->m_order[idx]].m_visible = visible;
|
||||
canvas->m_canvas->m_layers[canvas->m_canvas->m_order[idx]]->m_visible = visible;
|
||||
canvas->m_canvas->m_unsaved = true;
|
||||
title_update();
|
||||
};
|
||||
|
||||
layers->on_layer_alpha_lock_changed = [this](Node*, int idx, bool locked) {
|
||||
canvas->m_canvas->m_layers[canvas->m_canvas->m_order[idx]].m_alpha_locked = locked;
|
||||
canvas->m_canvas->m_layers[canvas->m_canvas->m_order[idx]]->m_alpha_locked = locked;
|
||||
canvas->m_canvas->m_unsaved = true;
|
||||
title_update();
|
||||
};
|
||||
|
||||
layers->on_layer_blend_mode_changed = [this](Node*, int idx, int mode) {
|
||||
canvas->m_canvas->m_layers[canvas->m_canvas->m_order[idx]].m_blend_mode = mode;
|
||||
canvas->m_canvas->m_layers[canvas->m_canvas->m_order[idx]]->m_blend_mode = mode;
|
||||
canvas->m_canvas->m_unsaved = true;
|
||||
title_update();
|
||||
};
|
||||
|
||||
layers->on_layer_highlight_changed = [this](Node*, int idx, bool highlight) {
|
||||
canvas->m_canvas->m_layers[canvas->m_canvas->m_order[idx]].m_hightlight = highlight;
|
||||
canvas->m_canvas->m_layers[canvas->m_canvas->m_order[idx]]->m_hightlight = highlight;
|
||||
};
|
||||
if (auto* button = layout[main_id]->find<NodeButtonCustom>("btn-stroke"))
|
||||
{
|
||||
@@ -786,7 +786,7 @@ void App::init_menu_layer()
|
||||
canvas->m_canvas->layer_remove(current_idx_order);
|
||||
layers->clear();
|
||||
for (auto& i : canvas->m_canvas->m_order)
|
||||
layers->add_layer(canvas->m_canvas->m_layers[i].m_name.c_str());
|
||||
layers->add_layer(canvas->m_canvas->m_layers[i]->m_name.c_str());
|
||||
layers->m_current_layer->m_selected = false;
|
||||
layers->m_current_layer = layers->m_layers[current_idx_order - 1];
|
||||
layers->m_current_layer->m_selected = true;
|
||||
@@ -804,7 +804,7 @@ void App::init_menu_layer()
|
||||
int down_layer_idx = order[current_idx_order - 1];
|
||||
popup->find<NodeButtonCustom>("layer-merge")->
|
||||
find<NodeText>("menu-label")->
|
||||
set_text(("Merge with " + canvas->m_canvas->m_layers[down_layer_idx].m_name).c_str());
|
||||
set_text(("Merge with " + canvas->m_canvas->m_layers[down_layer_idx]->m_name).c_str());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user