-
Notifications
You must be signed in to change notification settings - Fork 0
/
ThorMain.cpp
108 lines (89 loc) · 2.68 KB
/
ThorMain.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include <juce.h>
#include "ThorMainComponent.h"
#include "ThorConfig.h"
class wnd : public DocumentWindow
{
public:
ThorConfig config;
//==============================================================================
wnd()
: DocumentWindow (T("Thor v2"),
Colours::white,
DocumentWindow::allButtons,
true)
{
setTitleBarHeight (0);
setVisible (true);
setAlwaysOnTop(true);
// centre the window on the desktop with this size
setBounds (config.getRect());
if (config.getWindowAlpha())
{
setBackgroundColour (Colours::white.withAlpha ((float)config.getWindowAlpha()));
}
setContentComponent (new ThorMainComponent(&config));
}
~wnd()
{
config.setRect (getBounds());
}
//==============================================================================
void closeButtonPressed()
{
JUCEApplication::quit();
}
};
//==============================================================================
/** This is the application object that is started up when Juce starts. It handles
the initialisation and shutdown of the whole application.
*/
class JUCEThor : public JUCEApplication
{
wnd *hWnd;
public:
//==============================================================================
JUCEThor()
: hWnd (0)
{
}
~JUCEThor()
{
}
//==============================================================================
void initialise (const String& commandLine)
{
// just create the main window...
hWnd = new wnd();
/* ..and now return, which will fall into to the main event
dispatch loop, and this will run until something calls
JUCEAppliction::quit().
In this case, JUCEAppliction::quit() will be called by the
hello world window being clicked.
*/
}
void shutdown()
{
// clear up..
if (hWnd != 0)
delete hWnd;
}
//==============================================================================
const String getApplicationName()
{
return T("Thor");
}
const String getApplicationVersion()
{
return T("1.0");
}
bool moreThanOneInstanceAllowed()
{
return true;
}
void anotherInstanceStarted (const String& commandLine)
{
}
};
//==============================================================================
// This macro creates the application's main() function..
START_JUCE_APPLICATION (JUCEThor)