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

## Detailed Description

A rectangle stored as a set of RelativeCoordinate values.

The rectangle's top, left, bottom and right edge positions are each stored as a RelativeCoordinate.

See also
  RelativeCoordinate, RelativePoint

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

- juce_gui_basics/positioning/juce_RelativeRectangle.h

## Public Member Functions

| RelativeRectangle ()
| Creates a zero-size rectangle at the origin.
| RelativeRectangle (const Rectangle< float > &rect)
| Creates an absolute rectangle, relative to the origin.
| RelativeRectangle (const RelativeCoordinate &left, const RelativeCoordinate &right, const RelativeCoordinate &top, const RelativeCoordinate &bottom)
| Creates a rectangle from four coordinates.
| RelativeRectangle (const String &stringVersion)
| Creates a rectangle from a stringified representation.
bool | operator== (const RelativeRectangle &) const noexcept
bool | operator!= (const RelativeRectangle &) const noexcept
const Rectangle< float > | resolve (const Expression::Scope *scope) const
| Calculates the absolute position of this rectangle.
void | moveToAbsolute (const Rectangle< float > &newPos, const Expression::Scope *scope)
| Changes the values of this rectangle's coordinates to make it resolve to the specified position.
bool | isDynamic () const
| Returns true if this rectangle depends on any external symbols for its position.
String | toString () const
| Returns a string which represents this point.
void | renameSymbol (const Expression::Symbol &oldSymbol, const String &newName, const Expression::Scope &scope)
| Renames a symbol if it is used by any of the coordinates.
void | applyToComponent (Component &component) const
| Creates and sets an appropriate Component::Positioner object for the given component, which will keep it positioned with this rectangle.

## Public Attributes

RelativeCoordinate | left
RelativeCoordinate | right
RelativeCoordinate | top
RelativeCoordinate | bottom

## Constructors and Destructors

## RelativeRectangle() [1/4]

juce::RelativeRectangle::RelativeRectangle | ( |  | ) |

Creates a zero-size rectangle at the origin.

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

## RelativeRectangle() [2/4]

juce::RelativeRectangle::RelativeRectangle | ( | const Rectangle< float > & | rect | ) |

explicit

Creates an absolute rectangle, relative to the origin.

## RelativeRectangle() [3/4]

juce::RelativeRectangle::RelativeRectangle | ( | const RelativeCoordinate & | left,
|  | const RelativeCoordinate & | right,
|  | const RelativeCoordinate & | top,
|  | const RelativeCoordinate & | bottom )

Creates a rectangle from four coordinates.

References bottom, left, right, and top.

## RelativeRectangle() [4/4]

juce::RelativeRectangle::RelativeRectangle | ( | const String & | stringVersion | ) |

explicit

Creates a rectangle from a stringified representation.

The string must contain a sequence of 4 coordinates, separated by commas, in the order left, top, right, bottom. The syntax for the coordinate strings is explained in the RelativeCoordinate class.

See also
  toString

## Member Functions

## operator==()

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

noexcept

References RelativeRectangle().

## operator!=()

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

noexcept

References RelativeRectangle().

## resolve()

const Rectangle< float > juce::RelativeRectangle::resolve | ( | const Expression::Scope * | scope | ) | const

Calculates the absolute position of this rectangle.

You'll need to provide a suitable Expression::Scope for looking up any coordinates that may be needed to calculate the result.

## moveToAbsolute()

void juce::RelativeRectangle::moveToAbsolute | ( | const Rectangle< float > & | newPos,
|  | const Expression::Scope * | scope )

Changes the values of this rectangle's coordinates to make it resolve to the specified position.

Calling this will leave any anchor points unchanged, but will set any absolute or relative positions to whatever values are necessary to make the resultant position match the position that is provided.

## isDynamic()

bool juce::RelativeRectangle::isDynamic | ( |  | ) | const

Returns true if this rectangle depends on any external symbols for its position.

Coordinates that refer to symbols based on "this" are assumed not to be dynamic.

## toString()

String juce::RelativeRectangle::toString | ( |  | ) | const

Returns a string which represents this point.

This returns a comma-separated list of coordinates, in the order left, top, right, bottom. If you're using this to position a Component, then see the notes for Component::setBounds (const RelativeRectangle&) for details of the syntax used. The string that is returned can be passed to the RelativeRectangle constructor to recreate the rectangle.

## renameSymbol()

void juce::RelativeRectangle::renameSymbol | ( | const Expression::Symbol & | oldSymbol,
|  | const String & | newName,
|  | const Expression::Scope & | scope )

Renames a symbol if it is used by any of the coordinates.

This calls Expression::withRenamedSymbol() on the rectangle's coordinates.

## applyToComponent()

void juce::RelativeRectangle::applyToComponent | ( | Component & | component | ) | const

Creates and sets an appropriate Component::Positioner object for the given component, which will keep it positioned with this rectangle.

## Member Data Documentation

## left

RelativeCoordinate juce::RelativeRectangle::left

Referenced by RelativeRectangle().

## right

RelativeCoordinate juce::RelativeRectangle::right

Referenced by RelativeRectangle().

## top

RelativeCoordinate juce::RelativeRectangle::top

Referenced by RelativeRectangle().

## bottom

RelativeCoordinate juce::RelativeRectangle::bottom

Referenced by RelativeRectangle().

### 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