JUCE-7.0.12-0-g4f43011b96 JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins

« « « Anklang Documentation
Loading...
Searching...
No Matches
juce_DropShadower.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//==============================================================================
45class JUCE_API DropShadower : private ComponentListener
46{
47public:
48 //==============================================================================
50 DropShadower (const DropShadow& shadowType);
51
53 ~DropShadower() override;
54
56 void setOwner (Component* componentToFollow);
57
58private:
59 //==============================================================================
60 void componentMovedOrResized (Component&, bool, bool) override;
61 void componentBroughtToFront (Component&) override;
62 void componentChildrenChanged (Component&) override;
63 void componentParentHierarchyChanged (Component&) override;
64 void componentVisibilityChanged (Component&) override;
65
66 void updateParent();
67 void updateShadows();
68
69 class ShadowWindow;
70
72 OwnedArray<Component> shadowWindows;
73 DropShadow shadow;
74 bool reentrant = false;
75 WeakReference<Component> lastParentComp;
76
79
81 std::unique_ptr<VirtualDesktopWatcher> virtualDesktopWatcher;
82
85};
86
87} // namespace juce
Gets informed about changes to a component's hierarchy or position.
The base class for all JUCE user-interface objects.
Adds a drop-shadow to a component.
An array designed for holding objects.
This class acts as a pointer which will automatically become null if the object to which it points is...
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
This is a shorthand way of writing both a JUCE_DECLARE_NON_COPYABLE and JUCE_LEAK_DETECTOR macro for ...
#define JUCE_DECLARE_WEAK_REFERENCEABLE(Class)
Macro to easily allow a class to be made weak-referenceable.
JUCE Namespace.
Defines a drop-shadow effect.