DISTRHO Plugin Framework
Main Page
Modules
Classes
Files
File List
All
Classes
Functions
Variables
Modules
Pages
dgl
App.hpp
1
/*
2
* DISTRHO Plugin Framework (DPF)
3
* Copyright (C) 2012-2014 Filipe Coelho <falktx@falktx.com>
4
*
5
* Permission to use, copy, modify, and/or distribute this software for any purpose with
6
* or without fee is hereby granted, provided that the above copyright notice and this
7
* permission notice appear in all copies.
8
*
9
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
10
* TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
11
* NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
12
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
13
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
14
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15
*/
16
17
#ifndef DGL_APP_HPP_INCLUDED
18
#define DGL_APP_HPP_INCLUDED
19
20
#include "Base.hpp"
21
22
START_NAMESPACE_DGL
23
24
// -----------------------------------------------------------------------
25
// Forward class names
26
27
class
Window
;
28
29
// -----------------------------------------------------------------------
30
31
/**
32
Base DGL Application class.
33
34
One application instance is required for creating a window.
35
There's no single/global application instance in DGL, and multiple
36
windows can share the same app instance.
37
38
In standalone mode an application will automatically quit its
39
event-loop when all its windows are closed.
40
*/
41
class
App
42
{
43
public
:
44
/**
45
Constructor.
46
*/
47
App
();
48
49
/**
50
Destructor.
51
*/
52
~App
();
53
54
/**
55
Idle function.
56
This runs the application event-loop once.
57
*/
58
void
idle
();
59
60
/**
61
Run the application event-loop until all Windows are closed.
62
idle() is called at regular intervals.
63
@note: This function is meant for standalones only, *never* call this from plugins.
64
*/
65
void
exec
();
66
67
/**
68
Quit the application.
69
This stops the event-loop and closes all Windows.
70
*/
71
void
quit
();
72
73
/**
74
Check if the application is about to quit.
75
Returning true means there's no event-loop running at the moment (or it's just about to stop).
76
*/
77
bool
isQuiting
()
const
noexcept;
78
79
private
:
80
struct
PrivateData;
81
PrivateData*
const
pData;
82
friend
class
Window
;
83
84
DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(
App
)
85
};
86
87
// -----------------------------------------------------------------------
88
89
END_NAMESPACE_DGL
90
91
#endif // DGL_APP_HPP_INCLUDED
App::App
App()
App::exec
void exec()
Window
Definition:
Window.hpp:30
App::~App
~App()
App::isQuiting
bool isQuiting() const noexcept
App::quit
void quit()
App::idle
void idle()
App
Definition:
App.hpp:41
Generated on Sun Apr 26 2015 14:49:34 for DISTRHO Plugin Framework by
1.8.8