home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mod201j.zip / modula2.exe / os2src / textwind.def < prev    next >
Text File  |  1995-07-24  |  3KB  |  182 lines

  1. DEFINITION MODULE TextWindows;
  2.  
  3. (*************************************************************************
  4.    32-bit OS/2 Modula-2 standard text windows.
  5.  
  6.    Note: This definition is based upon N.Wirth's
  7.          "Programming in Modula-2" 4th edition;
  8.  
  9.          Not yet implemented!
  10.  
  11.    Copyright (c) 1995 by Juergen Neuhoff
  12. ***************************************************************************)
  13.  
  14.  
  15. IMPORT Windows;
  16.  
  17. TYPE
  18.   Window      = Windows.Window;
  19.   RestoreProc = Windows.RestoreProc;
  20.  
  21. VAR
  22.   Done        : BOOLEAN; (* Done = "previous operation was successfully executed *)
  23.   termCH      : CHAR;    (* termination character *)
  24.  
  25. PROCEDURE OpenTextWindow
  26. (
  27.   VAR u       : Window;
  28.   x,y,w,h     : CARDINAL;
  29.   name        : ARRAY OF CHAR
  30. );
  31.  
  32. PROCEDURE RedefTextWindow
  33. (
  34.   u           : Window;
  35.   x,y,w,h     : CARDINAL
  36. );
  37.  
  38. PROCEDURE CloseTextWindow
  39. (
  40.   u           : Window
  41. );
  42.  
  43. PROCEDURE AssignFont
  44. (
  45.   u           : Window;
  46.   frame       : CARDINAL;
  47.   charW       : CARDINAL;
  48.   lineH       : CARDINAL
  49. );
  50. (* Assign non proportional font to window u *)
  51.  
  52. PROCEDURE AssignRestoreProc
  53. (
  54.   u           : Window;
  55.   r           : RestoreProc
  56. );
  57.  
  58. PROCEDURE AssignEOWAction
  59. (
  60.   u           : Window;
  61.   r           : RestoreProc
  62. );
  63. (* Assign reaction on "end of window" condition for window u *)
  64.  
  65. PROCEDURE ScrollUp
  66. (
  67.   u           : Window
  68. );
  69. (* Scroll one line up in window u (standard EOW-action) *)
  70.  
  71. PROCEDURE DrawTitle
  72. (
  73.   u           : Window;
  74.   name        : ARRAY OF CHAR
  75. );
  76.  
  77. PROCEDURE DrawLine
  78. (
  79.   u           : Window;
  80.   line,col    : CARDINAL
  81. );
  82. (* col  = 0: draw horizontal line at 'line' ;
  83.    line = 0: draw vertical line at 'col' ;
  84. *)
  85.  
  86. PROCEDURE SetCaret
  87. (
  88.   u           : Window;
  89.   on          : BOOLEAN
  90. );
  91.  
  92. PROCEDURE Invert
  93. (
  94.   u           : Window
  95. );
  96.  
  97. PROCEDURE IdentifyPos
  98. (
  99.   u            : Window;
  100.   x,y          : CARDINAL;
  101.   VAR line,col : CARDINAL
  102. );
  103.  
  104. PROCEDURE GetPos
  105. (
  106.   u            : Window;
  107.   VAR line,col : CARDINAL
  108. );
  109.  
  110. PROCEDURE SetPos
  111. (
  112.   u           : Window;
  113.   line,col    : CARDINAL
  114. );
  115.  
  116. PROCEDURE ReadString
  117. (
  118.   u           : Window;
  119.   VAR a       : ARRAY OF CHAR
  120. );
  121.  
  122. PROCEDURE ReadCard
  123. (
  124.   u           : Window;
  125.   VAR x       : CARDINAL
  126. );
  127.  
  128. PROCEDURE ReadInt
  129. (
  130.   u           : Window;
  131.   VAR x       : INTEGER
  132. );
  133.  
  134. PROCEDURE Write
  135. (
  136.   u           : Window;
  137.   ch          : CHAR
  138. );
  139. (* Write character ch at current position.
  140.    Interpret BS,LF,FF,CR,CAN,EOL and DEL
  141. *)
  142.  
  143. PROCEDURE WriteLn
  144. (
  145.   u           : Window
  146. );
  147.  
  148. PROCEDURE WriteString
  149. (
  150.   u           : Window;
  151.   a           : ARRAY OF CHAR
  152. );
  153.  
  154. PROCEDURE WriteCard
  155. (
  156.   u           : Window;
  157.   x,n         : CARDINAL
  158. );
  159. (* Write cardinal x with (at least) n characters.
  160.    If n is greater than the number of digits needed,
  161.    blanks are added preceding the number
  162. *)
  163.  
  164. PROCEDURE WriteInt
  165. (
  166.   u           : Window;
  167.   x           : INTEGER;
  168.   n           : CARDINAL
  169. );
  170. (* Write integer x with (at least) n characters.
  171.    If n is greater than the number of digits needed,
  172.    blanks are added preceding the number
  173. *)
  174.  
  175. PROCEDURE WriteOct
  176. (
  177.   u           : Window;
  178.   x,n         : CARDINAL
  179. );
  180.  
  181. END TextWindows.
  182.