add frame duplicate

This commit is contained in:
2019-10-20 17:09:44 +02:00
parent 0d575be198
commit ad03c601ad
7 changed files with 63 additions and 0 deletions

View File

@@ -244,6 +244,11 @@ void Layer::remove_frame(int frame)
m_frame_index = glm::clamp(m_frame_index, 0, (int)m_frames.size() - 1);
}
void Layer::duplicate_frame(int frame)
{
m_frames.insert(m_frames.begin() + frame + 1, m_frames[frame].clone());
}
int Layer::total_duration() const noexcept
{
int duration = 0;
@@ -436,3 +441,18 @@ void LayerFrame::clear(const glm::vec4& c)
glClearColor(cc[0], cc[1], cc[2], cc[3]);
});
}
LayerFrame LayerFrame::clone() const noexcept
{
LayerFrame dup;
dup.m_duration = m_duration;
dup.w = w;
dup.h = h;
for (int i = 0; i < 6; i++)
{
dup.m_rtt[i] = m_rtt[i].clone();
dup.m_dirty_box[i] = m_dirty_box[i];
dup.m_dirty_face[i] = m_dirty_face[i];
}
return dup;
}