<> <> <> DIRECTORY Imager USING [Box, ConstantColor, Context], Plot USING [PlotSpec, Curves]; PlotOps: CEDAR DEFINITIONS = { <<>> <> MaxNumerOfColors: INTEGER = 16; <<>> <> Handle: TYPE = REF HandleData; HandleData: TYPE = RECORD[ plotSpec: Plot.PlotSpec _ NIL, locked: BOOL _ FALSE, background: BackgroundType _ white, colorMode: ColorMode _ color, colorMap: ColorMap _ mine, realBounds, curvesBox: Imager.Box _ [0, 0, 0, 0], curves: Plot.Curves _ NIL, lineStates: States _ NIL, unlocked: CONDITION ]; OutputType: TYPE = {screen, press, interpress}; NColors: TYPE = [0..MaxNumerOfColors); BackgroundType: TYPE = {white, gray, darkGray, black, unknown}; ColorMode: TYPE = {color, bw}; ColorMap: TYPE = {mine, cedar}; States: TYPE = REF StateSequence; StateSequence: TYPE = RECORD[SEQUENCE size: CARDINAL OF LineState]; MaxStep: CARDINAL = 6; LineStep: TYPE = INTEGER[0..MaxStep); LineState: TYPE = REF LineStateRec; LineStateRec: TYPE = RECORD[ step: LineStep _ 0, progress: REAL _ 0.0 ]; <> color: ARRAY NColors OF Imager.ConstantColor; <> Lock: PROC [handle: Handle]; Unlock: PROC [handle: Handle]; DrawMe: PROC [context: Imager.Context, handle: Handle, whatChanged: REF ANY, output: OutputType]; }. <<>> CHANGE LOG. Created by: SChen in Cedar5. SChen, July 22, 1985 6:22:31 pm PDT, => Cedar6.0. <<>>