|
- /*
- ==============================================================================
-
- 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)
|