<> <> <> DIRECTORY Graphics USING [Context], IPBasic USING [Any, Integer, Operator, State, Vector], IPImagerBasic USING [Color, Outline, Pair, PixelArray, Trajectory, Transformation]; IPImagerOps: CEDAR DEFINITIONS = BEGIN OPEN IPImagerBasic, IPBasic; <> Init: PROC[State]; <> PushPair: PROC[State, Pair]; PushTransformation: PROC[State, Transformation]; PushColor: PROC[State, Color]; PushPixelArray: PROC[State, PixelArray]; PushTrajectory: PROC[State, Trajectory]; PushOutline: PROC[State, Outline]; PopPair: PROC[State] RETURNS[Pair]; PopTransformation: PROC[State] RETURNS[Transformation]; PopColor: PROC[State] RETURNS[Color]; PopPixelArray: PROC[State] RETURNS[PixelArray]; PopTrajectory: PROC[State] RETURNS[Trajectory]; PopOutline: PROC[State] RETURNS[Outline]; <<>> <<4.2 Imager state>> IGet: PROC[self: State, n: Integer] RETURNS[Any]; ISet: PROC[self: State, x: Any, n: Integer]; Save: PROC[self: State, all: BOOL]; Restore: PROC[self: State]; SetContext: PROC[self: State, context: Graphics.Context]; SetMedium: PROC[self: State, m: Vector, pageNumber: Integer, duplex: BOOL, xImageShift: REAL]; <<4.3.5 Device coordinate system>> <> <<4.4.3 Transformation operators>> <> <<4.4.4 Applying transformations>> <> <<4.4.5 The current transformation>> ConcatT: PROC[self: State, m: Transformation]; Move: PROC[self: State]; Trans: PROC[self: State]; <<4.4.6 Instancing>> Show: PROC[self: State, v: Vector]; ShowAndXRel: PROC[self: State, v: Vector]; <<>> <<4.5 Current position operators>> SetXY: PROC[self: State, p: Pair]; SetXYRel: PROC[self: State, v: Pair]; SetXRel: PROC[self: State, x: REAL]; SetYRel: PROC[self: State, y: REAL]; GetCP: PROC[self: State, rounded: BOOL _ FALSE] RETURNS[Pair]; <<>> <<4.6 Pixel arrays>> MakePixelArray: PROC[xPixels, yPixels: Integer, samplesPerPixel, maxSampleValue: Integer, samplesInterleaved: BOOL, m: Transformation, samples: Vector] RETURNS[PixelArray]; <<>> FindDecompressor: PROC[self: State, v: Vector] RETURNS[Operator]; <<>> <<4.7 Color>> MakeGray: PROC[f: REAL] RETURNS[Color]; FindColor: PROC[self: State, v: Vector] RETURNS[Color]; FindColorOperator: PROC[self: State, v: Vector] RETURNS[Operator]; FindColorModelOperator: PROC[self: State, v: Vector] RETURNS[Operator]; MakeSampledBlack: PROC[pa: PixelArray, um: Transformation, transparent: BOOL _ FALSE] RETURNS[Color]; MakeSampledColor: PROC[pa: PixelArray, um: Transformation, colorOperator: Operator] RETURNS[Color]; SetGray: PROC[self: State, f: REAL]; <<>> <<4.8.1 Geometry: trajectories and outlines>> <> <<4.8.2 Filled outlines and strokes>> MaskFill: PROC[self: State, o: Outline]; MaskStroke: PROC[self: State, t: Trajectory, closed: BOOL _ FALSE]; MaskRectangle: PROC[self: State, x, y, w, h: REAL]; MaskVector: PROC[self: State, p1, p2: Pair]; StartUnderline: PROC[self: State]; MaskUnderline: PROC[self: State, dy, h: REAL]; MaskTrapezoidX: PROC[self: State, x1, y1, x2, x3, y3, x4: REAL]; MaskTrapezoidY: PROC[self: State, x1, y1, y2, x3, y3, y4: REAL]; <<4.8.3 Sampled masks>> MaskPixel: PROC[self: State, pa: PixelArray]; <<>> <<4.9 Character operators>> FindFont: PROC[self: State, v: Vector] RETURNS[Vector]; ModifyFont: PROC[v: Vector, m: Transformation] RETURNS[Vector]; SetFont: PROC[self: State, n: Integer]; <<>> <<4.10 Spacing correction>> CorrectMask: PROC[self: State]; CorrectSpace: PROC[self: State, v: Pair]; Correct: PROC[self: State]; SetCorrectMeasure: PROC[self: State, v: Pair]; SetCorrectTolerance: PROC[self: State, v: Pair]; Space: PROC[self: State, x: REAL]; END.