Adds a drop-shadow to a component. More...
#include <juce_DropShadower.h>
Public Member Functions | |
DropShadower (const DropShadow &shadowType) | |
Creates a DropShadower. More... | |
~DropShadower () override | |
Destructor. More... | |
void | setOwner (Component *componentToFollow) |
Attaches the DropShadower to the component you want to shadow. More... | |
Private Member Functions | |
virtual void | componentBeingDeleted (Component &component) |
Called when the component is in the process of being deleted. More... | |
void | componentBroughtToFront (Component &) override |
Called when the component is brought to the top of the z-order. More... | |
void | componentChildrenChanged (Component &) override |
Called when the component has children added or removed, or their z-order changes. More... | |
virtual void | componentEnablementChanged (Component &component) |
void | componentMovedOrResized (Component &, bool, bool) override |
Called when the component's position or size changes. More... | |
virtual void | componentNameChanged (Component &component) |
Called when the component's name is changed. More... | |
void | componentParentHierarchyChanged (Component &) override |
Called to indicate that the component's parents have changed. More... | |
void | componentVisibilityChanged (Component &) override |
Called when the component is made visible or invisible. More... | |
void | updateParent () |
void | updateShadows () |
Private Attributes | |
WeakReference< Component > | lastParentComp |
WeakReference< Component > | owner |
bool | reentrant = false |
DropShadow | shadow |
OwnedArray< Component > | shadowWindows |
std::unique_ptr< ParentVisibilityChangedListener > | visibilityChangedListener |
Adds a drop-shadow to a component.
This object creates and manages a set of components which sit around a component, creating a gaussian shadow around it. The components will track the position of the component and if it's brought to the front they'll also follow this.
For desktop windows you don't need to use this class directly - just set the Component::windowHasDropShadow flag when calling Component::addToDesktop(), and the system will create one of these if it's needed (which it obviously isn't on the Mac, for example).
@tags{GUI}
juce::DropShadower::DropShadower | ( | const DropShadow & | shadowType | ) |
Creates a DropShadower.
|
override |
Destructor.
|
virtualinherited |
Called when the component is in the process of being deleted.
This callback is made from inside the destructor, so be very, very cautious about what you do in here.
In particular, bear in mind that it's the Component base class's destructor that calls this - so if the object that's being deleted is a subclass of Component, then the subclass layers of the object will already have been destructed when it gets to this point!
component | the component that was deleted |
Reimplemented in juce::ComponentMovementWatcher, and juce::RelativeCoordinatePositionerBase.
|
overrideprivatevirtual |
Called when the component is brought to the top of the z-order.
component | the component that was moved |
Reimplemented from juce::ComponentListener.
|
overrideprivatevirtual |
Called when the component has children added or removed, or their z-order changes.
component | the component whose children have changed |
Reimplemented from juce::ComponentListener.
|
virtualinherited |
|
overrideprivatevirtual |
Called when the component's position or size changes.
component | the component that was moved or resized |
wasMoved | true if the component's top-left corner has just moved |
wasResized | true if the component's width or height has just changed |
Reimplemented from juce::ComponentListener.
|
virtualinherited |
Called when the component's name is changed.
component | the component that had its name changed |
Reimplemented in juce::MultiDocumentPanel.
|
overrideprivatevirtual |
Called to indicate that the component's parents have changed.
When a component is added or removed from its parent, all of its children will produce this notification (recursively - so all children of its children will also be called as well).
component | the component that this listener is registered with |
Reimplemented from juce::ComponentListener.
|
overrideprivatevirtual |
Called when the component is made visible or invisible.
component | the component that changed |
Reimplemented from juce::ComponentListener.
void juce::DropShadower::setOwner | ( | Component * | componentToFollow | ) |
Attaches the DropShadower to the component you want to shadow.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |