openshot-audio
0.1.7
JuceLibraryCode
modules
juce_events
broadcasters
juce_AsyncUpdater.h
Go to the documentation of this file.
1
/*
2
==============================================================================
3
4
This file is part of the JUCE library.
5
Copyright (c) 2015 - ROLI Ltd.
6
7
Permission is granted to use this software under the terms of either:
8
a) the GPL v2 (or any later version)
9
b) the Affero GPL v3
10
11
Details of these licenses can be found at: www.gnu.org/licenses
12
13
JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16
17
------------------------------------------------------------------------------
18
19
To release a closed-source product which uses JUCE, commercial licenses are
20
available: visit www.juce.com for more information.
21
22
==============================================================================
23
*/
24
25
#ifndef JUCE_ASYNCUPDATER_H_INCLUDED
26
#define JUCE_ASYNCUPDATER_H_INCLUDED
27
28
29
//==============================================================================
39
class
JUCE_API
AsyncUpdater
40
{
41
public
:
42
//==============================================================================
44
AsyncUpdater
();
45
49
virtual
~
AsyncUpdater
();
50
51
//==============================================================================
63
void
triggerAsyncUpdate();
64
74
void
cancelPendingUpdate()
noexcept
;
75
86
void
handleUpdateNowIfNeeded();
87
89
bool
isUpdatePending()
const
noexcept
;
90
91
//==============================================================================
97
virtual
void
handleAsyncUpdate() = 0;
98
99
private
:
100
//==============================================================================
101
class
AsyncUpdaterMessage
;
102
friend
class
ReferenceCountedObjectPtr
<
AsyncUpdaterMessage
>;
103
ReferenceCountedObjectPtr<AsyncUpdaterMessage>
activeMessage;
104
105
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR
(
AsyncUpdater
)
106
};
107
108
109
#endif // JUCE_ASYNCUPDATER_H_INCLUDED
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
Definition:
juce_PlatformDefs.h:198
AsyncUpdater::AsyncUpdaterMessage
Definition:
juce_AsyncUpdater.cpp:25
JUCE_API
#define JUCE_API
Definition:
juce_StandardHeader.h:139
AsyncUpdater
Definition:
juce_AsyncUpdater.h:39
noexcept
#define noexcept
Definition:
juce_CompilerSupport.h:141
ReferenceCountedObjectPtr
Definition:
juce_ReferenceCountedObject.h:227
Generated by
1.8.17