<> <> <> DIRECTORY ImagerBasic USING [Pair]; ImagerOps: CEDAR DEFINITIONS = BEGIN OPEN ImagerBasic; Transformation: TYPE = REF TransformationRep; TransformationRep: TYPE = RECORD[a, b, c, d, e, f: REAL]; Translate: PROC[x, y: REAL] RETURNS[Transformation]; Rotate: PROC[a: REAL] RETURNS[Transformation]; Scale: PROC[s: REAL] RETURNS[Transformation]; Scale2: PROC[sx, sy: REAL] RETURNS[Transformation]; TranslateTo: PROC[m: Transformation, p: Pair] RETURNS[Transformation]; Concat: PROC[m, n: Transformation] RETURNS[Transformation]; Invert: PROC[m: Transformation] RETURNS[Transformation]; Transform: PROC[m: Transformation, p: Pair] RETURNS[Pair]; TransformVec: PROC[m: Transformation, v: Pair] RETURNS[Pair]; InverseTransform: PROC[m: Transformation, p: Pair] RETURNS[Pair]; InverseTransformVec: PROC[m: Transformation, v: Pair] RETURNS[Pair]; DRound: PROC[p: Pair] RETURNS[Pair]; END.