Coordinate transformation commands
#include <Unidraw/Commands/transforms.h>
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(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(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(
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.
Command(3U)