Base class for objects that can be used to automatically position a component according to some kind of algorithm.
The component class simply holds onto a reference to a Positioner, but doesn't actually do anything with it - all the functionality must be implemented by the positioner itself (e.g. it might choose to watch some kind of value and move the component when the value changes).
Public Member Functions | |
Positioner (Component &component) noexcept | |
Creates a Positioner which can control the specified component. | |
virtual | ~Positioner ()=default |
Destructor. | |
Component & | getComponent () const noexcept |
Returns the component that this positioner controls. | |
virtual void | applyNewBounds (const Rectangle< int > &newBounds)=0 |
Attempts to set the component's position to the given rectangle. |
|
explicitnoexcept |
Creates a Positioner which can control the specified component.
References juce::Component::Component().
Referenced by applyNewBounds().
|
virtualdefault |
Destructor.
|
noexcept |
Returns the component that this positioner controls.
References juce::Component::Component().
|
pure virtual |
Attempts to set the component's position to the given rectangle.
Unlike simply calling Component::setBounds(), this may involve the positioner being smart enough to adjust itself to fit the new bounds.
References juce::Component::Component(), and Positioner().