added timeline slider and export animation frames

This commit is contained in:
2017-05-15 00:43:37 +01:00
parent 95509956f3
commit 7b99f0510a
10 changed files with 132 additions and 12 deletions

View File

@@ -232,7 +232,7 @@ void App::initLayout()
button->on_click = [this,button](Node*) {
if (canvas)
{
//canvas->m_canvas->export_anim(data_path);
canvas->m_canvas->export_anim(data_path);
}
};
}
@@ -368,6 +368,29 @@ void App::initLayout()
{
toolbar->m_flood_events = true;
}
if (auto* slider = layout[main_id]->find<NodeSliderH>("frames-slider"))
{
slider->on_value_changed = [this](Node*, float value)
{
auto& c = *ui::Canvas::I;
for (int i = 0; i < c.m_layers.size(); i++)
{
auto l = layers->get_layer_at(i);
layers->handle_layer_opacity(l, .0f);
}
int current_layer = (int)floor(value * c.m_layers.size());
auto l = layers->get_layer_at(current_layer);
layers->handle_layer_selected(l);
layers->handle_layer_opacity(l, 1.f);
if (current_layer > 0)
{
auto l = layers->get_layer_at(current_layer - 1);
layers->handle_layer_opacity(l, .25f);
}
};
}
};
LOG("initializing layout xml");
if (layout.m_loaded)