tracktion-engine 3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications

« « « Anklang Documentation
Loading...
Searching...
No Matches
tracktion_PluginWindowState.h
Go to the documentation of this file.
1 /*
2 ,--. ,--. ,--. ,--.
3 ,-' '-.,--.--.,--,--.,---.| |,-.,-' '-.`--' ,---. ,--,--, Copyright 2024
4 '-. .-'| .--' ,-. | .--'| /'-. .-',--.| .-. || \ Tracktion Software
5 | | | | \ '-' \ `--.| \ \ | | | |' '-' '| || | Corporation
6 `---' `--' `--`--'`---'`--'`--' `---' `--' `---' `--''--' www.tracktion.com
7
8 Tracktion Engine uses a GPL/commercial licence - see LICENCE.md for details.
9*/
10
11namespace tracktion { inline namespace engine
12{
13
15{
17
18 void pickDefaultWindowBounds();
19
20 void incRefCount();
21 void decRefCount();
22
23 void showWindowExplicitly();
24 void closeWindowExplicitly();
25
26 bool isWindowShowing() const;
27 void recreateWindowIfShowing();
28 void hideWindowForShutdown();
29
30 void pluginClicked (const juce::MouseEvent&);
31
32 Edit& edit;
33 Engine& engine;
35 int windowShowerCount = 0;
36 bool windowLocked;
37 bool temporarilyHidden = false;
38 bool wasExplicitlyClosed = false;
39 juce::Rectangle<int> lastWindowBounds;
40 juce::Time windowOpenTime;
41
42private:
43 void timerCallback() override;
44
45 void showWindow();
46 void deleteWindow();
47
50};
51
52}} // namespace tracktion { inline namespace engine
The Tracktion Edit class!
The Engine is the central class for all tracktion sessions.
#define JUCE_DECLARE_NON_COPYABLE(className)
#define JUCE_DECLARE_WEAK_REFERENCEABLE(Class)