JUCE  v5.1.1-3-g1a0b28c73
JUCE API
RelativePoint Class Reference

An X-Y position stored as a pair of RelativeCoordinate values. More...

#include <juce_RelativePoint.h>

Collaboration diagram for RelativePoint:

Public Member Functions

 RelativePoint ()
 Creates a point at the origin. More...
 
 RelativePoint (Point< float > absolutePoint)
 Creates an absolute point, relative to the origin. More...
 
 RelativePoint (float absoluteX, float absoluteY)
 Creates an absolute point, relative to the origin. More...
 
 RelativePoint (const RelativeCoordinate &x, const RelativeCoordinate &y)
 Creates an absolute point from two coordinates. More...
 
 RelativePoint (const String &stringVersion)
 Creates a point from a stringified representation. More...
 
bool isDynamic () const
 Returns true if this point depends on any other coordinates for its position. More...
 
void moveToAbsolute (Point< float > newPos, const Expression::Scope *evaluationContext)
 Changes the values of this point's coordinates to make it resolve to the specified position. More...
 
bool operator!= (const RelativePoint &) const noexcept
 
bool operator== (const RelativePoint &) const noexcept
 
Point< float > resolve (const Expression::Scope *evaluationContext) const
 Calculates the absolute position of this point. More...
 
String toString () const
 Returns a string which represents this point. More...
 

Public Attributes

RelativeCoordinate x
 
RelativeCoordinate y
 

Detailed Description

An X-Y position stored as a pair of RelativeCoordinate values.

See also
RelativeCoordinate, RelativeRectangle

Constructor & Destructor Documentation

◆ RelativePoint() [1/5]

RelativePoint::RelativePoint ( )

Creates a point at the origin.

◆ RelativePoint() [2/5]

RelativePoint::RelativePoint ( Point< float >  absolutePoint)

Creates an absolute point, relative to the origin.

◆ RelativePoint() [3/5]

RelativePoint::RelativePoint ( float  absoluteX,
float  absoluteY 
)

Creates an absolute point, relative to the origin.

◆ RelativePoint() [4/5]

RelativePoint::RelativePoint ( const RelativeCoordinate x,
const RelativeCoordinate y 
)

Creates an absolute point from two coordinates.

◆ RelativePoint() [5/5]

RelativePoint::RelativePoint ( const String stringVersion)

Creates a point from a stringified representation.

The string must contain a pair of coordinates, separated by space or a comma. The syntax for the coordinate strings is explained in the RelativeCoordinate class.

See also
toString

Member Function Documentation

◆ isDynamic()

bool RelativePoint::isDynamic ( ) const

Returns true if this point depends on any other coordinates for its position.

◆ moveToAbsolute()

void RelativePoint::moveToAbsolute ( Point< float >  newPos,
const Expression::Scope evaluationContext 
)

Changes the values of this point'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 RelativePoint::operator!= ( const RelativePoint ) const
noexcept

◆ operator==()

bool RelativePoint::operator== ( const RelativePoint ) const
noexcept

◆ resolve()

Point<float> RelativePoint::resolve ( const Expression::Scope evaluationContext) const

Calculates the absolute position of this point.

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

◆ toString()

String RelativePoint::toString ( ) const

Returns a string which represents this point.

This returns a comma-separated pair of coordinates. For details of the string syntax used by the coordinates, see the RelativeCoordinate constructor notes. The string that is returned can be passed to the RelativePoint constructor to recreate the point.

Member Data Documentation

◆ x

RelativeCoordinate RelativePoint::x

◆ y

RelativeCoordinate RelativePoint::y

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