ladybird/LibGUI/GTimer.cpp
Andreas Kling 25f28a54a1 Terminal+LibGUI: Make the terminal cursor blink.
Added a GTimer class to help with this. It's just a simple GObject subclass
that sets up an event loop timer and invokes a callback on timeout.
2019-03-30 21:40:57 +01:00

40 lines
503 B
C++

#include <LibGUI/GTimer.h>
GTimer::GTimer(GObject* parent)
: GObject(parent)
{
}
GTimer::~GTimer()
{
}
void GTimer::start()
{
start(m_interval);
}
void GTimer::start(int interval)
{
if (m_active)
return;
start_timer(interval);
m_active = true;
}
void GTimer::stop()
{
if (!m_active)
return;
stop_timer();
m_active = false;
}
void GTimer::timer_event(GTimerEvent&)
{
if (m_single_shot)
stop();
if (on_timeout)
on_timeout();
}