25bd5d8adb
subrepo: subdir: "deps/juce" merged: "b13f9084e" upstream: origin: "https://github.com/essej/JUCE.git" branch: "sono6good" commit: "b13f9084e" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596"
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)
|