add timelapse video generation on iOS and mac , fix history memory

This commit is contained in:
2018-03-24 16:57:48 +01:00
parent c764d61266
commit 674e38d8cb
11 changed files with 449 additions and 23 deletions

View File

@@ -430,6 +430,51 @@ void App::init_menu_edit()
}
}
void App::init_menu_timelapse()
{
if (auto* menu_file = layout[main_id]->find<NodeButtonCustom>("menu-timelapse"))
{
menu_file->on_click = [=](Node*) {
glm::vec2 pos = menu_file->m_pos + glm::vec2(0, menu_file->m_size.y);
popup = (NodePopupMenu*)layout[const_hash("timelapse-menu")]->m_children[0]->clone();
popup->SetPositioning(YGPositionTypeAbsolute);
popup->SetPosition(pos.x, pos.y);
layout[main_id]->add_child(popup);
layout[main_id]->update();
popup->mouse_capture();
popup->m_mouse_ignore = false;
popup->m_flood_events = true;
popup->m_capture_children = false;
if (auto item = popup->find<NodeButtonCustom>("timelapse-start"))
{
if (auto text = popup->find<NodeText>("menu-label"))
{
text->set_text(App::I.rec_running ? "Stop Recording" : "Start Recording");
}
}
popup->find<NodeButtonCustom>("timelapse-start")->on_click = [this](Node*) {
App::I.rec_running ? App::I.rec_stop() : App::I.rec_start();
popup->mouse_release();
popup->destroy();
};
popup->find<NodeButtonCustom>("timelapse-clear")->on_click = [this](Node*) {
App::I.rec_clear();
popup->mouse_release();
popup->destroy();
};
popup->find<NodeButtonCustom>("timelapse-export")->on_click = [this](Node*) {
popup->mouse_release();
popup->destroy();
App::I.rec_export("");
};
};
}
}
void App::brush_update()
{
// brushes->select_brush(canvas->m_brush.id);
@@ -549,6 +594,7 @@ void App::initLayout()
init_menu_file();
init_menu_edit();
init_menu_layer();
init_menu_timelapse();
Brush b;
b.m_tex_id = brushes->get_texture_id(0);