add frame duplicate
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user