CONIO.DEF 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. (* Release 3.10 *)
  2. (*-------------------------------------------------------------------------*
  3. * *
  4. * CONIO.DEF - Modula-2 interface to CONIO.H *
  5. * *
  6. * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. *
  7. * All Rights Reserved *
  8. * *
  9. *--------------------------------------------------------------------------*)
  10. (*# project("#set tsc='on'") *)
  11. (*# call(o_a_size=>off, o_a_copy=>off, c_conv=>on, result_optional=>on) *)
  12. (*# module(implementation=>off, init_code=>off) *)
  13. (*# name(prefix=>c) *)
  14. DEFINITION MODULE conio;
  15. CONST
  16. (* **** these are the tags of the enum text_modes *)
  17. LASTMODE = -1;
  18. BW40 = 0;
  19. C40 = 1;
  20. BW80 = 2;
  21. C80 = 3;
  22. MONO = 7;
  23. BLACK = 0; (* normal colors *)
  24. BLUE = 1;
  25. GREEN = 2;
  26. CYAN = 3;
  27. RED = 4;
  28. MAGENTA = 5;
  29. BROWN = 6;
  30. LIGHTGRAY = 7;
  31. DARKGRAY = 8;
  32. LIGHTBLUE = 9;
  33. LIGHTGREEN = 10;
  34. LIGHTCYAN = 11;
  35. LIGHTRED = 12;
  36. LIGHTMAGENTA = 13;
  37. YELLOW = 14;
  38. WHITE = 15;
  39. BLINK = 128; (* blink bit *)
  40. TYPE
  41. text_info = RECORD
  42. winleft : SHORTCARD;
  43. wintop : SHORTCARD;
  44. winright : SHORTCARD;
  45. winbottom : SHORTCARD;
  46. attribute : SHORTCARD;
  47. normattr : SHORTCARD;
  48. currmode : SHORTCARD;
  49. screenheight:SHORTCARD;
  50. screenwidth: SHORTCARD;
  51. curx : SHORTCARD;
  52. cury : SHORTCARD;
  53. END;
  54. VAR
  55. directvideo : CARDINAL;
  56. PROCEDURE clreol;
  57. PROCEDURE clrscr;
  58. PROCEDURE delline;
  59. PROCEDURE gettext(left,top,right,bottom:CARDINAL;destin:ADDRESS):CARDINAL;
  60. PROCEDURE gettextinfo(VAR r:text_info);
  61. PROCEDURE gotoxy(x,y:CARDINAL);
  62. PROCEDURE highvideo;
  63. PROCEDURE insline;
  64. PROCEDURE lowvideo;
  65. PROCEDURE movetext(left,top,right,bottom,destleft,desttop:CARDINAL):CARDINAL;
  66. PROCEDURE normvideo;
  67. PROCEDURE puttext(left,top,right,bottom:CARDINAL;source:ADDRESS):CARDINAL;
  68. PROCEDURE textattr(newattr:CARDINAL);
  69. PROCEDURE textbackground(newcolor:CARDINAL);
  70. PROCEDURE textcolor(newcolor:CARDINAL);
  71. PROCEDURE textmode(newmode:INTEGER);
  72. PROCEDURE wherex():CARDINAL;
  73. PROCEDURE wherey():CARDINAL;
  74. PROCEDURE window(left,top,right,bottom:CARDINAL);
  75. PROCEDURE cgets(VAR str:ARRAY OF CHAR):ADDRESS;
  76. PROCEDURE cputs(str:ARRAY OF CHAR);
  77. (* **** Variable number of parameters *)
  78. (*# save *)
  79. (*# call(c_conv=>on, var_arg=>on) *)
  80. PROCEDURE cprintf(format:ARRAY OF CHAR):CARDINAL;
  81. PROCEDURE cscanf(format:ARRAY OF CHAR):CARDINAL;
  82. (*# restore *)
  83. PROCEDURE getch():CARDINAL;
  84. PROCEDURE getche():CARDINAL;
  85. PROCEDURE kbhit():BOOLEAN;
  86. PROCEDURE putch(ch:CARDINAL):INTEGER;
  87. PROCEDURE ungetch(ch:CARDINAL):CARDINAL;
  88. PROCEDURE inportb(port:CARDINAL):BYTE;
  89. PROCEDURE outportb(port:CARDINAL;value:BYTE);
  90. PROCEDURE inportw(port:CARDINAL):WORD;
  91. PROCEDURE outportw(port:CARDINAL;value:WORD);
  92. PROCEDURE geninterrupt(interruptnum:CARDINAL);
  93. PROCEDURE _disable;
  94. PROCEDURE _enable;
  95. END conio.