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

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 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...
 
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...
 
String toString () const
 Returns a string which represents this point. More...
 
bool isDynamic () const
 Returns true if this point depends on any other coordinates for its position. 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

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

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

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

◆ isDynamic()

bool RelativePoint::isDynamic ( ) const

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

Member Data Documentation

◆ x

RelativeCoordinate RelativePoint::x

◆ y

RelativeCoordinate RelativePoint::y

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