home *** CD-ROM | disk | FTP | other *** search
Modula Definition | 1995-03-27 | 4.4 KB | 157 lines |
- (*********************************************************************)
- (* *)
- (* Module PlotLibrary Copyright © 1994 by Computer Inspirations *)
- (* *)
- (*********************************************************************)
-
- DEFINITION MODULE PlotLibrary;
-
-
- TYPE
- PlotType; (* Opaque type -- holds plot characteristics *)
-
- PlotFunction = PROCEDURE(REAL) : REAL;
- LabelProc = PROCEDURE(INTEGER, VAR ARRAY OF CHAR);
-
- PlotKindType = (Normal, Line, Bar, LogX, LogY, Log);
-
- LineType = ARRAY [0..80] OF CHAR;
- PositionType = (UpperLeft, UpperMiddle, UpperRight,
- LowerLeft, LowerMiddle, LowerRight);
-
- (*-------------------------------------------------------
-
- Plot creation and maintenance routines
-
- ------------------------------------------------------*)
-
- PROCEDURE InitPlot(VAR Plot : PlotType;
- MainTitle : ARRAY OF CHAR;
- PlotKind : PlotKindType;
- xMin, xMax, yMin, yMax : REAL;
- width, height : INTEGER;
- xDiv, yDiv : CARDINAL;
- xSubDiv, ySubDiv : CARDINAL;
- xDec, yDec : CARDINAL;
- NumberOfColours : CARDINAL)
- : BOOLEAN;
-
-
- PROCEDURE InitOffsetPlot
- (VAR Plot : PlotType;
- PlotKind : PlotKindType;
- xMin, xMax, yMin, yMax : REAL;
- width, height : INTEGER;
- xDiv, yDiv : CARDINAL;
- xSubDiv, ySubDiv : CARDINAL;
- xDec, yDec : CARDINAL;
- xOffset, yOffset : INTEGER;
- OldPlot : PlotType)
- : BOOLEAN;
-
-
- PROCEDURE DonePlot(VAR Plot : PlotType);
-
-
- PROCEDURE PlotFx(Plot : PlotType; Fx : PlotFunction);
-
-
- PROCEDURE Empty() : PlotType;
-
-
- (*-------------------------------------------------------
-
- Plot modification routines for more functionality
-
- ------------------------------------------------------*)
-
- PROCEDURE ClearPlot(Plot : PlotType);
-
-
- PROCEDURE InformationBox(Plot : PlotType;
- Position : PositionType;
- Lines : ARRAY OF LineType;
- FillColour : CARDINAL;
- OutlineColour : CARDINAL);
-
-
- PROCEDURE PlotLine(Plot : PlotType;
- Colour : CARDINAL;
- x1, y1, x2, y2 : REAL);
-
-
- PROCEDURE SetColourMap(Plot : PlotType;
- ColourIndex : CARDINAL;
- Red, Green, Blue : CARDINAL);
-
-
- PROCEDURE SetPlotColour(Plot : PlotType;
- Colour : CARDINAL);
-
-
- PROCEDURE SetPlotLimits(Plot : PlotType;
- xMin, xMax, yMin, yMax : REAL);
-
-
- PROCEDURE SetPlotScale (Plot : PlotType;
- xscale, yscale : REAL);
-
-
- PROCEDURE SetPlotOffset(Plot : PlotType;
- xoff, yoff : INTEGER);
-
-
- PROCEDURE SetTextColour(Plot : PlotType;
- Colour : CARDINAL);
-
-
- PROCEDURE SetGridColour(Plot : PlotType;
- Colour : CARDINAL);
-
-
- PROCEDURE SetZeroLine (Plot : PlotType;
- On : BOOLEAN);
-
-
- PROCEDURE SetScatterPlot(Plot : PlotType);
-
-
- PROCEDURE SetScatterChar(Plot : PlotType;
- Ch : CHAR);
-
-
- (*-------------------------------------------------------
-
- Plot labelling routines
-
- ------------------------------------------------------*)
-
- PROCEDURE CenterLabelX(Plot : PlotType;
- Label : ARRAY OF CHAR;
- y : INTEGER);
-
-
- PROCEDURE CenterLabelY(Plot : PlotType;
- Label : ARRAY OF CHAR;
- x : INTEGER);
-
-
- PROCEDURE LabelX(Plot : PlotType;
- Label : ARRAY OF CHAR;
- x, y : INTEGER);
-
-
- PROCEDURE LabelY(Plot : PlotType;
- Label : ARRAY OF CHAR;
- x, y : INTEGER);
-
-
- PROCEDURE LabelMinMax(Plot : PlotType;
- Fx : PlotFunction);
-
-
- PROCEDURE SetLabelRoutine(Plot : PlotType;
- LabelRoutine : LabelProc);
-
-
- END PlotLibrary.