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.

RELATED TO transforms…

Command(3U)