DISTRHO Plugin Framework
|
#include <Application.hpp>
Public Member Functions | |
Application (bool isStandalone=true) | |
virtual | ~Application () |
void | idle () |
void | exec (uint idleTimeInMs=10) |
void | quit () |
bool | isQuiting () const noexcept |
void | addIdleCallback (IdleCallback *callback) |
void | removeIdleCallback (IdleCallback *callback) |
Friends | |
class | Window |
Base DGL Application class.
One application instance is required for creating a window. There's no single/global application instance in DGL, and multiple windows can share the same app instance.
In standalone mode an application will automatically quit its event-loop when all its windows are closed.
Application::Application | ( | bool | isStandalone = true | ) |
Constructor.
|
virtual |
Destructor.
void Application::idle | ( | ) |
Idle function. This runs the application event-loop once.
void Application::exec | ( | uint | idleTimeInMs = 10 | ) |
Run the application event-loop until all Windows are closed. idle() is called at regular intervals.
void Application::quit | ( | ) |
Quit the application. This stops the event-loop and closes all Windows.
|
noexcept |
Check if the application is about to quit. Returning true means there's no event-loop running at the moment (or it's just about to stop).
void Application::addIdleCallback | ( | IdleCallback * | callback | ) |
Add a callback function to be triggered on every idle cycle. You can add more than one, and remove them at anytime with removeIdleCallback(). Idle callbacks trigger right after OS event handling and Window idle events (within the same cycle). There are no guarantees in terms of timing.
void Application::removeIdleCallback | ( | IdleCallback * | callback | ) |
Remove an idle callback previously added via addIdleCallback().