ClassRep:
TYPE ~
RECORD [
deviceType: ATOM,
Init: PROC [context: Context, name: Rope.ROPE, bounds: IntRectangle],
DoSaveAll: PROC [context: Context, action: PROC],
DoSave: PROC [context: Context, action: PROC],
Flush: PROC [context: Context],
Close: PROC [context: Context],
TranslateT: PROC [context: Context, dx, dy: REAL],
RotateT: PROC [context: Context, degrees: REAL],
ScaleT: PROC [context: Context, sx, sy: REAL],
ConcatT: PROC [context: Context, transformation: Transformation],
GetT: PROC [context: Context] RETURNS [Transformation],
SetT: PROC [context: Context, transformation: Transformation],
IntTranslateT: PROC [context: Context, dx, dy: INTEGER],
IntScaleT: PROC [context: Context, sx, sy: INTEGER],
GetClipper: PROC [context: Context] RETURNS [Clipper],
SetClipper: PROC [context: Context, clipper: Clipper],
ClipPath: PROC [context: Context, outline: Path, exclude: BOOLEAN],
ClipRectangle: PROC [context: Context, outline: Rectangle, exclude: BOOLEAN],
TestRectangle: PROC [context: Context, area: Rectangle] RETURNS [Visibility],
ClipIntRectangle: PROC [context: Context, outline: IntRectangle, exclude: BOOLEAN],
TestIntRectangle: PROC [context: Context, area: IntRectangle] RETURNS [Visibility],
DoWithoutClipping: PROC [context: Context, bounds: IntRectangle, callBack: PROC[Context]],
SetColor: PROC [context: Context, color: Color],
GetColor: PROC [context: Context] RETURNS [Color],
MaskStroke: PROC [context: Context, path: Path, width: REAL, strokeEnds: StrokeEnds, closed: BOOLEAN ← FALSE],
MaskFill: PROC [context: Context, path: Path],
MaskPixel: PROC [context: Context, pixelArray: ImagerBasic.PixelArray],
MaskBits: PROC [context: Context, base: LONG POINTER, raster: CARDINAL, tile: IntRectangle, area: IntRectangle],
MaskSegment: PROC [context: Context, p: Pair],
MaskIntSegment: PROC [context: Context, p: IntPair],
MaskThinStroke: PROC [context: Context, path: Path],
MaskRectangle: PROC [context: Context, area: Rectangle],
MaskIntRectangle: PROC [context: Context, area: IntRectangle],
SetCP: PROC [context: Context, cp: Pair],
GetCP: PROC [context: Context] RETURNS [Pair],
SetIntCP: PROC [context: Context, cp: IntPair],
GetIntCP: PROC [context: Context] RETURNS [IntPair],
MaskChar: PROC [context: Context, font: UnifiedFonts.FONT, char: CHAR],
MaskCharacters: PROC [context: Context, font: UnifiedFonts.FONT, characters: REF, start: INT ← 0, length: INT],
TransferBuffer: PROC [context, source: Context] ← NIL,
Reset: PROC [context: Context] ← NIL,
SetView: PROC [context: Context, box: IntRectangle, halftoneOrigin: IntPair] ← NIL,
ClipView: PROC [context: Context, box: IntRectangle, exclude: BOOLEAN] ← NIL,
GetSurfaceBounds: PROC [context: Context] RETURNS [IntRectangle] ← NIL,
GetViewBounds: PROC [context: Context] RETURNS [IntRectangle] ← NIL,
MoveSurfaceRectangle: PROC [context: Context, source: IntRectangle, dest: IntPair] RETURNS [BOOLEAN] ← NIL,
SetColorInvert: PROC [context: Context] ← NIL,
DrawBitmap: PROC [context: Context, base: LONG POINTER, raster: CARDINAL, area: IntRectangle] ← NIL,
SpecialOp: PROC [context: Context, op: ATOM, data: REF] RETURNS [BOOLEAN] ← NIL
];