ncurses.pp 59 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738
  1. {
  2. $Id$
  3. Copyright (c) 1998 by Michael Van Canneyt
  4. member of the Free Pascal development team
  5. Unit to access the ncurses library
  6. See the file COPYING.FPC included in this distribution,
  7. for details about the copyright.
  8. This program is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  11. **********************************************************************}
  12. {
  13. Many thanks to Ken Wright for his patches !
  14. }
  15. unit ncurses;
  16. interface
  17. {$packrecords C}
  18. {$linklib ncurses}
  19. {$linklib c}
  20. { Manually Added types }
  21. Type
  22. Bool = byte;
  23. PINTEGER = ^Longint;
  24. PLongint = ^ longint;
  25. PFILE = pointer;
  26. const
  27. NCURSES_VERSION_MAJOR = 3;
  28. NCURSES_VERSION_MINOR = 0;
  29. NCURSES_VERSION_PATCH = 980228;
  30. NCURSES_VERSION = '3.0';
  31. {
  32. #ifdef NCURSES_NOMACROS
  33. #define NCURSES_ATTR_T attr_t
  34. #endif
  35. #ifndef NCURSES_ATTR_T
  36. #define NCURSES_ATTR_T int
  37. #endif
  38. #ifndef NCURSES_CONST
  39. #define NCURSES_CONST
  40. #endif
  41. }
  42. type
  43. chtype = longint;
  44. pchtype = pchar;
  45. const
  46. CXX_BUILTIN_BOOL = 1;
  47. type
  48. CXX_TYPE_OF_BOOL = char;
  49. Var
  50. COLORS : longint;external name 'COLORS';
  51. COLOR_PAIRS : longint;external name 'COLOR_PAIRS';
  52. const
  53. COLOR_BLACK = 0;
  54. COLOR_RED = 1;
  55. COLOR_GREEN = 2;
  56. COLOR_YELLOW = 3;
  57. COLOR_BLUE = 4;
  58. COLOR_MAGENTA = 5;
  59. COLOR_CYAN = 6;
  60. COLOR_WHITE = 7;
  61. Type
  62. tacs_map = array [char] of chtype;
  63. pacs_map = ^tacs_map;
  64. Var
  65. acs_map : tacs_map;external name 'acs_map';
  66. function ACS_ULCORNER : chtype;
  67. function ACS_LLCORNER : chtype;
  68. function ACS_URCORNER : chtype;
  69. function ACS_LRCORNER : chtype;
  70. function ACS_LTEE : chtype;
  71. function ACS_RTEE : chtype;
  72. function ACS_BTEE : chtype;
  73. function ACS_TTEE : chtype;
  74. function ACS_HLINE : chtype;
  75. function ACS_VLINE : chtype;
  76. function ACS_PLUS : chtype;
  77. function ACS_S1 : chtype;
  78. function ACS_S9 : chtype;
  79. function ACS_DIAMOND : chtype;
  80. function ACS_CKBOARD : chtype;
  81. function ACS_DEGREE : chtype;
  82. function ACS_PLMINUS : chtype;
  83. function ACS_BULLET : chtype;
  84. function ACS_LARROW : chtype;
  85. function ACS_RARROW : chtype;
  86. function ACS_DARROW : chtype;
  87. function ACS_UARROW : chtype;
  88. function ACS_BOARD : chtype;
  89. function ACS_LANTERN : chtype;
  90. function ACS_BLOCK : chtype;
  91. function ACS_S3 : chtype;
  92. function ACS_S7 : chtype;
  93. function ACS_LEQUAL : chtype;
  94. function ACS_GEQUAL : chtype;
  95. function ACS_PI : chtype;
  96. function ACS_NEQUAL : chtype;
  97. function ACS_STERLING : chtype;
  98. {
  99. Line drawing ACS names are of the form ACS_trbl, where t is the top, r
  100. is the right, b is the bottom, and l is the left. t, r, b, and l might
  101. be B (blank), S (single), D (double), or T (thick). The subset defined
  102. here only uses B and S.
  103. }
  104. {
  105. #define ACS_BSSB ACS_ULCORNER
  106. #define ACS_SSBB ACS_LLCORNER
  107. #define ACS_BBSS ACS_URCORNER
  108. #define ACS_SBBS ACS_LRCORNER
  109. #define ACS_SBSS ACS_RTEE
  110. #define ACS_SSSB ACS_LTEE
  111. #define ACS_SSBS ACS_BTEE
  112. #define ACS_BSSS ACS_TTEE
  113. #define ACS_BSBS ACS_HLINE
  114. #define ACS_SBSB ACS_VLINE
  115. #define ACS_SSSS ACS_PLUS
  116. }
  117. Const
  118. ERR = -(1);
  119. OK = 0;
  120. _SUBWIN = $01;
  121. _ENDLINE = $02;
  122. _FULLWIN = $04;
  123. _SCROLLWIN = $08;
  124. _ISPAD = $10;
  125. _HASMOVED = $20;
  126. _WRAPPED = $40;
  127. {
  128. this value is used in the firstchar and lastchar fields to mark
  129. unchanged lines
  130. }
  131. _NOCHANGE = -(1);
  132. {
  133. this value is used in the oldindex field to mark lines created by insertions
  134. and scrolls.
  135. }
  136. _NEWINDEX = -(1);
  137. {
  138. typedef struct screen SCREEN;
  139. typedef struct _win_st WINDOW;
  140. }
  141. type
  142. attr_t = chtype;
  143. ldat = record
  144. text : ^chtype;
  145. firstchar : integer;
  146. lastchar : integer;
  147. oldindex : integer;
  148. end;
  149. _win_st = record
  150. _cury : integer;
  151. _curx : integer;
  152. _maxy : integer;
  153. _maxx : integer;
  154. _begy : integer;
  155. _begx : integer;
  156. _flags : integer;
  157. _attrs : attr_t;
  158. _bkgd : chtype;
  159. _notimeout : bool;
  160. _clear : bool;
  161. _leaveok : bool;
  162. _scroll : bool;
  163. _idlok : bool;
  164. _idcok : bool;
  165. _immed : bool;
  166. _sync : bool;
  167. _use_keypad : bool;
  168. _delay : longint;
  169. _line : ^ldat;
  170. _regtop : integer;
  171. _regbottom : integer;
  172. _parx : longint;
  173. _pary : longint;
  174. _parent : ^WINDOW;
  175. _pad : record
  176. _pad_y : integer;
  177. _pad_x : integer;
  178. _pad_top : integer;
  179. _pad_left : integer;
  180. _pad_bottom : integer;
  181. _pad_right : integer;
  182. end;
  183. _yoffset : integer;
  184. end;
  185. WINDOW = _win_st;
  186. PWINDOW = ^WINDOW;
  187. SCREEN=WINDOW;
  188. PSCREEN = PWINDOW;
  189. var
  190. stdscr : PWINDOW;external name 'stdscr';
  191. curscr : PWINDOW;external name 'curscr';
  192. newscr : PWINDOW;external name 'newscr';
  193. LINES : longint;external name 'LINES';
  194. COLS : longint;external name 'COLS';
  195. TABSIZE : longint;external name 'TABSIZE';
  196. Function define_key(_para1:pchar; _para2:longint):longint; cdecl;
  197. Function keyok(_para1:longint; _para2:bool):longint; cdecl;
  198. Function resizeterm(_para1:longint; _para2:longint):longint; cdecl;
  199. Function use_default_colors:longint; cdecl;
  200. Function wresize(_para1:pWINDOW; _para2:longint; _para3:longint):longint; cdecl;
  201. {
  202. extern char ttytype[];
  203. }
  204. Function baudrate:longint; cdecl;
  205. Function beep:longint; cdecl;
  206. Function can_change_color:bool; cdecl;
  207. Function cbreak:longint; cdecl;
  208. Function clearok(_para1:pWINDOW; _para2:bool):longint; cdecl;
  209. Function color_content(_para1:longint; _para2:plongint; _para3:plongint; _para4:plongint):longint; cdecl;
  210. Function copywin(_para1:pWINDOW; _para2:pWINDOW; _para3:longint; _para4:longint; _para5:longint;
  211. _para6:longint; _para7:longint; _para8:longint; _para9:longint):longint;cdecl;
  212. Function curs_set(_para1:longint):longint; cdecl;
  213. Function def_prog_mode:longint; cdecl;
  214. Function def_shell_mode:longint; cdecl;
  215. Function delay_output(_para1:longint):longint; cdecl;
  216. procedure delscreen(_para1:pSCREEN);cdecl;
  217. Function delwin(_para1:pWINDOW):longint; cdecl;
  218. Function doupdate:longint; cdecl;
  219. Function echo:longint; cdecl;
  220. Function endwin:longint; cdecl;
  221. Function erasechar:char; cdecl;
  222. procedure filter;cdecl;
  223. Function flash:longint; cdecl;
  224. Function flushinp:longint; cdecl;
  225. Function halfdelay(_para1:longint):longint; cdecl;
  226. Function has_colors:bool; cdecl;
  227. Function has_ic:longint; cdecl;
  228. Function has_il:longint; cdecl;
  229. procedure idcok(_para1:pWINDOW; _para2:bool);cdecl;
  230. Function idlok(_para1:pWINDOW; _para2:bool):longint; cdecl;
  231. procedure immedok(_para1:pWINDOW; _para2:bool);cdecl;
  232. Function init_color(_para1:longint; _para2:longint; _para3:longint; _para4:longint):longint; cdecl;
  233. Function init_pair(_para1:longint; _para2:longint; _para3:longint):longint; cdecl;
  234. Function intrflush(_para1:pWINDOW; _para2:bool):longint; cdecl;
  235. Function isendwin:longint; cdecl;
  236. Function is_linetouched(_para1:pWINDOW; _para2:longint):longint; cdecl;
  237. Function is_wintouched(_para1:pWINDOW):longint; cdecl;
  238. Function keypad(_para1:pWINDOW; _para2:bool):longint; cdecl;
  239. Function killchar:char; cdecl;
  240. Function leaveok(_para1:pWINDOW; _para2:bool):longint; cdecl;
  241. Function meta(_para1:pWINDOW; _para2:bool):longint; cdecl;
  242. Function mvcur(_para1:longint; _para2:longint; _para3:longint; _para4:longint):longint; cdecl;
  243. Function mvderwin(_para1:pWINDOW; _para2:longint; _para3:longint):longint; cdecl;
  244. {
  245. extern int mvprintw(int,int,const char ,...)
  246. GCC_PRINTFLIKE(3,4);
  247. extern int mvscanw(int,int,const char ,...)
  248. GCC_SCANFLIKE(3,4);
  249. }
  250. Function mvwin(_para1:pWINDOW; _para2:longint; _para3:longint):longint; cdecl;
  251. {
  252. extern int mvwprintw(WINDOW ,int,int,const char ,...)
  253. GCC_PRINTFLIKE(4,5);
  254. extern int mvwscanw(WINDOW ,int,int,const char ,...)
  255. GCC_SCANFLIKE(4,5);
  256. }
  257. Function napms(_para1:longint):longint; cdecl;
  258. Function nl:longint; cdecl;
  259. Function nocbreak:longint; cdecl;
  260. Function nodelay(_para1:pWINDOW; _para2:bool):longint; cdecl;
  261. Function noecho:longint; cdecl;
  262. Function nonl:longint; cdecl;
  263. Function noqiflush:longint; cdecl;
  264. Function noraw:longint; cdecl;
  265. Function notimeout(_para1:pWINDOW; _para2:bool):longint; cdecl;
  266. Function overlay(_para1:pWINDOW; _para2:pWINDOW):longint; cdecl;
  267. Function overwrite(_para1:pWINDOW; _para2:pWINDOW):longint; cdecl;
  268. Function pair_content(_para1:longint; _para2:plongint; _para3:plongint):longint; cdecl;
  269. Function pechochar(_para1:pWINDOW; _para2:chtype):longint; cdecl;
  270. Function pnoutrefresh(_para1:pWINDOW; _para2:longint; _para3:longint; _para4:longint; _para5:longint;
  271. _para6:longint; _para7:longint):longint;cdecl;
  272. Function prefresh(_para1:pWINDOW; _para2:longint; _para3:longint; _para4:longint; _para5:longint;
  273. _para6:longint; _para7:longint):longint;cdecl;
  274. {
  275. extern int printw(const char ,...)
  276. GCC_PRINTFLIKE(1,2);
  277. }
  278. Function putp(_para1:pchar):longint; cdecl;
  279. Function putwin(_para1:pWINDOW; _para2:pFILE):longint; cdecl;
  280. Function qiflush:longint; cdecl;
  281. Function raw:longint; cdecl;
  282. Function resetty:longint; cdecl;
  283. Function reset_prog_mode:longint; cdecl;
  284. Function reset_shell_mode:longint; cdecl;
  285. {
  286. Function ripoffline(_para1:longint; init:function (_para1:pWINDOW; _para2:longint):longint):longint; cdecl;
  287. }
  288. Function savetty:longint; cdecl;
  289. {
  290. extern int scanw(const char ,...)
  291. GCC_SCANFLIKE(1,2);
  292. }
  293. Function scr_dump(_para1:pchar):longint; cdecl;
  294. Function scr_init(_para1:pchar):longint; cdecl;
  295. Function scrollok(_para1:pWINDOW; _para2:bool):longint; cdecl;
  296. Function scr_restore(_para1:pchar):longint; cdecl;
  297. Function scr_set(_para1:pchar):longint; cdecl;
  298. Function slk_attroff(_para1:attr_t):longint; cdecl;
  299. Function slk_attron(_para1:attr_t):longint; cdecl;
  300. Function slk_attrset(_para1:attr_t):longint; cdecl;
  301. Function slk_attr:attr_t; cdecl;
  302. Function slk_clear:longint; cdecl;
  303. Function slk_init(_para1:longint):longint; cdecl;
  304. Function slk_noutrefresh:longint; cdecl;
  305. Function slk_refresh:longint; cdecl;
  306. Function slk_restore:longint; cdecl;
  307. Function slk_set(_para1:longint; _para2:pchar; _para3:longint):longint; cdecl;
  308. Function slk_touch:longint; cdecl;
  309. Function start_color:longint; cdecl;
  310. Function syncok(_para1:pWINDOW; _para2:bool):longint; cdecl;
  311. Function termattrs:chtype; cdecl;
  312. Function tigetflag(_para1:pchar):longint; cdecl;
  313. Function tigetnum(_para1:pchar):longint; cdecl;
  314. Function derwin (_para1:pWINDOW; _para2:longint; _para3:longint; _para4:longint; _para5:longint):PWINDOW; cdecl;
  315. Function dupwin (_para1:pWINDOW):PWINDOW; cdecl;
  316. Function getwin (_para1:pFILE):PWINDOW; cdecl;
  317. Function initscr :PWINDOW; cdecl;
  318. Function keyname (_para1:longint):pchar; cdecl;
  319. Function longname :pchar; cdecl;
  320. Function newpad (_para1:longint; _para2:longint):PWINDOW; cdecl;
  321. Function newterm (_para1:pchar; _para2:pFILE; _para3:pFILE):PSCREEN; cdecl;
  322. Function newwin (_para1:longint; _para2:longint; _para3:longint; _para4:longint):PWINDOW; cdecl;
  323. Function set_term (_para1:pSCREEN):PSCREEN; cdecl;
  324. Function slk_label (_para1:longint):pchar; cdecl;
  325. Function subpad (_para1:pWINDOW; _para2:longint; _para3:longint; _para4:longint; _para5:longint):PWINDOW; cdecl;
  326. Function subwin (_para1:pWINDOW; _para2:longint; _para3:longint; _para4:longint; _para5:longint):PWINDOW; cdecl;
  327. Function termname :pchar; cdecl;
  328. Function tigetstr (_para1:pchar):pchar; cdecl;
  329. Function typeahead(_para1:longint):longint; cdecl;
  330. Function ungetch(_para1:longint):longint; cdecl;
  331. procedure use_env(_para1:bool);cdecl;
  332. Function vidattr(_para1:chtype):longint; cdecl;
  333. {
  334. Function vidputs(_para1:chtype; _para2:function (_para1:longint):longint):longint; cdecl;
  335. }
  336. {
  337. Function vwprintw(_para1:pWINDOW; _para2:pchar; _para3:va_list):longint; cdecl;
  338. Function vwscanw(_para1:pWINDOW; _para2:pchar; _para3:va_list):longint; cdecl;
  339. }
  340. Function waddch(_para1:pWINDOW; _para2:chtype):longint; cdecl;
  341. Function waddchnstr(_para1:pWINDOW; _para2:pchtype; _para3:longint):longint; cdecl;
  342. Function waddnstr(_para1:pWINDOW; _para2:pchar; _para3:longint):longint; cdecl;
  343. Function wattr_on(_para1:pWINDOW; _para2:attr_t):longint; cdecl;
  344. Function wattr_off(_para1:pWINDOW; _para2:attr_t):longint; cdecl;
  345. Function wbkgd(_para1:pWINDOW; _para2:chtype):longint; cdecl;
  346. procedure wbkgdset(_para1:pWINDOW; _para2:chtype);cdecl;
  347. Function wborder(_para1:pWINDOW; _para2:chtype; _para3:chtype; _para4:chtype; _para5:chtype;
  348. _para6:chtype; _para7:chtype; _para8:chtype; _para9:chtype):longint;cdecl;
  349. Function wchgat(_para1:pWINDOW; _para2:longint; _para3:attr_t; _para4:longint; _para5:pointer):longint; cdecl;
  350. Function wclear(_para1:pWINDOW):longint; cdecl;
  351. Function wclrtobot(_para1:pWINDOW):longint; cdecl;
  352. Function wclrtoeol(_para1:pWINDOW):longint; cdecl;
  353. procedure wcursyncup(_para1:pWINDOW);cdecl;
  354. Function wdelch(_para1:pWINDOW):longint; cdecl;
  355. Function wechochar(_para1:pWINDOW; _para2:chtype):longint; cdecl;
  356. Function werase(_para1:pWINDOW):longint; cdecl;
  357. Function wgetch(_para1:pWINDOW):longint; cdecl;
  358. Function wgetnstr(_para1:pWINDOW; _para2:pchar; _para3:longint):longint; cdecl;
  359. Function whline(_para1:pWINDOW; _para2:chtype; _para3:longint):longint; cdecl;
  360. Function winch (win : PWindow) : longint;
  361. Function winchnstr(_para1:pWINDOW; _para2:pchtype; _para3:longint):longint; cdecl;
  362. Function winnstr(_para1:pWINDOW; _para2:pchar; _para3:longint):longint; cdecl;
  363. Function winsch(_para1:pWINDOW; _para2:chtype):longint; cdecl;
  364. Function winsdelln(_para1:pWINDOW; _para2:longint):longint; cdecl;
  365. Function winsnstr(_para1:pWINDOW; _para2:pchar; _para3:longint):longint; cdecl;
  366. Function wmove(_para1:pWINDOW; _para2:longint; _para3:longint):longint; cdecl;
  367. Function wnoutrefresh(_para1:pWINDOW):longint; cdecl;
  368. {
  369. extern int wprintw(WINDOW ,const char ,...)
  370. GCC_PRINTFLIKE(2,3);
  371. }
  372. Function wredrawln(_para1:pWINDOW; _para2:longint; _para3:longint):longint; cdecl;
  373. Function wrefresh(_para1:pWINDOW):longint; cdecl;
  374. {
  375. extern int wscanw(WINDOW ,const char ,...)
  376. GCC_SCANFLIKE(2,3);
  377. }
  378. Function wscrl(_para1:pWINDOW; _para2:longint):longint; cdecl;
  379. Function wsetscrreg(_para1:pWINDOW; _para2:longint; _para3:longint):longint; cdecl;
  380. procedure wsyncdown(_para1:pWINDOW);cdecl;
  381. procedure wsyncup(_para1:pWINDOW);cdecl;
  382. Function wtimeout(_para1:pWINDOW; _para2:longint):longint; cdecl;
  383. Function wtouchln(_para1:pWINDOW; _para2:longint; _para3:longint; _para4:longint):longint; cdecl;
  384. Function wvline(_para1:pWINDOW; _para2:chtype; _para3:longint):longint; cdecl;
  385. Function mvwchgat(_para1:pWINDOW; _para2:longint; _para3:longint;
  386. _para4:longint; _para5:longint; _para6:longint;
  387. _para7:longint):longint;Cdecl;
  388. const
  389. A_NORMAL = 0;
  390. A_ATTRIBUTES = (not 0) shl 8;
  391. A_CHARTEXT=(1 shl (0 + 8)) - 1;
  392. A_COLOR=((1 shl 8) - 1) shl 8;
  393. A_STANDOUT = 1 shl (8 + 8);
  394. A_UNDERLINE = 1 shl (9 + 8);
  395. A_REVERSE = 1 shl (10 + 8);
  396. A_BLINK = 1 shl (11 + 8);
  397. A_DIM = 1 shl (12 + 8);
  398. A_BOLD = 1 shl (13 + 8);
  399. A_ALTCHARSET = 1 shl (14 + 8);
  400. A_INVIS = 1 shl (15 + 8);
  401. A_PROTECT = 1 shl (16 + 8);
  402. A_HORIZONTAL = 1 shl (17 + 8);
  403. A_LEFT = 1 shl (18 + 8);
  404. A_LOW = 1 shl (19 + 8);
  405. A_RIGHT = 1 shl (20 + 8);
  406. A_TOP = 1 shl (21 + 8);
  407. A_VERTICAL = 1 shl (22 + 8);
  408. Function color_pair(n : longint): longint;
  409. {
  410. PAIR_NUMBER = (a(@(A_COLOR))) shr 8;
  411. }
  412. {
  413. pseudo functions
  414. }
  415. function wgetstr(w : pwindow;s : pchar) : longint;
  416. function getnstr(s : pchar;n : longint) : longint;
  417. function setterm(term : longint) : longint;
  418. function fixterm : longint;
  419. function resetterm : longint;
  420. function saveterm : longint;
  421. function crmode : longint;
  422. function nocrmode : longint;
  423. procedure getyx (win : pwindow; var y,x : longint);
  424. procedure getbegyx(win : pwindow; var y,x : longint);
  425. procedure getmaxyx(win : pwindow; var y,x : longint);
  426. procedure getparyx(win : pwindow; var y,x : longint);
  427. Procedure getsyx (var y,x : longint);
  428. procedure setsyx (y,x : longint);
  429. function getattrs(win : pwindow) : longint;
  430. function getcurx(win : pwindow) : longint;
  431. function getcury(win : pwindow) : longint;
  432. function getbegx(win : pwindow) : longint;
  433. function getbegy(win : pwindow) : longint;
  434. function getmaxx(win : pwindow) : longint;
  435. function getmaxy(win : pwindow) : longint;
  436. function getparx(win : pwindow) : longint;
  437. function getpary(win : pwindow) : longint;
  438. function wstandout(win : pwindow) : longint;
  439. function wstandend(win : pwindow) : longint;
  440. function wattr_set(win : pwindow; at : longint) : longint;
  441. function wattron(win : pwindow;at : longint) : longint;
  442. function wattroff(win : pwindow;at : longint) : longint;
  443. function wattrset(win : pwindow;at : longint) : longint;
  444. function scroll(win : pwindow) : longint;
  445. function touchwin(win : pwindow) : longint;
  446. function touchline(win : pwindow;s,c : longint) : longint;
  447. function untouchwin(win : pwindow) : longint;
  448. function box(win : pwindow;v,h : longint) : longint;
  449. function border(ls,rs,ts,bs,tl,tr,bl,br : longint) : longint;
  450. function hline(ch,n : longint) : longint;
  451. function vline(ch,n : longint) : longint;
  452. function winstr(w : pwindow;s : pchar) : longint;
  453. function winchstr(w : pwindow;s : pchar) : longint;
  454. function winsstr(w : pwindow;s : pchar) : longint;
  455. function redrawwin(w : pwindow) : longint;
  456. function waddstr(win : pwindow;st : pchar) : longint;
  457. function waddchstr(win : pwindow;st : pchar) : longint;
  458. {
  459. pseudo functions for standard screen
  460. }
  461. function addch(ch : longint) : longint;
  462. function addchnstr(st : pchar;n : longint) : longint;
  463. function addchstr(st : pchar) : longint;
  464. function addnstr(st : pchar;n : longint) : longint;
  465. function addstr(st : pchar) : longint;
  466. function attroff(at : longint) : longint;
  467. function attron(at : longint) : longint;
  468. function attrset(at : longint) : longint;
  469. function bkgd(ch : longint) : longint;
  470. procedure bkgdset(ch : longint);
  471. function clear : longint;
  472. function clrtobot : longint;
  473. function clrtoeol : longint;
  474. function delch : longint;
  475. function deleteln : longint;
  476. function echochar(c : longint) : longint;
  477. function erase : longint;
  478. function getch : longint;
  479. function getstr(st : pchar) : longint;
  480. function inch : longint;
  481. function inchnstr(s : pchar;n : longint) : longint;
  482. function inchstr(s : pchar) : longint;
  483. function innstr(s : pchar;n : longint) : longint;
  484. function insch(c : longint) : longint;
  485. function insdelln(n : longint) : longint;
  486. function insertln : longint;
  487. function insnstr(s : pchar;n : longint) : longint;
  488. function insstr(s : pchar) : longint;
  489. function instr(s : pchar) : longint;
  490. function move(y,x : longint) : longint;
  491. function refresh : longint;
  492. function scrl(n : longint) : longint;
  493. function setscrreg(t,b : longint) : longint;
  494. function standend : longint;
  495. function standout : longint;
  496. function timeout(delay : longint) : longint;
  497. function wdeleteln(win : pwindow) : longint;
  498. function winsertln(win : pwindow) : longint;
  499. {
  500. mv functions
  501. }
  502. function mvwaddch(win : pwindow;y,x : longint; ch : chtype) : longint;
  503. function mvwaddchnstr(win : pwindow;y,x : longint;st : pchar;n : longint) : longint;
  504. function mvwaddchstr(win : pwindow;y,x : longint;st : pchar) : longint;
  505. function mvwaddnstr(win : pwindow;y,x : longint;st : pchar;n : longint) : longint;
  506. function mvwaddstr(win : pwindow;y,x : longint;st : pchar) : longint;
  507. function mvwdelch(win : pwindow;y,x : longint) : longint;
  508. function mvwgetch(win : pwindow;y,x : longint) : longint;
  509. function mvwgetnstr(win : pwindow;y,x : longint;st : pchar;n: longint) : longint;
  510. function mvwgetstr(win : pwindow;y,x : longint;st: pchar) : longint;
  511. function mvwhline(win : pwindow;y,x : longint;c : chtype;n : longint) : longint;
  512. function mvwinch(win : pwindow;y,x : longint) : longint;
  513. function mvwinchnstr(win : pwindow;y,x : longint;s : pchar; n : longint) : longint;
  514. function mvwinchstr(win : pwindow;y,x : longint;s : pchar) : longint;
  515. function mvwinnstr(win : pwindow;y,x : longint;s : pchar;n : longint) : longint;
  516. function mvwinsch(win : pwindow;y,x : longint;c : chtype) : longint;
  517. function mvwinsnstr(win : pwindow;y,x : longint;s : pchar;n : longint) : longint;
  518. function mvwinsstr(win : pwindow;y,x : longint;s : pchar) : longint;
  519. function mvwinstr(win : pwindow;y,x : longint;s : pchar) : longint;
  520. function mvwvline(win : pwindow;y,x : longint;c : chtype;n : longint) : longint;
  521. function mvaddch(y,x,ch : longint) : longint;
  522. function mvaddchnstr(y,x : longint; st: pchar;n : longint) : longint;
  523. function mvaddchstr(y,x : longint; st : pchar) : longint;
  524. function mvaddnstr(y,x : longint; st : pchar;n : longint) : longint;
  525. function mvaddstr(y,x : longint; st : pchar) : longint;
  526. function mvdelch(y,x : longint) : longint;
  527. function mvgetch(y,x : longint) : longint;
  528. function mvgetnstr(y,x : longint; st : pchar;n : longint) : longint;
  529. function mvgetstr(y,x : longint; st : pchar) : longint;
  530. function mvhline(y,x : longint;c : chtype;n : longint) : longint;
  531. function mvinch(y,x : longint) : longint;
  532. function mvinchnstr(y,x : longint; s : pchar;n : longint) : longint;
  533. function mvinchstr(y,x : longint; s : pchar) : longint;
  534. function mvinnstr(y,x : longint; s : pchar;n : longint) : longint;
  535. function mvinsch(y,x: longint;c : chtype) : longint;
  536. function mvinsnstr(y,x : longint; s : pchar;n : longint) : longint;
  537. function mvinsstr(y,x : longint; s : pchar) : longint;
  538. function mvinstr(y,x : longint; s : pchar) : longint;
  539. function mvvline(y,x,c,n : longint) : longint;
  540. function attr_get : longint;
  541. function attr_off(a : longint) : longint;
  542. function attr_on(a : longint) : longint;
  543. function attr_set(a : longint) : longint;
  544. function box_set(w : pwindow;v,h : longint) : longint;
  545. function chgat(n,a,c,o : longint) : longint;
  546. function getbkgd(win : pwindow) : longint;
  547. function hline_set(c,n : longint) : longint;
  548. function slk_attr_off(a : longint) : longint;
  549. function slk_attr_on(a : longint) : longint;
  550. function slk_attr_set(a : longint) : longint;
  551. function vid_attr(a : longint) : longint;
  552. function vline_set(c,n : longint) : longint;
  553. function wattr_get(win : pwindow) : longint;
  554. {
  555. Pseudo-character tokens outside ASCII range. The curses wgetch() function
  556. will return any given one of these only if the corresponding k- capability
  557. is defined in your terminal's terminfo entry.
  558. }
  559. const {octal}
  560. KEY_CODE_YES = 256; {0400}
  561. KEY_MIN = 257; {0401}
  562. KEY_BREAK = 257; {0401}
  563. KEY_DOWN = 258; {0402}
  564. KEY_UP = 259; {0403}
  565. KEY_LEFT = 260; {0404}
  566. KEY_RIGHT = 261; {0405}
  567. KEY_HOME = 262; {0406}
  568. KEY_BACKSPACE = 263; {0407}
  569. KEY_F0 = 264; {0410}
  570. function KEY_F(n : longint) : longint;
  571. const
  572. KEY_DL = 328; {0510}
  573. KEY_IL = 329; {0511}
  574. KEY_DC = 330; {0512}
  575. KEY_IC = 331; {0513}
  576. KEY_EIC = 332; {0514}
  577. KEY_CLEAR = 333; {0515}
  578. KEY_EOS = 334; {0516}
  579. KEY_EOL = 335; {0517}
  580. KEY_SF = 336; {0520}
  581. KEY_SR = 337; {0521}
  582. KEY_NPAGE = 338; {0522}
  583. KEY_PPAGE = 339; {0523}
  584. KEY_STAB = 340; {0524}
  585. KEY_CTAB = 341; {0525}
  586. KEY_CATAB = 342; {0526}
  587. KEY_ENTER = 343; {0527}
  588. KEY_SRESET = 344; {0530}
  589. KEY_RESET = 345; {0531}
  590. KEY_PRINT = 346; {0532}
  591. KEY_LL = 347; {0533}
  592. KEY_A1 = 348; {0534}
  593. KEY_A3 = 349; {0535}
  594. KEY_B2 = 350; {0536}
  595. KEY_C1 = 351; {0537}
  596. KEY_C3 = 352; {0540}
  597. KEY_BTAB = 353; {0541}
  598. KEY_BEG = 354; {0542}
  599. KEY_CANCEL = 355; {0543}
  600. KEY_CLOSE = 356; {0544}
  601. KEY_COMMAND = 357; {0545}
  602. KEY_COPY = 358; {0546}
  603. KEY_CREATE = 359; {0547}
  604. KEY_END = 360; {0550}
  605. KEY_EXIT = 361; {0551}
  606. KEY_FIND = 362; {0552}
  607. KEY_HELP = 363; {0553}
  608. KEY_MARK = 364; {0554}
  609. KEY_MESSAGE = 365; {0555}
  610. KEY_MOVE = 366; {0556}
  611. KEY_NEXT = 367; {0557}
  612. KEY_OPEN = 368; {0560}
  613. KEY_OPTIONS = 369; {0561}
  614. KEY_PREVIOUS = 370; {0562}
  615. KEY_REDO = 371; {0563}
  616. KEY_REFERENCE = 372; {0564}
  617. KEY_REFRESH = 373; {0565}
  618. KEY_REPLACE = 374; {0566}
  619. KEY_RESTART = 375; {0567}
  620. KEY_RESUME = 376; {0570}
  621. KEY_SAVE = 377; {0571}
  622. KEY_SBEG = 378; {0572}
  623. KEY_SCANCEL = 379; {0573}
  624. KEY_SCOMMAND = 380; {0574}
  625. KEY_SCOPY = 381; {0575}
  626. KEY_SCREATE = 382; {0576}
  627. KEY_SDC = 383; {0577}
  628. KEY_SDL = 384; {0600}
  629. KEY_SELECT = 385; {0601}
  630. KEY_SEND = 386; {0602}
  631. KEY_SEOL = 387; {0603}
  632. KEY_SEXIT = 388; {0604}
  633. KEY_SFIND = 389; {0605}
  634. KEY_SHELP = 390; {0606}
  635. KEY_SHOME = 391; {0607}
  636. KEY_SIC = 392; {0610}
  637. KEY_SLEFT = 393; {0611}
  638. KEY_SMESSAGE = 394; {0612}
  639. KEY_SMOVE = 395; {0613}
  640. KEY_SNEXT = 396; {0614}
  641. KEY_SOPTIONS = 397; {0615}
  642. KEY_SPREVIOUS = 398; {0616}
  643. KEY_SPRINT = 399; {0617}
  644. KEY_SREDO = 400; {0620}
  645. KEY_SREPLACE = 401; {0621}
  646. KEY_SRIGHT = 402; {0622}
  647. KEY_SRSUME = 403; {0623}
  648. KEY_SSAVE = 404; {0624}
  649. KEY_SSUSPEND = 405; {0625}
  650. KEY_SUNDO = 406; {0626}
  651. KEY_SUSPEND = 407; {0627}
  652. KEY_UNDO = 408; {0630}
  653. KEY_MOUSE = 409; {0631}
  654. KEY_RESIZE = 410; {0632}
  655. KEY_MAX = 511; {0777}
  656. function mcprint(_para1:pchar; _para2:longint):longint;cdecl;
  657. function has_key(_para1:longint):longint;cdecl;
  658. implementation
  659. const External_library='';
  660. function define_key(_para1:pchar; _para2:longint):longint;Cdecl; External;
  661. function keyok(_para1:longint; _para2:bool):longint;Cdecl; External;
  662. function resizeterm(_para1:longint; _para2:longint):longint;Cdecl; External;
  663. function use_default_colors:longint;Cdecl; External;
  664. function wresize(_para1:pWINDOW; _para2:longint; _para3:longint):longint;Cdecl; External;
  665. function baudrate:longint;Cdecl; External;
  666. function beep:longint;Cdecl; External;
  667. function can_change_color:bool;Cdecl; External;
  668. function cbreak:longint;Cdecl; External;
  669. function clearok(_para1:pWINDOW; _para2:bool):longint;Cdecl; External;
  670. function color_content(_para1:longint; _para2:plongint; _para3:plongint; _para4:plongint):longint;Cdecl; External;
  671. function copywin(_para1:pWINDOW; _para2:pWINDOW; _para3:longint; _para4:longint; _para5:longint;
  672. _para6:longint; _para7:longint; _para8:longint; _para9:longint):longint;Cdecl; External;
  673. function curs_set(_para1:longint):longint;Cdecl; External;
  674. function def_prog_mode:longint;Cdecl; External;
  675. function def_shell_mode:longint;Cdecl; External;
  676. function delay_output(_para1:longint):longint;Cdecl; External;
  677. procedure delscreen(_para1:pSCREEN);Cdecl; External;
  678. function delwin(_para1:pWINDOW):longint;Cdecl; External;
  679. function doupdate:longint;Cdecl; External;
  680. function echo:longint;Cdecl; External;
  681. function endwin:longint;Cdecl; External;
  682. function erasechar:char;Cdecl; External;
  683. procedure filter;Cdecl; External;
  684. function flash:longint;Cdecl; External;
  685. function flushinp:longint;Cdecl; External;
  686. function halfdelay(_para1:longint):longint;Cdecl; External;
  687. function has_colors:bool;Cdecl; External;
  688. function has_ic:longint;Cdecl; External;
  689. function has_il:longint;Cdecl; External;
  690. procedure idcok(_para1:pWINDOW; _para2:bool);Cdecl; External;
  691. function idlok(_para1:pWINDOW; _para2:bool):longint;Cdecl; External;
  692. procedure immedok(_para1:pWINDOW; _para2:bool);Cdecl; External;
  693. function init_color(_para1:longint; _para2:longint; _para3:longint; _para4:longint):longint;Cdecl; External;
  694. function init_pair(_para1:longint; _para2:longint; _para3:longint):longint;Cdecl; External;
  695. function intrflush(_para1:pWINDOW; _para2:bool):longint;Cdecl; External;
  696. function isendwin:longint;Cdecl; External;
  697. function is_linetouched(_para1:pWINDOW; _para2:longint):longint;Cdecl; External;
  698. function is_wintouched(_para1:pWINDOW):longint;Cdecl; External;
  699. function keypad(_para1:pWINDOW; _para2:bool):longint;Cdecl; External;
  700. function killchar:char;Cdecl; External;
  701. function leaveok(_para1:pWINDOW; _para2:bool):longint;Cdecl; External;
  702. function meta(_para1:pWINDOW; _para2:bool):longint;Cdecl; External;
  703. function mvcur(_para1:longint; _para2:longint; _para3:longint; _para4:longint):longint;Cdecl; External;
  704. function mvderwin(_para1:pWINDOW; _para2:longint; _para3:longint):longint;Cdecl; External;
  705. function mvwin(_para1:pWINDOW; _para2:longint; _para3:longint):longint;Cdecl; External;
  706. function napms(_para1:longint):longint;Cdecl; External;
  707. function nl:longint;Cdecl; External;
  708. function nocbreak:longint;Cdecl; External;
  709. function nodelay(_para1:pWINDOW; _para2:bool):longint;Cdecl; External;
  710. function noecho:longint;Cdecl; External;
  711. function nonl:longint;Cdecl; External;
  712. function noqiflush:longint;Cdecl; External;
  713. function noraw:longint;Cdecl; External;
  714. function notimeout(_para1:pWINDOW; _para2:bool):longint;Cdecl; External;
  715. function overlay(_para1:pWINDOW; _para2:pWINDOW):longint;Cdecl; External;
  716. function overwrite(_para1:pWINDOW; _para2:pWINDOW):longint;Cdecl; External;
  717. function pair_content(_para1:longint; _para2:plongint; _para3:plongint):longint;Cdecl; External;
  718. function pechochar(_para1:pWINDOW; _para2:chtype):longint;Cdecl; External;
  719. function pnoutrefresh(_para1:pWINDOW; _para2:longint; _para3:longint; _para4:longint; _para5:longint;
  720. _para6:longint; _para7:longint):longint;Cdecl; External;
  721. function prefresh(_para1:pWINDOW; _para2:longint; _para3:longint; _para4:longint; _para5:longint;
  722. _para6:longint; _para7:longint):longint;Cdecl; External;
  723. function putp(_para1:pchar):longint;Cdecl; External;
  724. function putwin(_para1:pWINDOW; _para2:pFILE):longint;Cdecl; External;
  725. function qiflush:longint;Cdecl; External;
  726. function raw:longint;Cdecl; External;
  727. function resetty:longint;Cdecl; External;
  728. function reset_prog_mode:longint;Cdecl; External;
  729. function reset_shell_mode:longint;Cdecl; External;
  730. {
  731. function ripoffline(_para1:longint; init:function (_para1:pWINDOW; _para2:longint):longint):longint;Cdecl; External;
  732. }
  733. function savetty:longint;Cdecl; External;
  734. function scr_dump(_para1:pchar):longint;Cdecl; External;
  735. function scr_init(_para1:pchar):longint;Cdecl; External;
  736. function scrollok(_para1:pWINDOW; _para2:bool):longint;Cdecl; External;
  737. function scr_restore(_para1:pchar):longint;Cdecl; External;
  738. function scr_set(_para1:pchar):longint;Cdecl; External;
  739. function slk_attroff(_para1:attr_t):longint;Cdecl; External;
  740. function slk_attron(_para1:attr_t):longint;Cdecl; External;
  741. function slk_attrset(_para1:attr_t):longint;Cdecl; External;
  742. function slk_attr:attr_t;Cdecl; External;
  743. function slk_clear:longint;Cdecl; External;
  744. function slk_init(_para1:longint):longint;Cdecl; External;
  745. function slk_noutrefresh:longint;Cdecl; External;
  746. function slk_refresh:longint;Cdecl; External;
  747. function slk_restore:longint;Cdecl; External;
  748. function slk_set(_para1:longint; _para2:pchar; _para3:longint):longint;Cdecl; External;
  749. function slk_touch:longint;Cdecl; External;
  750. function start_color:longint;Cdecl; External;
  751. function syncok(_para1:pWINDOW; _para2:bool):longint;Cdecl; External;
  752. function termattrs:chtype;Cdecl; External;
  753. function tigetflag(_para1:pchar):longint;Cdecl; External;
  754. function tigetnum(_para1:pchar):longint;Cdecl; External;
  755. function typeahead(_para1:longint):longint;Cdecl; External;
  756. function ungetch(_para1:longint):longint;Cdecl; External;
  757. procedure use_env(_para1:bool);Cdecl; External;
  758. function vidattr(_para1:chtype):longint;Cdecl; External;
  759. {
  760. function vidputs(_para1:chtype; _para2:function (_para1:longint):longint):longint;Cdecl; External;
  761. function vwprintw(_para1:pWINDOW; _para2:pchar; _para3:va_list):longint;Cdecl; External;
  762. function vwscanw(_para1:pWINDOW; _para2:pchar; _para3:va_list):longint;Cdecl; External;
  763. }
  764. function waddch(_para1:pWINDOW; _para2:chtype):longint;Cdecl; External;
  765. function waddchnstr(_para1:pWINDOW; _para2:pchtype; _para3:longint):longint;Cdecl; External;
  766. function waddnstr(_para1:pWINDOW; _para2:pchar; _para3:longint):longint;Cdecl; External;
  767. function wattr_on(_para1:pWINDOW; _para2:attr_t):longint;Cdecl; External;
  768. function wattr_off(_para1:pWINDOW; _para2:attr_t):longint;Cdecl; External;
  769. function wbkgd(_para1:pWINDOW; _para2:chtype):longint;Cdecl; External;
  770. procedure wbkgdset(_para1:pWINDOW; _para2:chtype);Cdecl; External;
  771. function wborder(_para1:pWINDOW; _para2:chtype; _para3:chtype; _para4:chtype; _para5:chtype;
  772. _para6:chtype; _para7:chtype; _para8:chtype; _para9:chtype):longint;Cdecl; External;
  773. function wchgat(_para1:pWINDOW; _para2:longint; _para3:attr_t; _para4:longint; _para5:pointer):longint;Cdecl; External;
  774. function wclear(_para1:pWINDOW):longint;Cdecl; External;
  775. function wclrtobot(_para1:pWINDOW):longint;Cdecl; External;
  776. function wclrtoeol(_para1:pWINDOW):longint;Cdecl; External;
  777. procedure wcursyncup(_para1:pWINDOW);Cdecl; External;
  778. function wdelch(_para1:pWINDOW):longint;Cdecl; External;
  779. function wechochar(_para1:pWINDOW; _para2:chtype):longint;Cdecl; External;
  780. function werase(_para1:pWINDOW):longint;Cdecl; External;
  781. function wgetch(_para1:pWINDOW):longint;Cdecl; External;
  782. function wgetnstr(_para1:pWINDOW; _para2:pchar; _para3:longint):longint;Cdecl; External;
  783. function whline(_para1:pWINDOW; _para2:chtype; _para3:longint):longint;Cdecl; External;
  784. function winchnstr(_para1:pWINDOW; _para2:pchtype; _para3:longint):longint;Cdecl; External;
  785. function winnstr(_para1:pWINDOW; _para2:pchar; _para3:longint):longint;Cdecl; External;
  786. function winsch(_para1:pWINDOW; _para2:chtype):longint;Cdecl; External;
  787. function winsdelln(_para1:pWINDOW; _para2:longint):longint;Cdecl; External;
  788. function winsnstr(_para1:pWINDOW; _para2:pchar; _para3:longint):longint;Cdecl; External;
  789. function wmove(_para1:pWINDOW; _para2:longint; _para3:longint):longint;Cdecl; External;
  790. function wnoutrefresh(_para1:pWINDOW):longint;Cdecl; External;
  791. function wredrawln(_para1:pWINDOW; _para2:longint; _para3:longint):longint;Cdecl; External;
  792. function wrefresh(_para1:pWINDOW):longint;Cdecl; External;
  793. function wscrl(_para1:pWINDOW; _para2:longint):longint;Cdecl; External;
  794. function wsetscrreg(_para1:pWINDOW; _para2:longint; _para3:longint):longint;Cdecl; External;
  795. procedure wsyncdown(_para1:pWINDOW);Cdecl; External;
  796. procedure wsyncup(_para1:pWINDOW);Cdecl; External;
  797. function wtimeout(_para1:pWINDOW; _para2:longint):longint;Cdecl; External;
  798. function wtouchln(_para1:pWINDOW; _para2:longint; _para3:longint; _para4:longint):longint;Cdecl; External;
  799. function wvline(_para1:pWINDOW; _para2:chtype; _para3:longint):longint;Cdecl; External;
  800. function mvwchgat(_para1:pWINDOW; _para2:longint; _para3:longint;
  801. _para4:longint; _para5:longint; _para6:longint;
  802. _para7:longint):longint;Cdecl; External;
  803. function wgetstr(w : pwindow;s : pchar) : longint;
  804. begin
  805. wgetstr:=wgetnstr(w,s,-(1));
  806. end;
  807. function getnstr(s : pchar;n : longint) : longint;
  808. begin
  809. getnstr:=wgetnstr(stdscr,s,n);
  810. end;
  811. function setterm(term : longint) : longint;
  812. begin
  813. {
  814. setterm:=setupterm(term,1,plongint(0));
  815. }
  816. end;
  817. function fixterm : longint;
  818. begin
  819. fixterm:=reset_prog_mode;
  820. end;
  821. function resetterm : longint;
  822. begin
  823. resetterm:=reset_shell_mode;
  824. end;
  825. function saveterm : longint;
  826. begin
  827. saveterm:=def_prog_mode;
  828. end;
  829. function crmode : longint;
  830. begin
  831. crmode:=cbreak;
  832. end;
  833. function nocrmode : longint;
  834. begin
  835. nocrmode:=nocbreak;
  836. end;
  837. procedure getsyx(var y,x : longint);
  838. begin
  839. getyx(stdscr,y,x);
  840. end;
  841. function getattrs(win : pwindow) : longint;
  842. var
  843. if_local1 : longint;
  844. begin
  845. if win<>nil then
  846. if_local1:=win^._attrs
  847. else
  848. if_local1:=A_NORMAL;
  849. getattrs:=if_local1;
  850. end;
  851. function getcurx(win : pwindow) : longint;
  852. var
  853. if_local1 : longint;
  854. begin
  855. if win<>nil then
  856. if_local1:=win^._curx
  857. else
  858. if_local1:=ERR;
  859. getcurx:=if_local1;
  860. end;
  861. function getcury(win : pwindow) : longint;
  862. var
  863. if_local1 : longint;
  864. begin
  865. if win<>Nil then
  866. if_local1:=win^._cury
  867. else
  868. if_local1:=ERR;
  869. getcury:=if_local1;
  870. end;
  871. function getbegx(win : pwindow) : longint;
  872. var
  873. if_local1 : longint;
  874. begin
  875. if win<>Nil then
  876. if_local1:=win^._begx
  877. else
  878. if_local1:=ERR;
  879. getbegx:=if_local1;
  880. end;
  881. function getbegy(win : pwindow) : longint;
  882. var
  883. if_local1 : longint;
  884. begin
  885. if win<>Nil then
  886. if_local1:=win^._begy
  887. else
  888. if_local1:=ERR;
  889. getbegy:=if_local1;
  890. end;
  891. function getmaxx(win : pwindow) : longint;
  892. var
  893. if_local1 : longint;
  894. begin
  895. if win<>Nil then
  896. if_local1:=(win^._maxx) + 1
  897. else
  898. if_local1:=ERR;
  899. getmaxx:=if_local1;
  900. end;
  901. function getmaxy(win : pwindow) : longint;
  902. var
  903. if_local1 : longint;
  904. begin
  905. if win<>Nil then
  906. if_local1:=(win^._maxy) + 1
  907. else
  908. if_local1:=ERR;
  909. getmaxy:=if_local1;
  910. end;
  911. function getparx(win : pwindow) : longint;
  912. var
  913. if_local1 : longint;
  914. begin
  915. if win<>Nil then
  916. if_local1:=win^._parx
  917. else
  918. if_local1:=ERR;
  919. getparx:=if_local1;
  920. end;
  921. function getpary(win : pwindow) : longint;
  922. var
  923. if_local1 : longint;
  924. begin
  925. if win<>Nil then
  926. if_local1:=win^._pary
  927. else
  928. if_local1:=ERR;
  929. getpary:=if_local1;
  930. end;
  931. function wstandout(win : pwindow) : longint;
  932. begin
  933. wstandout:=wattr_set(win,A_STANDOUT);
  934. end;
  935. function wstandend(win : pwindow) : longint;
  936. begin
  937. wstandend:=wattr_set(win,A_NORMAL);
  938. end;
  939. function wattron(win : pwindow;at : longint) : longint;
  940. begin
  941. wattron:=wattr_on(win,at);
  942. end;
  943. function wattroff(win : pwindow;at : longint) : longint;
  944. begin
  945. wattroff:=wattr_off(win,at);
  946. end;
  947. function wattrset(win : pwindow;at : longint) : longint;
  948. begin
  949. wattrset:=wattr_set(win,at);
  950. end;
  951. function scroll(win : pwindow) : longint;
  952. begin
  953. scroll:=wscrl(win,1);
  954. end;
  955. function touchwin(win : pwindow) : longint;
  956. begin
  957. touchwin:=wtouchln(win,0,getmaxy(win),1);
  958. end;
  959. function touchline(win : pwindow;s,c : longint) : longint;
  960. begin
  961. touchline:=wtouchln(win,s,c,1);
  962. end;
  963. function untouchwin(win : pwindow) : longint;
  964. begin
  965. untouchwin:=wtouchln(win,0,getmaxy(win),0);
  966. end;
  967. function box(win : pwindow;v,h : longint) : longint;
  968. begin
  969. box:=wborder(win,v,v,h,h,0,0,0,0);
  970. end;
  971. function border(ls,rs,ts,bs,tl,tr,bl,br : longint) : longint;
  972. begin
  973. border:=wborder(stdscr,ls,rs,ts,bs,tl,tr,bl,br);
  974. end;
  975. function hline(ch,n : longint) : longint;
  976. begin
  977. hline:=whline(stdscr,ch,n);
  978. end;
  979. function vline(ch,n : longint) : longint;
  980. begin
  981. vline:=wvline(stdscr,ch,n);
  982. end;
  983. function winstr(w : pwindow;s : pchar) : longint;
  984. begin
  985. winstr:=winnstr(w,s,-(1));
  986. end;
  987. function winchstr(w : pwindow;s : pchar) : longint;
  988. begin
  989. {
  990. winchstr:=winchnstr(w,s,-1);
  991. }
  992. end;
  993. function winsstr(w : pwindow;s : pchar) : longint;
  994. begin
  995. winsstr:=winsnstr(w,s,-(1));
  996. end;
  997. function redrawwin(w : pwindow) : longint;
  998. begin
  999. redrawwin:=wredrawln(w,0,(w^._maxy) + 1);
  1000. end;
  1001. function waddstr(win : pwindow;st : pchar) : longint;
  1002. begin
  1003. waddstr:=waddnstr(win,st,-1);
  1004. end;
  1005. function waddchstr(win : pwindow;st : pchar) : longint;
  1006. begin
  1007. waddchstr:=waddchnstr(win,st,-1);
  1008. end;
  1009. function addch(ch : longint) : longint;
  1010. begin
  1011. addch:=waddch(stdscr,ch);
  1012. end;
  1013. function addchnstr(st : pchar;n : longint) : longint;
  1014. begin
  1015. addchnstr:=waddchnstr(stdscr,st,n);
  1016. end;
  1017. function addchstr(st : pchar) : longint;
  1018. begin
  1019. addchstr:=waddchstr(stdscr,st);
  1020. end;
  1021. function addnstr(st : pchar;n : longint) : longint;
  1022. begin
  1023. addnstr:=waddnstr(stdscr,st,n);
  1024. end;
  1025. function addstr(st : pchar) : longint;
  1026. begin
  1027. addstr:=waddnstr(stdscr,st,-1);
  1028. end;
  1029. function attroff(at : longint) : longint;
  1030. begin
  1031. attroff:=wattroff(stdscr,at);
  1032. end;
  1033. function attron(at : longint) : longint;
  1034. begin
  1035. attron:=wattron(stdscr,at);
  1036. end;
  1037. function attrset(at : longint) : longint;
  1038. begin
  1039. attrset:=wattrset(stdscr,at);
  1040. end;
  1041. function bkgd(ch : longint) : longint;
  1042. begin
  1043. bkgd:=wbkgd(stdscr,ch);
  1044. end;
  1045. procedure bkgdset(ch : longint);
  1046. begin
  1047. wbkgdset(stdscr,ch);
  1048. end;
  1049. function clear : longint;
  1050. begin
  1051. clear:=wclear(stdscr);
  1052. end;
  1053. function clrtobot : longint;
  1054. begin
  1055. clrtobot:=wclrtobot(stdscr);
  1056. end;
  1057. function clrtoeol : longint;
  1058. begin
  1059. clrtoeol:=wclrtoeol(stdscr);
  1060. end;
  1061. function delch : longint;
  1062. begin
  1063. delch:=wdelch(stdscr);
  1064. end;
  1065. function deleteln : longint;
  1066. begin
  1067. deleteln:=winsdelln(stdscr,-1);
  1068. end;
  1069. function echochar(c : longint) : longint;
  1070. begin
  1071. echochar:=wechochar(stdscr,c);
  1072. end;
  1073. function erase : longint;
  1074. begin
  1075. erase:=werase(stdscr);
  1076. end;
  1077. function getch : longint;
  1078. begin
  1079. getch:=wgetch(stdscr);
  1080. end;
  1081. function getstr(st : pchar) : longint;
  1082. begin
  1083. getstr:=wgetstr(stdscr,st);
  1084. end;
  1085. function inch : longint;
  1086. begin
  1087. inch:=winch(stdscr);
  1088. end;
  1089. function inchnstr(s : pchar;n : longint) : longint;
  1090. begin
  1091. inchnstr:=winchnstr(stdscr,s,n);
  1092. end;
  1093. function inchstr(s : pchar) : longint;
  1094. begin
  1095. inchstr:=winchstr(stdscr,s);
  1096. end;
  1097. function innstr(s : pchar;n : longint) : longint;
  1098. begin
  1099. innstr:=winnstr(stdscr,s,n);
  1100. end;
  1101. function insch(c : longint) : longint;
  1102. begin
  1103. insch:=winsch(stdscr,c);
  1104. end;
  1105. function insdelln(n : longint) : longint;
  1106. begin
  1107. insdelln:=winsdelln(stdscr,n);
  1108. end;
  1109. function insertln : longint;
  1110. begin
  1111. insertln:=winsdelln(stdscr,1);
  1112. end;
  1113. function insnstr(s : pchar;n : longint) : longint;
  1114. begin
  1115. insnstr:=winsnstr(stdscr,s,n);
  1116. end;
  1117. function insstr(s : pchar) : longint;
  1118. begin
  1119. insstr:=winsstr(stdscr,s);
  1120. end;
  1121. function instr(s : pchar) : longint;
  1122. begin
  1123. instr:=winstr(stdscr,s);
  1124. end;
  1125. function move(y,x : longint) : longint;
  1126. begin
  1127. move:=wmove(stdscr,y,x);
  1128. end;
  1129. function refresh : longint;
  1130. begin
  1131. refresh:=wrefresh(stdscr);
  1132. end;
  1133. function scrl(n : longint) : longint;
  1134. begin
  1135. scrl:=wscrl(stdscr,n);
  1136. end;
  1137. function setscrreg(t,b : longint) : longint;
  1138. begin
  1139. setscrreg:=wsetscrreg(stdscr,t,b);
  1140. end;
  1141. function standend : longint;
  1142. begin
  1143. standend:=wstandend(stdscr);
  1144. end;
  1145. function standout : longint;
  1146. begin
  1147. standout:=wstandout(stdscr);
  1148. end;
  1149. function timeout(delay : longint) : longint;
  1150. begin
  1151. timeout:=wtimeout(stdscr,delay);
  1152. end;
  1153. function wdeleteln(win : pwindow) : longint;
  1154. begin
  1155. wdeleteln:=winsdelln(win,-1);
  1156. end;
  1157. function winsertln(win : pwindow) : longint;
  1158. begin
  1159. winsertln:=winsdelln(win,1);
  1160. end;
  1161. function mvaddch(y,x,ch : longint) : longint;
  1162. begin
  1163. mvaddch:=mvwaddch(stdscr,y,x,ch);
  1164. end;
  1165. function mvaddchnstr(y,x: longint;st : pchar;n : longint) : longint;
  1166. begin
  1167. mvaddchnstr:=mvwaddchnstr(stdscr,y,x,st,n);
  1168. end;
  1169. function mvaddchstr(y,x : longint;st : pchar) : longint;
  1170. begin
  1171. mvaddchstr:=mvwaddchstr(stdscr,y,x,st);
  1172. end;
  1173. function mvaddnstr(y,x: longint;st : pchar; n : longint) : longint;
  1174. begin
  1175. mvaddnstr:=mvwaddnstr(stdscr,y,x,st,n);
  1176. end;
  1177. function mvaddstr(y,x : longint;st : pchar) : longint;
  1178. begin
  1179. mvaddstr:=mvwaddstr(stdscr,y,x,st);
  1180. end;
  1181. function mvdelch(y,x : longint) : longint;
  1182. begin
  1183. mvdelch:=mvwdelch(stdscr,y,x);
  1184. end;
  1185. function mvgetch(y,x : longint) : longint;
  1186. begin
  1187. mvgetch:=mvwgetch(stdscr,y,x);
  1188. end;
  1189. function mvgetnstr(y,x : longint;st : pchar;n : longint) : longint;
  1190. begin
  1191. mvgetnstr:=mvwgetnstr(stdscr,y,x,st,n);
  1192. end;
  1193. function mvgetstr(y,x: longint;st : pchar) : longint;
  1194. begin
  1195. mvgetstr:=mvwgetstr(stdscr,y,x,st);
  1196. end;
  1197. function mvhline(y,x : longint;c : chtype;n : longint) : longint;
  1198. begin
  1199. mvhline:=mvwhline(stdscr,y,x,c,n);
  1200. end;
  1201. function mvinch(y,x : longint) : longint;
  1202. begin
  1203. mvinch:=mvwinch(stdscr,y,x);
  1204. end;
  1205. function mvinchnstr(y,x : longint;s : pchar;n : longint) : longint;
  1206. begin
  1207. mvinchnstr:=mvwinchnstr(stdscr,y,x,s,n);
  1208. end;
  1209. function mvinchstr(y,x : longint;s : pchar) : longint;
  1210. begin
  1211. mvinchstr:=mvwinchstr(stdscr,y,x,s);
  1212. end;
  1213. function mvinnstr(y,x : longint;s : pchar;n : longint) : longint;
  1214. begin
  1215. mvinnstr:=mvwinnstr(stdscr,y,x,s,n);
  1216. end;
  1217. function mvinsch(y,x: longint;c : chtype) : longint;
  1218. begin
  1219. mvinsch:=mvwinsch(stdscr,y,x,c);
  1220. end;
  1221. function mvinsnstr(y,x : longint;s : pchar;n : longint) : longint;
  1222. begin
  1223. mvinsnstr:=mvwinsnstr(stdscr,y,x,s,n);
  1224. end;
  1225. function mvinsstr(y,x : longint;s : pchar) : longint;
  1226. begin
  1227. mvinsstr:=mvwinsstr(stdscr,y,x,s);
  1228. end;
  1229. function mvinstr(y,x : longint;s : pchar) : longint;
  1230. begin
  1231. mvinstr:=mvwinstr(stdscr,y,x,s);
  1232. end;
  1233. function mvvline(y,x,c,n : longint) : longint;
  1234. begin
  1235. mvvline:=mvwvline(stdscr,y,x,c,n);
  1236. end;
  1237. function attr_get : longint;
  1238. begin
  1239. attr_get:=wattr_get(stdscr);
  1240. end;
  1241. function attr_off(a : longint) : longint;
  1242. begin
  1243. attr_off:=wattr_off(stdscr,a);
  1244. end;
  1245. function attr_on(a : longint) : longint;
  1246. begin
  1247. attr_on:=wattr_on(stdscr,a);
  1248. end;
  1249. function attr_set(a : longint) : longint;
  1250. begin
  1251. attr_set:=wattr_set(stdscr,a);
  1252. end;
  1253. function box_set(w : pwindow;v,h : longint) : longint;
  1254. begin
  1255. {
  1256. box_set:=wborder_set(w,v,v,h,h,0,0,0,9);
  1257. }
  1258. end;
  1259. function chgat(n,a,c,o : longint) : longint;
  1260. begin
  1261. {
  1262. chgat:=wchgat(stdscr,n,a,c,o);
  1263. }
  1264. end;
  1265. function getbkgd(win : pwindow) : longint;
  1266. begin
  1267. getbkgd:=win^._bkgd;
  1268. end;
  1269. function hline_set(c,n : longint) : longint;
  1270. begin
  1271. {
  1272. hline_set:=whline_set(stdscr,c,n);
  1273. }
  1274. end;
  1275. function mvchgat(y,x,n,a,c,o : longint) : longint;
  1276. begin
  1277. mvchgat:=mvwchgat(stdscr,y,x,n,a,c,o);
  1278. end;
  1279. function mvhline_set(y,x,c,n : longint) : longint;
  1280. begin
  1281. {
  1282. mvhline_set:=mvwhline_set(stdscr,y,x,c,n);
  1283. }
  1284. end;
  1285. function mvvline_set(y,x,c,n : longint) : longint;
  1286. begin
  1287. {
  1288. mvvline_set:=mvwvline_set(stdscr,y,x,c,n);
  1289. }
  1290. end;
  1291. function slk_attr_off(a : longint) : longint;
  1292. begin
  1293. slk_attr_off:=slk_attroff(a);
  1294. end;
  1295. function slk_attr_on(a : longint) : longint;
  1296. begin
  1297. slk_attr_on:=slk_attron(a);
  1298. end;
  1299. function slk_attr_set(a : longint) : longint;
  1300. begin
  1301. slk_attr_set:=slk_attrset(a);
  1302. end;
  1303. function vid_attr(a : longint) : longint;
  1304. begin
  1305. vid_attr:=vidattr(a);
  1306. end;
  1307. function vline_set(c,n : longint) : longint;
  1308. begin
  1309. {
  1310. vline_set:=vhline_set(stdscr,c,n);
  1311. }
  1312. end;
  1313. function wattr_get(win : pwindow) : longint;
  1314. begin
  1315. wattr_get:=win^._attrs;
  1316. end;
  1317. function KEY_F(n : longint) : longint;
  1318. begin
  1319. KEY_F:=KEY_F0 + n;
  1320. end;
  1321. function mcprint(_para1:pchar; _para2:longint):longint;Cdecl; External;
  1322. function has_key(_para1:longint):longint;Cdecl; External;
  1323. function derwin (_para1:pWINDOW; _para2:longint; _para3:longint; _para4:longint; _para5:longint):PWINDOW;cdecl; external;
  1324. function dupwin (_para1:pWINDOW):PWINDOW;cdecl; external;
  1325. Function getwin (_para1:pFILE):PWINDOW;cdecl; external;
  1326. function initscr :PWINDOW;cdecl; external;
  1327. function keyname (_para1:longint):pchar;cdecl; external;
  1328. function longname :pchar;cdecl; external;
  1329. function newpad (_para1:longint; _para2:longint):PWINDOW;cdecl; external;
  1330. Function newterm (_para1:pchar; _para2:pFILE; _para3:pFILE):PSCREEN;cdecl; external;
  1331. Function newwin (_para1:longint; _para2:longint; _para3:longint; _para4:longint):PWINDOW;cdecl; external;
  1332. Function set_term (_para1:pSCREEN):PSCREEN;cdecl; external;
  1333. Function slk_label (_para1:longint):pchar;cdecl; external;
  1334. function subpad (_para1:pWINDOW; _para2:longint; _para3:longint; _para4:longint; _para5:longint):PWINDOW;cdecl; external;
  1335. Function subwin (_para1:pWINDOW; _para2:longint; _para3:longint; _para4:longint; _para5:longint):PWINDOW;cdecl; external;
  1336. Function termname :pchar;cdecl; external;
  1337. Function tigetstr (_para1:pchar):pchar;cdecl; external;
  1338. procedure getyx(win : pwindow; var y,x : longint);
  1339. begin
  1340. X:=ERR;
  1341. Y:=ERR;
  1342. if Win<>Nil then
  1343. begin
  1344. Y:=win^._cury;
  1345. X:=Win^._curx;
  1346. end;
  1347. end;
  1348. procedure getbegyx(win : pwindow; var y,x : longint);
  1349. begin
  1350. X:=ERR;
  1351. Y:=ERR;
  1352. if Win<>Nil then
  1353. begin
  1354. Y:=win^._begy;
  1355. X:=Win^._begx;
  1356. end;
  1357. end;
  1358. procedure getmaxyx(win : pwindow; var y,x : longint);
  1359. begin
  1360. X:=ERR;
  1361. Y:=ERR;
  1362. if Win<>Nil then
  1363. begin
  1364. Y:=win^._maxy+1;
  1365. X:=Win^._maxx+1;
  1366. end;
  1367. end;
  1368. procedure getparyx(win : pwindow; var y,x : longint);
  1369. begin
  1370. X:=ERR;
  1371. Y:=ERR;
  1372. if Win<>Nil then
  1373. begin
  1374. Y:=win^._pary;
  1375. X:=Win^._parx;
  1376. end;
  1377. end;
  1378. function winch (win : PWindow) : longint;
  1379. begin
  1380. if win<>nil then
  1381. winch:=win^._line[win^._cury].text[Win^ ._curx]
  1382. else
  1383. winch:=0;
  1384. end;
  1385. function wattr_set(win : pwindow; at : longint) : longint;
  1386. begin
  1387. If win<>nil then
  1388. begin
  1389. win^._attrs := at;
  1390. wattr_set:=at;
  1391. end
  1392. else
  1393. wattr_set:=0;
  1394. end;
  1395. procedure setsyx (y,x : longint);
  1396. begin
  1397. stdscr^._cury := y;
  1398. stdscr^._curx := x;
  1399. end;
  1400. function mvwaddch(win : pwindow;y,x : longint; ch : chtype) : longint;
  1401. begin
  1402. if wmove(win,y,x) = ERR then
  1403. exit(ERR)
  1404. else
  1405. exit(waddch(win,ch))
  1406. end;
  1407. function mvwaddchnstr(win : pwindow;y,x : longint;st : pchar;n : longint) : longint;
  1408. begin
  1409. if wmove (win,y,x)=ERR then
  1410. exit(ERR)
  1411. else
  1412. exit(waddchnstr(win,st,n))
  1413. end;
  1414. function mvwaddchstr(win : pwindow;y,x : longint;st : pchar) : longint;
  1415. begin
  1416. if wmove (win,y,x)=ERR then
  1417. exit(ERR)
  1418. else
  1419. exit(waddchnstr(win,st,-1))
  1420. end;
  1421. function mvwaddnstr(win : pwindow;y,x : longint;st : pchar;n : longint) : longint;
  1422. begin
  1423. if wmove (win,y,x)=ERR then
  1424. exit(ERR)
  1425. else
  1426. exit(waddnstr(win,st,n))
  1427. end;
  1428. function mvwaddstr(win : pwindow;y,x : longint;st : pchar) : longint;
  1429. begin
  1430. if wmove (win,y,x)=ERR then
  1431. exit(ERR)
  1432. else
  1433. exit(waddnstr(win,st,-1))
  1434. end;
  1435. function mvwdelch(win : pwindow;y,x : longint) : longint;
  1436. begin
  1437. if wmove (win,y,x)=ERR then
  1438. exit(ERR)
  1439. else
  1440. exit(wdelch(win))
  1441. end;
  1442. function mvwgetch(win : pwindow;y,x : longint) : longint;
  1443. begin
  1444. if wmove (win,y,x)=ERR then
  1445. exit(ERR)
  1446. else
  1447. exit(wgetch(win))
  1448. end;
  1449. function mvwgetnstr(win : pwindow;y,x : longint;st : pchar;n: longint) : longint;
  1450. begin
  1451. if wmove (win,y,x)=ERR then
  1452. exit(ERR)
  1453. else
  1454. exit(wgetnstr(win,st,n))
  1455. end;
  1456. function mvwgetstr(win : pwindow;y,x : longint;st: pchar) : longint;
  1457. begin
  1458. if wmove (win,y,x)=ERR then
  1459. exit(ERR)
  1460. else
  1461. exit(wgetstr(win,st))
  1462. end;
  1463. function mvwhline(win : pwindow;y,x : longint;c : chtype;n : longint) : longint;
  1464. begin
  1465. if wmove (win,y,x)=ERR then
  1466. exit(ERR)
  1467. else
  1468. exit(whline(win,c,n))
  1469. end;
  1470. function mvwinch(win : pwindow;y,x : longint) : longint;
  1471. begin
  1472. if wmove (win,y,x)=ERR then
  1473. exit(ERR)
  1474. else
  1475. exit(winch(win))
  1476. end;
  1477. function mvwinchnstr(win : pwindow;y,x : longint;s : pchar; n : longint) : longint;
  1478. begin
  1479. if wmove (win,y,x)=ERR then
  1480. exit(ERR)
  1481. else
  1482. exit(winchnstr(win,s,n))
  1483. end;
  1484. function mvwinchstr(win : pwindow;y,x : longint;s : pchar) : longint;
  1485. begin
  1486. if wmove (win,y,x)=ERR then
  1487. exit(ERR)
  1488. else
  1489. exit(winchstr(win,s))
  1490. end;
  1491. function mvwinnstr(win : pwindow;y,x : longint;s : pchar;n : longint) : longint;
  1492. begin
  1493. if wmove (win,y,x)=ERR then
  1494. exit(ERR)
  1495. else
  1496. exit(winnstr(win,s,n))
  1497. end;
  1498. function mvwinsch(win : pwindow;y,x : longint;c : chtype) : longint;
  1499. begin
  1500. if wmove (win,y,x)=ERR then
  1501. exit(ERR)
  1502. else
  1503. exit(winsch(win,c))
  1504. end;
  1505. function mvwinsnstr(win : pwindow;y,x : longint;s : pchar;n : longint) : longint;
  1506. begin
  1507. if wmove (win,y,x)=ERR then
  1508. exit(ERR)
  1509. else
  1510. exit(winsnstr(win,s,n))
  1511. end;
  1512. function mvwinsstr(win : pwindow;y,x : longint;s : pchar) : longint;
  1513. begin
  1514. if wmove (win,y,x)=ERR then
  1515. exit(ERR)
  1516. else
  1517. exit(winsstr(win,s))
  1518. end;
  1519. function mvwinstr(win : pwindow;y,x : longint;s : pchar) : longint;
  1520. begin
  1521. if wmove (win,y,x)=ERR then
  1522. exit(ERR)
  1523. else
  1524. exit(winstr(win,s))
  1525. end;
  1526. function mvwvline(win : pwindow;y,x : longint;c : chtype;n : longint) : longint;
  1527. begin
  1528. if wmove (win,y,x)=ERR then
  1529. exit(ERR)
  1530. else
  1531. exit(wvline(win,c,n))
  1532. end;
  1533. function color_pair(n : longint): longint;
  1534. begin
  1535. color_pair:=n shl 8;
  1536. end;
  1537. function ACS_ULCORNER : chtype;
  1538. begin
  1539. ACS_ULCORNER:=acs_map['l'];
  1540. end;
  1541. function ACS_LLCORNER : chtype;
  1542. begin
  1543. ACS_LLCORNER:=acs_map['m'];
  1544. end;
  1545. function ACS_URCORNER : chtype;
  1546. begin
  1547. ACS_URCORNER:=acs_map['k'];
  1548. end;
  1549. function ACS_LRCORNER : chtype;
  1550. begin
  1551. ACS_LRCORNER:=acs_map['j'];
  1552. end;
  1553. function ACS_LTEE : chtype;
  1554. begin
  1555. ACS_LTEE:=acs_map['t'];
  1556. end;
  1557. function ACS_RTEE : chtype;
  1558. begin
  1559. ACS_RTEE:=acs_map['u'];
  1560. end;
  1561. function ACS_BTEE : chtype;
  1562. begin
  1563. ACS_BTEE:=acs_map['v'];
  1564. end;
  1565. function ACS_TTEE : chtype;
  1566. begin
  1567. ACS_TTEE:=acs_map['w'];
  1568. end;
  1569. function ACS_HLINE : chtype;
  1570. begin
  1571. ACS_HLINE:=acs_map['q'];
  1572. end;
  1573. function ACS_VLINE : chtype;
  1574. begin
  1575. ACS_VLINE:=acs_map['x'];
  1576. end;
  1577. function ACS_PLUS : chtype;
  1578. begin
  1579. ACS_PLUS:=acs_map['n'];
  1580. end;
  1581. function ACS_S1 : chtype;
  1582. begin
  1583. ACS_S1 :=acs_map['o'];
  1584. end;
  1585. function ACS_S9 : chtype;
  1586. begin
  1587. ACS_S9 :=acs_map['s'];
  1588. end;
  1589. function ACS_DIAMOND : chtype;
  1590. begin
  1591. ACS_DIAMOND:=acs_map['`'];
  1592. end;
  1593. function ACS_CKBOARD : chtype;
  1594. begin
  1595. ACS_CKBOARD:=acs_map['a'];
  1596. end;
  1597. function ACS_DEGREE : chtype;
  1598. begin
  1599. ACS_DEGREE:=acs_map['f'];
  1600. end;
  1601. function ACS_PLMINUS : chtype;
  1602. begin
  1603. ACS_PLMINUS:=acs_map['g'];
  1604. end;
  1605. function ACS_BULLET : chtype;
  1606. begin
  1607. ACS_BULLET:=acs_map['~'];
  1608. end;
  1609. function ACS_LARROW : chtype;
  1610. begin
  1611. ACS_LARROW:=acs_map[','];
  1612. end;
  1613. function ACS_RARROW : chtype;
  1614. begin
  1615. ACS_RARROW:=acs_map['+'];
  1616. end;
  1617. function ACS_DARROW : chtype;
  1618. begin
  1619. ACS_DARROW:=acs_map['.'];
  1620. end;
  1621. function ACS_UARROW : chtype;
  1622. begin
  1623. ACS_UARROW:=acs_map['-'];
  1624. end;
  1625. function ACS_BOARD : chtype;
  1626. begin
  1627. ACS_BOARD:=acs_map['h'];
  1628. end;
  1629. function ACS_LANTERN : chtype;
  1630. begin
  1631. ACS_LANTERN:=acs_map['i'];
  1632. end;
  1633. function ACS_BLOCK : chtype;
  1634. begin
  1635. ACS_BLOCK:=acs_map['0'];
  1636. end;
  1637. function ACS_S3 : chtype;
  1638. begin
  1639. ACS_S3 :=acs_map['p'];
  1640. end;
  1641. function ACS_S7 : chtype;
  1642. begin
  1643. ACS_S7 :=acs_map['r'];
  1644. end;
  1645. function ACS_LEQUAL : chtype;
  1646. begin
  1647. ACS_LEQUAL:=acs_map['y'];
  1648. end;
  1649. function ACS_GEQUAL : chtype;
  1650. begin
  1651. ACS_GEQUAL:=acs_map['z'];
  1652. end;
  1653. function ACS_PI : chtype;
  1654. begin
  1655. ACS_PI :=acs_map['{'];
  1656. end;
  1657. function ACS_NEQUAL : chtype;
  1658. begin
  1659. ACS_NEQUAL:=acs_map['|'];
  1660. end;
  1661. function ACS_STERLING : chtype;
  1662. begin
  1663. ACS_STERLING:=acs_map['}'];
  1664. end;
  1665. end.