home *** CD-ROM | disk | FTP | other *** search
/ Jason Aller Floppy Collection / 257.img / PRO-C1.ZIP / HELP.ZIP / WINDOW.H < prev   
C/C++ Source or Header  |  1990-05-28  |  18KB  |  653 lines

  1. /* ==( hdr/window.h )== */
  2. /* ----------------------------------------------- */
  3. /* Pro-C - Copyright (C) 1988, 1989 Vestronix Inc. */
  4. /* Modification to this source is not supported    */
  5. /* by Vestronix Inc.                               */
  6. /*            All Rights Reserved                  */
  7. /* ----------------------------------------------- */
  8. /* Written   Geo  26-Aug-88                        */
  9. /* Modified  Geo  24-Apr-90  See comments below    */
  10. /* ----------------------------------------------- */
  11. /* %W%  (%H% %T%) */
  12.  
  13. /*
  14.  *  Modifications
  15.  *
  16.  *  24-Apr-90  Geo - Merged crtio.h,colour.h and mouse.h
  17.  *  13-Dec-89  Geo - New constants and fields
  18.  *  25-Oct-89  Geo - 1.32 Merge
  19.  *
  20.  *
  21. */
  22. # ifndef _H_WINDOW /* Guard against multiple includes */
  23.  
  24. /* Auto low-level curses selection */
  25. # ifdef UNIX
  26. #  ifndef TERMCAP
  27. #   ifndef TERMINFO
  28. #   define TERMINFO
  29. #   endif
  30. #  endif
  31. # endif
  32.  
  33. /* Auto DEBUG Section */
  34. # if defined(DEBUG) || defined(DEBUGI)
  35. #  ifndef WDEBUG
  36. #  define WDEBUG
  37. #  endif
  38. #  ifdef DEBUGI
  39. #   ifndef WDEBUGI
  40. #   define WDEBUGI
  41. #   endif
  42. #  endif
  43. # endif
  44.  
  45. /* Physical constants */
  46. # define W_PHY_WIDTH  150
  47. # define W_PHY_HEIGHT 60
  48. /* Actual space considerations */
  49. # define W_PHY_WIDTHB  (W_PHY_WIDTH * 2)
  50. # define W_PHY_HEIGHTB W_PHY_HEIGHT
  51.  
  52. # define WNULL    (struct window_rec *)0
  53.  
  54. /* Window structure */
  55. struct xwinsize
  56. {
  57.     int row;    /* Start row of window, 0 - 24 */
  58.     int col;    /* Start col of window, 0 - 79 */
  59.     int height;    /* Height of window */
  60.     int width2;    /* Width of window x2 */
  61. };
  62.  
  63. /* Flags */
  64. # define W_NEW    0x01    /* New window - draw it */
  65. # define W_OLD    0x02    /* Old window - delete it */
  66. # define W_MSK    0x03    /* Mask for old and new */
  67. # define W_DUP    0x04    /* Duplicated memory - don't free it */
  68. # define W_ACT    0x08    /* Window under active consideration */
  69.  
  70. /* Type fields in window header */
  71. # define WT_NORMAL   0 /* Normal window */
  72. # define WT_STATUS   1 /* Status status */
  73. # define WT_V_SCROLL 2 /* Vertical scroll bar */
  74. # define WT_H_SCROLL 3 /* Horizontal scroll bar */
  75.  
  76. /* Utility flags used by opt_w */
  77. # define WO_SHADE    1  /* Shading on */
  78. # define WO_OTHER    2  /* Other   on */
  79.  
  80. /* Bit fields used on snowwait */
  81. # define W_HORIZ       0x01    /* Wait for horizontal retrace */
  82. # define W_VERT        0x02    /* Wait for vertical retrace, mv_w() */
  83.  
  84. /* Replacement for on create */
  85. # define W_NEWIN (winptr->flags & W_NEW)
  86.  
  87. /* Faster update to window buffers : MUST call poke_w first, see disp_w() */
  88. # define ADDPOKE(attr, ch) *++sysbase = (char)(ch),*++sysbase = (char)(attr)
  89.  
  90. struct window_rec
  91. {
  92.     /*
  93.      * Doubly linked list
  94.      * - screens are built from scratch
  95.     */
  96.     struct window_rec *next;
  97.     struct window_rec *prev;
  98.     struct window_rec *w_status;     /* Status chain */
  99.  
  100.     /* Sizes */
  101.     struct xwinsize wabs;    /* Absolute window info, for writing */
  102.     struct xwinsize wrel;    /* Relative window info, for display */
  103.  
  104.     /* Pointers */
  105.     char *w_ptr;             /* Pointer to window buffer */
  106.     char *w_plb;             /* Pointer to Pending Line Buffer */
  107.  
  108.     int *handle;             /* pointer to handle */
  109.  
  110.     int lplb;                /* Line currently buffered */
  111.  
  112.     /* Flags */
  113.     /* values will increase so keep as 8bit bytes */
  114.     unsigned char flags;     /* Normal window flags */
  115.     unsigned char uflags;    /* Utility flags */
  116.  
  117.     unsigned char wtype;     /* Window type */
  118.     unsigned char wnum;      /* Debug to see change of windows don't use */
  119. };
  120.  
  121. /* EXTERNs */
  122.  
  123. /* Data in win/mip/win.c */
  124. extern int w_nrows;
  125. extern int w_ncols;
  126.  
  127. extern struct window_rec *winptr;
  128.  
  129. extern int boxset; /* bench.c */
  130. /* All this is to be updated - GEO - bench.c */
  131. extern int ichar;    /* bench.c */
  132. extern char ibuf[];    /* bench.c */
  133.  
  134. /* Used to be colour.h */
  135. /*
  136.  * Colour things
  137. */
  138. extern char   *colournames[];
  139. extern char   *strattr[];
  140. extern char   *strpattr[];
  141. extern char   *strsymbol[];
  142. extern unsigned char colour[];
  143.  
  144. /*
  145.  * Other Environment things
  146. */
  147. extern char  editorname[];
  148. extern short dbmnum;
  149. extern short compilernum;
  150. extern char  snowwait;
  151. extern int txt_compress;
  152. extern int genoptflags[];
  153.  
  154. extern char choice_prompt[];
  155. extern char scroll_prompt[];
  156. extern char rescan_prompt[];
  157. extern char invoke_prompt[];
  158. extern char cont_prompt[];
  159. extern char res_prompt[];
  160. extern char move_prompt[];
  161. extern char accept_prompt[];
  162. extern char cancel_prompt[];
  163. extern char exit_prompt[];
  164. extern char help_prompt[];
  165. extern char menu_prompt[];
  166. extern char no_prompt[];
  167. extern char ok_prompt[];
  168. extern char popup_prompt[];
  169. extern char select_prompt[];
  170. extern char toggle_prompt[];
  171. extern char yes_prompt[];
  172.  
  173. extern char  proc_root[];            /* directory where PRO-C is loaded */
  174. extern char  exe_dir[];                /* directory to put executables in */
  175. extern char  menu_dir[];            /* directory to put menus in       */
  176. extern char  record_dir[];            /* directory to put records in     */
  177. extern char  report_dir[];            /* directory to put reports in     */
  178. extern char  screen_dir[];            /* directory to put screens in     */
  179. extern char  source_dir[];            /* directory to put C source in    */
  180. extern char  batch_dir[];            /* directory to put batches in     */
  181.  
  182.  
  183. /* Using fill_w instead of clrbox_w */
  184. # define clrbox_w(r,c,a,h,w) fill_w(r,c,a,h,w,' ')
  185.  
  186. /* --------------------- */
  187. /* --- start crtio.h --- */
  188. /* --------------------- */
  189. # define BW    0   /* Mono   */
  190. # define MONO  0   /* Mono   */
  191. # define CGA   1   /* Colour */
  192. # define EGA   1   /* Colour */
  193.  
  194. # define GRAPHIC     16
  195.  
  196. # define NORMAL       1
  197. # define REVVID       2
  198. # define UNDERLINED   3
  199. # define BLINK        4
  200. # define BOLD         5
  201. # define REVVIDBLINK  6
  202. # define BOLDUNDER    7
  203. # define BOLDBLINK    8
  204. # define USRCOL1      9
  205. # define USRCOL2     10
  206. # define USRCOL3     11
  207. # define USRCOL4     12
  208. # define USRCOL5     13
  209. # define USRCOL6     14
  210. # define USRCOL7     15
  211.  
  212. /*
  213.  * Key Constants
  214.  * Totally new key constants
  215.  * this list must match _keystr in win/mip/keytab.c
  216.  * exactly as defines are used as indexes
  217. */
  218. # define _K_Base(n)  (256 + n)
  219.  
  220. /* Key definitions */
  221. # define K_CR      _K_Base(1)
  222. # define K_TAB     _K_Base(2)
  223. # define K_ESC     _K_Base(3)
  224. # define K_BS      _K_Base(4)
  225. # define K_BTAB    _K_Base(5)
  226.  
  227. /* Arrow Keys */
  228. # define K_LEFT    _K_Base(6)
  229. # define K_RIGHT   _K_Base(7)
  230. # define K_UP      _K_Base(8)
  231. # define K_DOWN    _K_Base(9)
  232.  
  233. /* Paging keys */
  234. # define K_INS     _K_Base(10)
  235. # define K_DEL     _K_Base(11)
  236. # define K_HOME    _K_Base(12)
  237. # define K_END     _K_Base(13)
  238. # define K_PGUP    _K_Base(14)
  239. # define K_PGDN    _K_Base(15)
  240.     
  241. /* Function Keys */
  242. # define K_F1      _K_Base(16)
  243. # define K_F2      _K_Base(17)
  244. # define K_F3      _K_Base(18)
  245. # define K_F4      _K_Base(19)
  246. # define K_F5      _K_Base(20)
  247. # define K_F6      _K_Base(21)
  248. # define K_F7      _K_Base(22)
  249. # define K_F8      _K_Base(23)
  250. # define K_F9      _K_Base(24)
  251. # define K_F10     _K_Base(25)
  252.  
  253. # define K_F11     _K_Base(26)
  254. # define K_F12     _K_Base(27)
  255. # define K_F13     _K_Base(28)
  256. # define K_F14     _K_Base(29)
  257. # define K_F15     _K_Base(30)
  258. # define K_F16     _K_Base(31)
  259. # define K_F17     _K_Base(32)
  260. # define K_F18     _K_Base(33)
  261. # define K_F19     _K_Base(34)
  262. # define K_F20     _K_Base(35)
  263.  
  264. # define K_ALTF1   _K_Base(36)
  265. # define K_ALTF2   _K_Base(37)
  266. # define K_ALTF3   _K_Base(38)
  267. # define K_ALTF4   _K_Base(39)
  268. # define K_ALTF5   _K_Base(40)
  269. # define K_ALTF6   _K_Base(41)
  270. # define K_ALTF7   _K_Base(42)
  271. # define K_ALTF8   _K_Base(43)
  272. # define K_ALTF9   _K_Base(44)
  273. # define K_ALTF10  _K_Base(45)
  274.  
  275. # define K_CTRLF1  _K_Base(46)
  276. # define K_CTRLF2  _K_Base(47)
  277. # define K_CTRLF3  _K_Base(48)
  278. # define K_CTRLF4  _K_Base(49)
  279. # define K_CTRLF5  _K_Base(50)
  280. # define K_CTRLF6  _K_Base(51)
  281. # define K_CTRLF7  _K_Base(52)
  282. # define K_CTRLF8  _K_Base(53)
  283. # define K_CTRLF9  _K_Base(54)
  284. # define K_CTRLF10 _K_Base(55)
  285.  
  286. /* extended keys */    
  287. # define K_ALTA    _K_Base(56)
  288. # define K_ALTB    _K_Base(57)
  289. # define K_ALTC    _K_Base(58)
  290. # define K_ALTD    _K_Base(59)
  291. # define K_ALTE    _K_Base(60)
  292. # define K_ALTF    _K_Base(61)
  293. # define K_ALTG    _K_Base(62)
  294. # define K_ALTH    _K_Base(63)
  295. # define K_ALTI    _K_Base(64)
  296. # define K_ALTJ    _K_Base(65)
  297. # define K_ALTK    _K_Base(66)
  298. # define K_ALTL    _K_Base(67)
  299. # define K_ALTM    _K_Base(68)
  300. # define K_ALTN    _K_Base(69)
  301. # define K_ALTO    _K_Base(70)
  302. # define K_ALTP    _K_Base(71)
  303. # define K_ALTQ    _K_Base(72)
  304. # define K_ALTR    _K_Base(73)
  305. # define K_ALTS    _K_Base(74)
  306. # define K_ALTT    _K_Base(75)
  307. # define K_ALTU    _K_Base(76)
  308. # define K_ALTV    _K_Base(77)
  309. # define K_ALTW    _K_Base(78)
  310. # define K_ALTX    _K_Base(79)
  311. # define K_ALTY    _K_Base(80)
  312. # define K_ALTZ    _K_Base(81)
  313.  
  314. # define K_ALT1    _K_Base(82)
  315. # define K_ALT2    _K_Base(83)
  316. # define K_ALT3    _K_Base(84)
  317. # define K_ALT4    _K_Base(85)
  318. # define K_ALT5    _K_Base(86)
  319. # define K_ALT6    _K_Base(87)
  320. # define K_ALT7    _K_Base(88)
  321. # define K_ALT8    _K_Base(89)
  322. # define K_ALT9    _K_Base(90)
  323. # define K_ALT0    _K_Base(91)
  324.     
  325. # define K_ALTMINUS  _K_Base(92)
  326. # define K_ALTEQ     _K_Base(93)
  327. # define K_CTRLLEFT  _K_Base(94)
  328. # define K_CTRLRIGHT _K_Base(95)
  329. # define K_CTRLPRTSC _K_Base(96)
  330. # define K_CTRLEND   _K_Base(97)
  331. # define K_CTRLHOME  _K_Base(98)
  332. # define K_CTRLPGDN  _K_Base(99)
  333. # define K_CTRLPGUP  _K_Base(100)
  334.  
  335. /* Control ascii - great for Unix */
  336. # define K_CTRLA _K_Base(101)
  337. # define K_CTRLB _K_Base(102)
  338. # define K_CTRLC _K_Base(103)
  339. # define K_CTRLD _K_Base(104)
  340. # define K_CTRLE _K_Base(105)
  341. # define K_CTRLF _K_Base(106)
  342. # define K_CTRLG _K_Base(107)
  343. # define K_CTRLH _K_Base(108)
  344. # define K_CTRLI _K_Base(109)
  345. # define K_CTRLJ _K_Base(110)
  346. # define K_CTRLK _K_Base(111)
  347. # define K_CTRLL _K_Base(112)
  348. # define K_CTRLM _K_Base(113)
  349. # define K_CTRLN _K_Base(114)
  350. # define K_CTRLO _K_Base(115)
  351. # define K_CTRLP _K_Base(116)
  352. # define K_CTRLQ _K_Base(117)
  353. # define K_CTRLR _K_Base(118)
  354. # define K_CTRLS _K_Base(119)
  355. # define K_CTRLT _K_Base(120)
  356. # define K_CTRLU _K_Base(121)
  357. # define K_CTRLV _K_Base(122)
  358. # define K_CTRLW _K_Base(123)
  359. # define K_CTRLX _K_Base(124)
  360. # define K_CTRLY _K_Base(125)
  361. # define K_CTRLZ _K_Base(126)
  362.  
  363. /* Cannot remap these keys but keep here */
  364. /* Also there are no scancodes for these */
  365. /* Note that they are relative to the last key above */
  366. # define M_PRESS   (K_CTRLZ + 1)
  367. # define M_ESC     (M_PRESS + 1)
  368. # define M_RELEASE (M_ESC + 1)
  369. # define M_MENU    (M_RELEASE + 1)
  370. # define K_NULL    (M_MENU + 1) /* Last key - please update if changed */
  371.  
  372.  
  373. /* Size of ttykeys */
  374. # define MAX_TTYKEYS 256 /* Should be big enough */
  375.  
  376. /* Happy keys ! */
  377. # define K_HELP   K_F1
  378. # define K_EXIT   K_ESC
  379.  
  380. /*
  381.  *   Define the PRINTER Library
  382. */
  383. #define  FF                '\014'    /* Form Feed    */
  384. #define  LF                '\012'    /* Line Feed    */
  385.  
  386. #define  TOP               1        /* Screen Based */
  387. #define  EOP               23        /* Reports Only */
  388.  
  389. /* Graphic boxes */
  390. # define BOXCHCNT 11
  391.  
  392. /* Default references */
  393. # define URIGHT    1
  394. # define ULEFT        2
  395. # define LLEFT        3
  396. # define LRIGHT    4
  397. # define LEFTT        5
  398. # define RIGHTT    6
  399. # define HORIZ        7
  400. # define VERT        8
  401. # define CROSST    9
  402. # define BOTTY        10
  403. # define TOPT        11
  404.  
  405. /* Generated code references */
  406. # define BURIGHT(n) (URIGHT + ((n) * BOXCHCNT))
  407. # define BULEFT(n)  (ULEFT  + ((n) * BOXCHCNT))
  408. # define BLLEFT(n)  (LLEFT  + ((n) * BOXCHCNT))
  409. # define BLRIGHT(n) (LRIGHT + ((n) * BOXCHCNT))
  410. # define BLEFTT(n)  (LEFTT  + ((n) * BOXCHCNT))
  411. # define BRIGHTT(n) (RIGHTT + ((n) * BOXCHCNT))
  412. # define BHORIZ(n)  (HORIZ  + ((n) * BOXCHCNT))
  413. # define BVERT(n)   (VERT   + ((n) * BOXCHCNT))
  414. # define BCROSST(n) (CROSST + ((n) * BOXCHCNT))
  415. # define BBOTTY(n)  (BOTTY  + ((n) * BOXCHCNT))
  416. # define BTOPT(n)   (TOPT   + ((n) * BOXCHCNT))
  417.  
  418. /* ------------------- */
  419. /* --- end crtio.h --- */
  420. /* ------------------- */
  421.  
  422. /* Function prototypes */
  423. # ifdef ANSI
  424. char *gets_w(int, int, char *);
  425. char *keytext(short);
  426. int CDECL bdisp_w(int ,int ,int ,int ,char *, ...);
  427. int CDECL center_w(int, int, int, int, char *, ...);
  428. int coords_w(int *, int *, int *, int *, int *);
  429. int cursor(int);
  430. int CDECL disp_w(int ,int ,int ,char *, ...);
  431. int fdisp_w(int ,int ,int ,int ,char *);
  432. int get_term(void);
  433. int inchar(void);
  434. int inchar_nowait(void);
  435. int inchar_hit(void);
  436. int CDECL input_w(int, int, int, int, int, char *, char *, int, ...);
  437. void mv_w(int, int);
  438. int ndisp_w(int ,int ,int ,int ,char *);
  439. int opt_w(int *, int);
  440. int sel_w(int *);
  441. int top_w(int *);
  442. int xdisp_w(int, int, int, char *);
  443. int  CDECL yn_w(int, int, int, int, int, int, ...);
  444. short unget_stream(void);
  445. struct window_rec *find_w(int *);
  446. struct window_rec *link_w(struct window_rec *, struct window_rec *);
  447. struct window_rec *new_hdr_w(int, int, int, int);
  448. void abs_w(int *, int *, int *, int *);
  449. void border_w(int, int);
  450. void box_w(int, int, int, int, int);
  451. void cls(void);
  452. void create_w(int, int, int, int);
  453. void delete_w(void);
  454. void _del_w(struct window_rec *);
  455. void dup_w(void);
  456. void end_w(int);
  457. void fill_w(int, int, int, int, int, int);
  458. void flushcurs(void);
  459. void flushln(void);
  460. void flushposn(void);
  461. void flushscr(void);
  462. void init_w(int, int);
  463. void CDECL keys_w(int, ...);
  464. void keywait(int);
  465. void loadvect(struct window_rec *);
  466. void moveto(int, int);
  467. void moveto_w(int, int);
  468. void ncreate_w(int, int, int, int, int *);
  469. void new_w(void);
  470. void poke_w(int, int, int, int);
  471. void raw_off(void);
  472. void raw_on(void);
  473. void redraws(void);
  474. void rephoriz_w(int ,int ,int ,int ,int );
  475. void repvert_w(int ,int ,int ,int ,int );
  476. void resetscr(void);
  477. void set_w(int, int);
  478. void subpokel(int, int, int, char *, char *);
  479. void underln_w(int ,int ,int ,int );
  480. void unget_inchar(short);
  481. void unlink_w(struct window_rec *);
  482. void upperln_w(int, int, int, int);
  483. # else
  484. char *gets_w();
  485. char *keytext();
  486. int bdisp_w();
  487. int center_w();
  488. int coords_w();
  489. int cursor();
  490. int disp_w();
  491. int fdisp_w();
  492. int get_term();
  493. int inchar();
  494. int inchar_nowait();
  495. int inchar_hit();
  496. int input_w();
  497. void mv_w();
  498. int ndisp_w();
  499. int opt_w();
  500. int sel_w();
  501. int top_w();
  502. int xdisp_w();
  503. int yn_w();
  504. short unget_stream();
  505. struct window_rec *find_w();
  506. struct window_rec *link_w();
  507. struct window_rec *new_hdr_w();
  508. void abs_w();
  509. void border_w();
  510. void box_w();
  511. void cls();
  512. void create_w();
  513. void _del_w();
  514. void delete_w();
  515. void dup_w();
  516. void end_w();
  517. void fill_w();
  518. void flushcurs();
  519. void flushln();
  520. void flushposn();
  521. void flushscr();
  522. void init_w();
  523. void keys_w();
  524. void keywait();
  525. void loadvect();
  526. void moveto();
  527. void moveto_w();
  528. void ncreate_w();
  529. void new_w();
  530. void poke_w();
  531. void raw_off();
  532. void raw_on();
  533. void redraws();
  534. void rephoriz_w();
  535. void repvert_w();
  536. void resetscr();
  537. void set_w();
  538. void subpokel();
  539. void underln_w();
  540. void unget_inchar();
  541. void unlink_w();
  542. void upperln_w();
  543. # endif
  544.  
  545. /* Mouse Section */
  546. /* Mouse can be switch in or out by -DMOUSE */
  547. # ifdef MOUSE
  548.  
  549. # define LEFT_BUTTON  0x01
  550. # define RIGHT_BUTTON 0x02
  551. # define M_UP         0
  552. # define M_DEPRESSED  1
  553. # define M_LEFT       0
  554. # define M_RIGHT      1
  555.  
  556. extern int mouse_present;
  557. extern int mouse_num_buttons;
  558. extern int mouse_up_down;
  559. extern int mouse_level;
  560. extern int mouse_ver_movement;
  561. extern int mouse_hor_movement;
  562. extern int mouse_click_count;
  563. extern int mouse_num_objects;
  564. extern int mouse_limit;
  565. extern int mouse_reset_pos;
  566. extern int lefty_mouse;
  567. extern unsigned int mouse_x;
  568. extern unsigned int mouse_y;
  569. extern unsigned int mouse_row;
  570. extern unsigned int mouse_col;
  571. /* extern unsigned int mouse_status; */
  572. extern unsigned int mouse_x_divisor;
  573. extern unsigned int mouse_y_divisor;
  574.  
  575. struct _mouse_object
  576. {
  577.     int level;
  578.     int key;
  579.     int index;
  580.     unsigned char srow;
  581.     unsigned char scol;
  582.     unsigned char erow;
  583.     unsigned char ecol;
  584.     char *name; /* name of the object */
  585.     struct _mouse_object *next_object;
  586. };
  587.  
  588. extern struct _mouse_object *mouse_object;
  589.  
  590. /* 
  591.  * mouse routines
  592. */
  593. # ifdef ANSI
  594. int mouse_add_object(unsigned char, unsigned char, unsigned char, unsigned char, int, int, char *);
  595. int mouse_button_down(int);
  596. int mouse_check_bounds(void);
  597. int mouse_click(int *, int);
  598. int mouse_hit(void);
  599. int mouse_position(unsigned int *, unsigned int *);
  600. int mouse_waitkey(void);
  601. short check_mouse(void);
  602. void mouse_init(void);
  603. void mouse_end(void);
  604. void mouse_button_info(int, unsigned int *, unsigned int *);
  605. void mouse_button_release(int, unsigned int *, unsigned int *);
  606. void mouse_cursor(int);
  607. void mouse_delete_keys(void);
  608. void mouse_delete_notkeys(void);
  609. void mouse_delete_level(int);
  610. void mouse_get_movement(unsigned int *, unsigned int *);
  611. void mouse_limit_level(int);
  612. void mouse_move_cursor(int *, int *);
  613. void mouse_move_object(int, int, int, int, char *);
  614. void mouse_movement(int, int);
  615. void mouse_set_position(unsigned int, unsigned int);
  616. void mouse_set_text_cursor(int, int, int);
  617. void mouse_set_xbounds(unsigned int, unsigned int);
  618. void mouse_set_ybounds(unsigned int, unsigned int);
  619. void mouse_wait_release(int);
  620. # else
  621. int mouse_add_object();
  622. int mouse_button_down();
  623. int mouse_check_bounds();
  624. int mouse_click();
  625. int mouse_hit();
  626. int mouse_position();
  627. int mouse_waitkey();
  628. short check_mouse();
  629. void mouse_init();
  630. void mouse_end();
  631. void mouse_button_info();
  632. void mouse_button_release();
  633. void mouse_cursor();
  634. void mouse_delete_keys();
  635. void mouse_delete_notkeys();
  636. void mouse_delete_level();
  637. void mouse_get_movement();
  638. void mouse_limit_level();
  639. void mouse_move_cursor();
  640. void mouse_move_object();
  641. void mouse_movement();
  642. void mouse_set_position();
  643. void mouse_set_text_cursor();
  644. void mouse_set_xbounds();
  645. void mouse_set_ybounds();
  646. void mouse_wait_release();
  647. # endif
  648. # endif /* MOUSE */
  649.  
  650. # define _H_WINDOW
  651.  
  652. # endif /* _H_WINDOW */
  653.