(******************************************************************************
*                                GRAPH1  .DEF                                 *
*                              ABO Software Dep.                              *
*                                                                             *
* Purpose : To provide simple low level pixel oriented graphics routines.     *
*                                                                             *
*   Notes : These routines, to provide speed, have no error checking, and no  *
*         clipping. Hence care must be taken to ensure that valid parameters  *
*         are used when they are called.                                      *
*                                                                             *
*         Version Date : 22/10/92                                             *
******************************************************************************)
DEFINITION MODULE GRAPH1;

CONST
  MaxPts = 20;

  Xmax = 640;
  Ymax = 350;
  Cmax = 16;
  Pmax = 64;

  Red0 = 08H;
  Red1 = 00H;
  Red2 = 00H;
  Grn0 = 02H;
  Grn1 = 04H;
  Grn2 = 00H;
  Blu0 = 01H;
  Blu1 = 00H;

TYPE
  Color    = SHORTCARD;
  LPattern = ARRAY [0..7] OF Color;
  FPattern = ARRAY [0..7] OF LPattern;
  Point    = RECORD
    X    : INTEGER;
    Y    : INTEGER;
  END;

PROCEDURE initgraph;

PROCEDURE closegraph;

PROCEDURE setactive(n:SHORTCARD);

PROCEDURE setvisual(n:SHORTCARD);

PROCEDURE clearpage;
(*nec?*)
PROCEDURE setline(l:LPattern);

PROCEDURE setfill(f:FPattern);

PROCEDURE setpalette(palette:Color;
                     color  :LONGCARD);


PROCEDURE pixel(x,y       : INTEGER;
               c          : Color);

(*
PROCEDURE pixel(x,y       :INTEGER);
*)
PROCEDURE hline(y,x1,x2   : INTEGER);

PROCEDURE line(x1,y1,x2,y2: INTEGER);

PROCEDURE box(x1,y1,x2,y2 : INTEGER);

PROCEDURE poly(n          : INTEGER;
               p          : ARRAY OF Point);

END GRAPH1.
