LMMS
Loading...
Searching...
No Matches
juce_ComponentMovementWatcher.h
Go to the documentation of this file.
1/*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26namespace juce
27{
28
29//==============================================================================
47{
48public:
49 //==============================================================================
51 ComponentMovementWatcher (Component* componentToWatch);
52
55
56 //==============================================================================
59 virtual void componentMovedOrResized (bool wasMoved, bool wasResized) = 0;
60
62 virtual void componentPeerChanged() = 0;
63
67 virtual void componentVisibilityChanged() = 0;
68
71
72 //==============================================================================
74 void componentParentHierarchyChanged (Component&) override;
76 void componentMovedOrResized (Component&, bool wasMoved, bool wasResized) override;
78 void componentBeingDeleted (Component&) override;
80 void componentVisibilityChanged (Component&) override;
81
82private:
83 //==============================================================================
87 bool reentrant = false, wasShowing;
89
90 void unregister();
92
94};
95
96} // namespace juce
#define noexcept
Definition DistrhoDefines.h:72
Definition juce_Array.h:56
Definition juce_Component.h:36
Definition juce_ComponentListener.h:43
virtual void componentMovedOrResized(bool wasMoved, bool wasResized)=0
uint32 lastPeerID
Definition juce_ComponentMovementWatcher.h:85
Component * getComponent() const noexcept
Definition juce_ComponentMovementWatcher.h:70
bool wasShowing
Definition juce_ComponentMovementWatcher.h:87
Rectangle< int > lastBounds
Definition juce_ComponentMovementWatcher.h:88
WeakReference< Component > component
Definition juce_ComponentMovementWatcher.h:84
bool reentrant
Definition juce_ComponentMovementWatcher.h:87
void registerWithParentComps()
Definition juce_ComponentMovementWatcher.cpp:125
virtual void componentPeerChanged()=0
void unregister()
Definition juce_ComponentMovementWatcher.cpp:134
virtual void componentVisibilityChanged()=0
ComponentMovementWatcher(Component *componentToWatch)
Definition juce_ComponentMovementWatcher.cpp:29
Array< Component * > registeredParentComps
Definition juce_ComponentMovementWatcher.h:86
Definition juce_Rectangle.h:67
Definition juce_WeakReference.h:78
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
unsigned int uint32
Definition juce_MathsFunctions.h:45
#define const
Definition zconf.h:137