home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / educatin / k-ching.lbr / KSCREEN.DZF / KSCREEN.DEF
Text File  |  1987-12-04  |  3KB  |  57 lines

  1. DEFINITION MODULE KScreen;
  2.  
  3. TYPE
  4.     VideoAttribute =
  5.     (HiInverse,Dim,Flash,Underline,Cursor,LoInverse,Normal);
  6.  
  7.  
  8.  
  9. PROCEDURE SetVideo(Attribute: VideoAttribute; Switch: BOOLEAN);
  10.     (* Turns various Kaypro-specific options  on and off, according to Switch.
  11.     Normal,FALSE will undo everything except the Cursor attribute --
  12.     Normal,TRUE will undo everything and turn the cursor ON.
  13.     SetVideo uses the standard Write procedure and does not affect
  14.     cursor position.*)
  15.  
  16. PROCEDURE DrawLine
  17.           (fromX, fromY, toX, toY: CARDINAL; DrawEr: BOOLEAN);
  18.     (* Draws or Erases a line from X,Y to X,Y according to whether the fifth
  19.     parameter, DrawEr is True or False [ie TRUE will Draw].
  20.     Due to the "Step" nature of mapping linear equations with integer co-ords
  21.     the line x1,y1,x2,y2 <> x2,y2,x1,y1! Rather it is its mirror image.
  22.     To ensure consistant results, be sure to always specify line co-ords in
  23.     the same order, particularly when erasing a previously drawn line.
  24.     If X>159 or Y>99 nothing happens!
  25.     Negative Co-ords are NOT allowed! *)
  26.  
  27. PROCEDURE Pixel(xpos,ypos: CARDINAL; DrawErase: BOOLEAN);
  28.     (* Draws or Erases a pixel at the screen co-ord given by [xpos,ypos] if
  29.     DrawErase is TRUE or FALSE. This procedure will only place a pixel on the
  30.     screen if that character position is BLANK [ie occupied by a space].
  31.     If Xpos or Ypos is outside the normal screen range of 0..159,0..99
  32.     it will be drawn, but at MOD160 or MOD100, respectively *)
  33.  
  34. PROCEDURE GCharWrite(GraphicsCharacter: CHAR);
  35.     (* WRITES the 8-bit graphics character specified by the ordinal value of
  36.     GraphicsCharacter at the present cursor position. GraphicsCharacter must be
  37.     in the normal CHAR range of 0..255 and is composed of 8 pixels which are
  38.     turned on according to the following bitmap:
  39.               2   1
  40.               8   4
  41.              32  16
  42.             128  64
  43.      *)
  44.  
  45. PROCEDURE BlinkBlock(Blink,Block:BOOLEAN);
  46.     (* If Blink is TRUE then the cursor will blink
  47.           if not it will be simply sit there.
  48.        If Block is TRUE then the cursor will have its normal shape
  49.           if not it will be an underline.
  50.      A call to SetVideo(Cursor,TRUE) or SetVideo(Normal,TRUE)
  51.      will return you to a blinking cursor
  52.      so if you really want another kind, you'd better call this routine
  53.      after each call *)
  54.  
  55. END KScreen.
  56.  
  57.