Esempio n. 1
0
void BaseAnimation::run(Output *output, uint32_t duration)
{
    stop();

    if (!output || duration == 0) {
        updateAnim(1.);
        done();
        return;
    }

    m_duration = duration;
    m_animation.ani.frame_counter = 0;

    wl_list_insert(&output->m_output->animation_list, &m_animation.ani.link);
    weston_output_schedule_repaint(output->m_output);

    updateAnim(0.);
}
Esempio n. 2
0
void Animation::run(Output *output, uint32_t duration, Animation::Flags flags)
{
    stop();

    if (!output || duration == 0) {
        emit update(m_target);
        if (flags & Flags::SendDone) {
            emit done();
        }
        return;
    }

    m_duration = duration;
    m_runFlags = flags;
    m_animation.ani.frame_counter = 0;

    wl_list_insert(&output->m_output->animation_list, &m_animation.ani.link);
    weston_output_schedule_repaint(output->m_output);

    emit update(m_start);
}