Loading...
Searching...
No Matches
juce::RectanglePlacement Class Reference

## Detailed Description

Defines the method used to position some kind of rectangular object within a rectangular viewport.

Although similar to Justification, this is more specific, and has some extra options.

The documentation for this class was generated from the following file:

- juce_graphics/placement/juce_RectanglePlacement.h

## Public Types

enum | Flags { xLeft = 1 , xRight = 2 , xMid = 4 , yTop = 8 , yBottom = 16 , yMid = 32 , stretchToFit = 64 , fillDestination = 128 , onlyReduceInSize = 256 , onlyIncreaseInSize = 512 , doNotResize = (onlyIncreaseInSize | onlyReduceInSize) , centred = 4 + 32 }
| Flag values that can be combined and used in the constructor. More...

## Public Member Functions

| RectanglePlacement (int placementFlags) noexcept
| Creates a RectanglePlacement object using a combination of flags from the Flags enum.
| RectanglePlacement ()=default
| Creates a default RectanglePlacement object, which is equivalent to using the 'centred' flag.
| RectanglePlacement (const RectanglePlacement &)=default
| Creates a copy of another RectanglePlacement object.
RectanglePlacement & | operator= (const RectanglePlacement &)=default
| Copies another RectanglePlacement object.
bool | operator== (const RectanglePlacement &) const noexcept
bool | operator!= (const RectanglePlacement &) const noexcept
int | getFlags () const noexcept
| Returns the raw flags that are set for this object.
bool | testFlags (int flagsToTest) const noexcept
| Tests a set of flags for this object.
void | applyTo (double &sourceX, double &sourceY, double &sourceW, double &sourceH, double destinationX, double destinationY, double destinationW, double destinationH) const noexcept
| Adjusts the position and size of a rectangle to fit it into a space.
template<typename ValueType>
Rectangle< ValueType > | appliedTo (const Rectangle< ValueType > &source, const Rectangle< ValueType > &destination) const noexcept
| Returns the rectangle that should be used to fit the given source rectangle into the destination rectangle using the current flags.
AffineTransform | getTransformToFit (const Rectangle< float > &source, const Rectangle< float > &destination) const noexcept
| Returns the transform that should be applied to these source coordinates to fit them into the destination rectangle using the current flags.

## Member Enums

## Flags

enum juce::RectanglePlacement::Flags

Flag values that can be combined and used in the constructor.

Enumerator
xLeft | Indicates that the source rectangle's left edge should be aligned with the left edge of the target rectangle.
xRight | Indicates that the source rectangle's right edge should be aligned with the right edge of the target rectangle.
xMid | Indicates that the source should be placed in the centre between the left and right sides of the available space.
yTop | Indicates that the source's top edge should be aligned with the top edge of the destination rectangle.
yBottom | Indicates that the source's bottom edge should be aligned with the bottom edge of the destination rectangle.
yMid | Indicates that the source should be placed in the centre between the top and bottom sides of the available space.
stretchToFit | If this flag is set, then the source rectangle will be resized to completely fill the destination rectangle, and all other flags are ignored.
fillDestination | If this flag is set, then the source rectangle will be resized so that it is the minimum size to completely fill the destination rectangle, without changing its aspect ratio. This means that some of the source rectangle may fall outside the destination. If this flag is not set, the source will be given the maximum size at which none of it falls outside the destination rectangle.
onlyReduceInSize | Indicates that the source rectangle can be reduced in size if required, but should never be made larger than its original size.
onlyIncreaseInSize | Indicates that the source rectangle can be enlarged if required, but should never be made smaller than its original size.
doNotResize | Indicates that the source rectangle's size should be left unchanged.
centred | A shorthand value that is equivalent to (xMid | yMid).

## Constructors and Destructors

## RectanglePlacement() [1/3]

juce::RectanglePlacement::RectanglePlacement | ( | int | placementFlags | ) |

inline noexcept

Creates a RectanglePlacement object using a combination of flags from the Flags enum.

Referenced by operator!=(), operator=(), operator==(), and RectanglePlacement().

## RectanglePlacement() [2/3]

juce::RectanglePlacement::RectanglePlacement | ( |  | ) |

inline default

Creates a default RectanglePlacement object, which is equivalent to using the 'centred' flag.

## RectanglePlacement() [3/3]

juce::RectanglePlacement::RectanglePlacement | ( | const RectanglePlacement & |  | ) |

default

Creates a copy of another RectanglePlacement object.

References RectanglePlacement().

## Member Functions

## operator=()

RectanglePlacement & juce::RectanglePlacement::operator= | ( | const RectanglePlacement & |  | ) |

default

Copies another RectanglePlacement object.

References RectanglePlacement().

## operator==()

bool juce::RectanglePlacement::operator== | ( | const RectanglePlacement & |  | ) | const

noexcept

References RectanglePlacement().

## operator!=()

bool juce::RectanglePlacement::operator!= | ( | const RectanglePlacement & |  | ) | const

noexcept

References RectanglePlacement().

## getFlags()

int juce::RectanglePlacement::getFlags | ( |  | ) | const

inline noexcept

Returns the raw flags that are set for this object.

## testFlags()

bool juce::RectanglePlacement::testFlags | ( | int | flagsToTest | ) | const

inline noexcept

Tests a set of flags for this object.

Returns
  true if any of the flags passed in are set on this object.

## applyTo()

void juce::RectanglePlacement::applyTo | ( | double & | sourceX,
|  | double & | sourceY,
|  | double & | sourceW,
|  | double & | sourceH,
|  | double | destinationX,
|  | double | destinationY,
|  | double | destinationW,
|  | double | destinationH ) const

noexcept

Adjusts the position and size of a rectangle to fit it into a space.

The source rectangle coordinates will be adjusted so that they fit into the destination rectangle based on this object's flags.

Referenced by appliedTo().

## appliedTo()

template<typename ValueType>

Rectangle< ValueType > juce::RectanglePlacement::appliedTo | ( | const Rectangle< ValueType > & | source,
|  | const Rectangle< ValueType > & | destination ) const

inline noexcept

Returns the rectangle that should be used to fit the given source rectangle into the destination rectangle using the current flags.

References applyTo(), h, w, x, and y.

## getTransformToFit()

AffineTransform juce::RectanglePlacement::getTransformToFit | ( | const Rectangle< float > & | source,
|  | const Rectangle< float > & | destination ) const

noexcept

Returns the transform that should be applied to these source coordinates to fit them into the destination rectangle using the current flags.

References centred.

### Purchase

Get JUCE

### Discover

What's New in JUCE Features

### Learn

Documentaion Tutorials Made with JUCE Resources

### Support

JUCE Forum Newsletter Archive

### About

Contact Us JUCE Legal JUCE Licensing FAQ

### Events

Audio Developer Conference
© Raw Material Software Limited