DEFINITION MODULE RasterOp;

(*
    Title: 	output operations for RasterDev
    LastEdit:	"Tue Sep 17 12:06:36 1985"
    Author: 	pr
		Cambridge University Computer Laboratory
*)


FROM GKSTypes IMPORT MARKERSTYLE;
FROM Vector IMPORT RVEC;

EXPORT QUALIFIED 
    LINETYPE, CHANGEINDEX, 
    LineWidth, LineType, NoOfChanges, Cycle, CycleLength, 
    CurrentMarkerStyle, MarkerSize,
    LineSegment, DrawCyclicLine, DrawMarker,
    SortByXThenY, SortByYThenX;


TYPE 
    LINETYPE = (Solid, Cyclic);
    CHANGEINDEX = [0..6];

VAR
    LineWidth : REAL;
    LineType : LINETYPE;
    NoOfChanges : CHANGEINDEX;
    Cycle : ARRAY CHANGEINDEX OF REAL;
    CycleLength : REAL;
    CurrentMarkerStyle : MARKERSTYLE;
    MarkerSize : REAL;


PROCEDURE LineSegment (vfrom, vto : RVEC; width : REAL);

PROCEDURE DrawCyclicLine (high : INTEGER; VAR at : ARRAY OF RVEC);

PROCEDURE DrawMarker (at : RVEC);

PROCEDURE SortByYThenX (high : INTEGER; VAR CoOrds : ARRAY OF RVEC);

PROCEDURE SortByXThenY (high : INTEGER; VAR CoOrds : ARRAY OF RVEC);

END RasterOp.
