---
name: "transforms"
section: "3"
platform: "linux"
package: "ivtools-dev"
version: "1.1.3-4"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/transforms"
---

# transforms(3)

coordinate transformation commands

## 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)
