69 lines
2.2 KiB
C++
69 lines
2.2 KiB
C++
|
/*
|
||
|
==============================================================================
|
||
|
|
||
|
This file contains the startup code for a PIP.
|
||
|
|
||
|
==============================================================================
|
||
|
*/
|
||
|
|
||
|
#include <JuceHeader.h>
|
||
|
#include "${JUCE_PIP_HEADER}"
|
||
|
|
||
|
class Application : public juce::JUCEApplication
|
||
|
{
|
||
|
public:
|
||
|
//==============================================================================
|
||
|
Application() = default;
|
||
|
|
||
|
const juce::String getApplicationName() override { return "${JUCE_PIP_NAME}"; }
|
||
|
const juce::String getApplicationVersion() override { return "${PROJECT_VERSION}"; }
|
||
|
|
||
|
void initialise (const juce::String&) override
|
||
|
{
|
||
|
mainWindow.reset (new MainWindow ("${JUCE_PIP_NAME}", new ${JUCE_PIP_MAIN_CLASS}, *this));
|
||
|
}
|
||
|
|
||
|
void shutdown() override { mainWindow = nullptr; }
|
||
|
|
||
|
private:
|
||
|
class MainWindow : public juce::DocumentWindow
|
||
|
{
|
||
|
public:
|
||
|
MainWindow (const juce::String& name, juce::Component* c, JUCEApplication& a)
|
||
|
: DocumentWindow (name, juce::Desktop::getInstance().getDefaultLookAndFeel()
|
||
|
.findColour (ResizableWindow::backgroundColourId),
|
||
|
juce::DocumentWindow::allButtons),
|
||
|
app (a)
|
||
|
{
|
||
|
setUsingNativeTitleBar (true);
|
||
|
setContentOwned (c, true);
|
||
|
|
||
|
#if JUCE_ANDROID || JUCE_IOS
|
||
|
setFullScreen (true);
|
||
|
#else
|
||
|
setResizable (true, false);
|
||
|
setResizeLimits (300, 250, 10000, 10000);
|
||
|
centreWithSize (getWidth(), getHeight());
|
||
|
#endif
|
||
|
|
||
|
setVisible (true);
|
||
|
}
|
||
|
|
||
|
void closeButtonPressed() override
|
||
|
{
|
||
|
app.systemRequestedQuit();
|
||
|
}
|
||
|
|
||
|
private:
|
||
|
JUCEApplication& app;
|
||
|
|
||
|
//==============================================================================
|
||
|
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow)
|
||
|
};
|
||
|
|
||
|
std::unique_ptr<MainWindow> mainWindow;
|
||
|
};
|
||
|
|
||
|
//==============================================================================
|
||
|
START_JUCE_APPLICATION (Application)
|