openshot-audio  0.1.6
Public Member Functions | Public Attributes | List of all members
RelativeRectangle Class Reference

#include <juce_RelativeRectangle.h>

Public Member Functions

 RelativeRectangle ()
 
 RelativeRectangle (const Rectangle< float > &rect)
 
 RelativeRectangle (const RelativeCoordinate &left, const RelativeCoordinate &right, const RelativeCoordinate &top, const RelativeCoordinate &bottom)
 
 RelativeRectangle (const String &stringVersion)
 
bool operator== (const RelativeRectangle &) const noexcept
 
bool operator!= (const RelativeRectangle &) const noexcept
 
const Rectangle< float > resolve (const Expression::Scope *scope) const
 
void moveToAbsolute (const Rectangle< float > &newPos, const Expression::Scope *scope)
 
bool isDynamic () const
 
String toString () const
 
void renameSymbol (const Expression::Symbol &oldSymbol, const String &newName, const Expression::Scope &scope)
 
void applyToComponent (Component &component) const
 

Public Attributes

RelativeCoordinate left
 
RelativeCoordinate right
 
RelativeCoordinate top
 
RelativeCoordinate bottom
 

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

Constructor & Destructor Documentation

◆ RelativeRectangle() [1/4]

RelativeRectangle::RelativeRectangle ( )

Creates a zero-size rectangle at the origin.

◆ RelativeRectangle() [2/4]

RelativeRectangle::RelativeRectangle ( const Rectangle< float > &  rect)
explicit

Creates an absolute rectangle, relative to the origin.

◆ RelativeRectangle() [3/4]

RelativeRectangle::RelativeRectangle ( const RelativeCoordinate left,
const RelativeCoordinate right,
const RelativeCoordinate top,
const RelativeCoordinate bottom 
)

Creates a rectangle from four coordinates.

◆ RelativeRectangle() [4/4]

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 Function Documentation

◆ applyToComponent()

void 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.

◆ isDynamic()

bool 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.

◆ moveToAbsolute()

void 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.

◆ operator!=()

bool RelativeRectangle::operator!= ( const RelativeRectangle other) const
noexcept

◆ operator==()

bool RelativeRectangle::operator== ( const RelativeRectangle other) const
noexcept

◆ renameSymbol()

void 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.

◆ resolve()

const Rectangle< float > 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.

◆ toString()

String 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.

Member Data Documentation

◆ bottom

RelativeCoordinate RelativeRectangle::bottom

◆ left

RelativeCoordinate RelativeRectangle::left

◆ right

RelativeCoordinate RelativeRectangle::right

◆ top

RelativeCoordinate RelativeRectangle::top

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