tracktion-engine
3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications
« « « Anklang Documentation
Loading...
Searching...
No Matches
tracktion_engine
plugins
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
11
namespace
tracktion
{
inline
namespace
engine
12
{
13
14
struct
PluginWindowState
:
private
juce::Timer
15
{
16
PluginWindowState
(
Edit
&);
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;
34
std::unique_ptr<juce::Component>
pluginWindow;
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
42
private
:
43
void
timerCallback()
override
;
44
45
void
showWindow();
46
void
deleteWindow();
47
48
JUCE_DECLARE_WEAK_REFERENCEABLE
(
PluginWindowState
)
49
JUCE_DECLARE_NON_COPYABLE
(
PluginWindowState
)
50
};
51
52
}}
// namespace tracktion { inline namespace engine
juce::MouseEvent
juce::Rectangle
juce::Time
juce::Timer
tracktion::engine::Edit
The Tracktion Edit class!
Definition
tracktion_Edit.h:65
tracktion::engine::Engine
The Engine is the central class for all tracktion sessions.
Definition
tracktion_Engine.h:35
JUCE_DECLARE_NON_COPYABLE
#define JUCE_DECLARE_NON_COPYABLE(className)
JUCE_DECLARE_WEAK_REFERENCEABLE
#define JUCE_DECLARE_WEAK_REFERENCEABLE(Class)
tracktion
Definition
tracktion_AudioReader.h:23
tracktion::engine::PluginWindowState
Definition
tracktion_PluginWindowState.h:15
std::unique_ptr
« « « Anklang Documentation