implement frames save and open from ppi
This commit is contained in:
@@ -37,21 +37,16 @@ void NodePanelAnimation::init_controls()
|
||||
Canvas::I->layer().add_frame();
|
||||
load_layers();
|
||||
};
|
||||
btn_up->on_click = [this](Node*) {
|
||||
auto& layers = Canvas::I->m_layers;
|
||||
auto layer = std::find_if(layers.begin(), layers.end(),
|
||||
[id = m_selected_frame_layer_id](const auto& l) { return l->id == id; });
|
||||
if (layer != layers.end())
|
||||
(*layer)->m_frames[m_selected_frame_index].m_duration++;
|
||||
};
|
||||
btn_up->on_click = [this](Node*) {
|
||||
if (auto layer = Canvas::I->layer_with_id(m_selected_frame_layer_id))
|
||||
layer->m_frames[m_selected_frame_index].m_duration++;
|
||||
layer->m_frames[m_selected_frame_index].m_duration =
|
||||
glm::max(layer->m_frames[m_selected_frame_index].m_duration + 1, 1);
|
||||
load_layers();
|
||||
};
|
||||
btn_down->on_click = [this](Node*) {
|
||||
if (auto layer = Canvas::I->layer_with_id(m_selected_frame_layer_id))
|
||||
layer->m_frames[m_selected_frame_index].m_duration--;
|
||||
layer->m_frames[m_selected_frame_index].m_duration =
|
||||
glm::max(layer->m_frames[m_selected_frame_index].m_duration - 1, 1);
|
||||
load_layers();
|
||||
};
|
||||
|
||||
@@ -85,9 +80,9 @@ void NodePanelAnimation::load_layers()
|
||||
}
|
||||
b->on_click = [this, fi, lid=layers[i]->id] (Node* target) {
|
||||
auto frame = static_cast<NodeAnimationFrame*>(target);
|
||||
frame->set_active(true);
|
||||
if (m_selected_frame)
|
||||
m_selected_frame->set_active(false);
|
||||
frame->set_active(true);
|
||||
m_selected_frame = frame;
|
||||
m_selected_frame_layer_id = lid;
|
||||
m_selected_frame_index = fi;
|
||||
|
||||
Reference in New Issue
Block a user