transforms(3U)

NAME
MoveCmd, RotateCmd, ScaleCmd - coordinate transformation commands

SYNOPSIS
#include <Unidraw/Commands/transforms.h>

DESCRIPTION
The Unidraw library predefines three purely interpretive commands for performing coordinate transformations: MoveCmd defines a translation, RotateCmd defines a rotation, and ScaleCmd defines a two-dimensional scaling.

MOVECMD PUBLIC OPERATIONS

MoveCmd(ControlInfo*, float dx = 0, float dy = 0)

MoveCmd(Editor* = nil, float = 0, float = 0)
    Construct a new MoveCmd, specifying the translation distances in the horizontal (dx) and vertical (dy) dimensions.

void GetMovement(float&, float&)
    Return the translation distances specified in the constructor.

ROTATECMD PUBLIC OPERATIONS

RotateCmd(ControlInfo*, float = 0)

RotateCmd(Editor* = nil, float = 0)
    Construct a new RotateCmd, specifying the rotation angle in degrees.

float GetRotation()
    Return the rotation angle specified in the constructor.

SCALECMD PUBLIC OPERATIONS

ScaleCmd(

ControlInfo*, float sx = 1, float sy = 1, Alignment = Center

)

ScaleCmd(Editor* = nil, float = 1, float = 1, Alignment = Center)
    Construct a new ScaleCmd, specifying the scaling factors in the horizontal (sx) and vertical (sy) dimensions and an alignment suggesting the point about which the component should be scaled.

void GetScaleing(float&, float&)

Alignment GetAlignment()
    Return the scaling factors and alignment specified in the constructor.

SEE ALSO
Command(3U)