home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / PRO2.ZIP / PRO.H < prev    next >
Text File  |  1989-01-02  |  9KB  |  226 lines

  1. #include <portable.h>
  2. #include <stdio.h>
  3.  
  4. #define WDW             wdw[handle]
  5. #define TILE             wdw[handle]->tiles[tile_handle]
  6. #define A_WDW             wdw[active_wdw]
  7. #define A_TILE             wdw[active_wdw]->tiles[wdw[active_wdw]->active_tile]
  8. #define VID_ACCESS         ((inp(0x03DA) & 0x01) == 0x01)
  9. #define RETRACE         ((inp(0x03DA) & 0x08) == 0x08)
  10. #define DMA                1
  11. #define BIOS            2
  12. #define ANSI            3
  13. #define ERROR(errnum, functnum)    {wn_errorhandler(errnum,functnum); return(errnum);}
  14. #define upcase(ch)        (((ch >=97) && (ch <=122)) ? ch - 32 : ch)
  15.  
  16. #define TRUE                 1
  17. #define FALSE                 0
  18. #define MAX_WINDOWS         256
  19. #define MAX_TILES             10
  20. #define UPPER_LEFT            1
  21. #define UPPER_RIGHT            2
  22. #define LOWER_LEFT            3
  23. #define LOWER_RIGHT            4
  24. #define HEAD_ON                5
  25. #define NONE                0
  26. #define NO_BARS                0
  27. #define HORIZONTAL_BAR        1
  28. #define VERTICAL_BAR        2
  29. #define    BOTH_BARS            3
  30. #define LEFT_JUSTIFY        0
  31. #define CENTER_JUSTIFY        1
  32. #define RIGHT_JUSTIFY        2
  33.  
  34. /* standard return codes */
  35. #define ABORTED                                1
  36. #define CONFIRMED                            2
  37. #define ASCENDED                            3
  38. #define DESCENDED                            4
  39. #define MOUSED                                5
  40. #define EXIT1                                6
  41. #define EXIT2                                7
  42. #define EXIT3                                8
  43. #define EXIT4                                9
  44. #define EXIT5                                10
  45. #define MENUED                                11
  46.  
  47.  
  48. /* screen char record */
  49. typedef struct {
  50.     unsigned char character;
  51.     unsigned char attribute;
  52. } screen_char;
  53.  
  54. /* tile record */
  55. typedef struct {
  56.     screen_char far *virtual_screen;
  57.     char *tile_name;
  58.     unsigned char forward, backward, scroll_bars, thumbwheel,
  59.         suspend, border_color;
  60.     int hide, port_rows, vs_rows, vs_columns,
  61.         cursor_x, cursor_y, virtual_x, virtual_y, offset_y;
  62.     double vertical_thumb, horizontal_thumb;
  63.     char justify;
  64. } tile_rec;
  65.  
  66. /* wdw record */
  67. typedef struct {
  68.     unsigned physical_x, physical_y, suspend, hide, border,
  69.         forward, backward;
  70.     unsigned char first_tile, last_tile, active_tile;
  71.     int port_columns, port_rows;
  72.     unsigned char border_color, *border_chars;
  73.     char *wdw_name;
  74.     tile_rec far *tiles[MAX_TILES + 1];
  75.     char justify;
  76. } wdw_rec;
  77.  
  78.  
  79. /* block record */
  80. typedef struct {
  81.     unsigned x, y, rows, columns;
  82.     screen_char far *buffer;
  83. } blkrec;
  84.  
  85. #define SCR_SIZE         (physical_rows * physical_columns * sizeof(screen_char))
  86.  
  87. /* Window and tile manipulation functions */
  88. extern void     EXPORT wn_errorhandler(signed int, signed int);
  89. extern int         EXPORT wn_delt(unsigned, unsigned char);
  90. extern int         EXPORT wn_actt(unsigned, unsigned char);
  91. extern int         EXPORT wn_updatew(unsigned);
  92. extern int         EXPORT wn_updatet(unsigned, unsigned char);
  93. extern int         EXPORT wn_closet(unsigned, unsigned char);
  94. extern int         EXPORT wn_openw(unsigned);
  95. extern void     EXPORT wn_flybox(int, int, int, int, int, int, int, int,
  96.                 unsigned, unsigned, unsigned char *, unsigned char,
  97.                 unsigned char);
  98. extern void     EXPORT wn_flyboxfilled(int, int, int, int, int, int, int, int,
  99.                 unsigned, unsigned, unsigned char *, unsigned char,
  100.                 unsigned char, unsigned char, unsigned char);
  101. extern int         EXPORT wn_delw(unsigned);
  102. extern void        EXPORT wn_freeze(void);
  103. extern void     EXPORT wn_defrost(unsigned, unsigned, unsigned,
  104.                 unsigned);
  105. extern int        EXPORT wn_init(void);
  106. extern int        EXPORT wn_suspendw(unsigned);
  107. extern int        EXPORT wn_actw(unsigned);
  108. extern void        EXPORT wn_redraw(void);
  109. extern int        EXPORT wn_draww(unsigned);
  110. extern int        EXPORT wn_movew(unsigned, signed int, signed int);
  111. extern int        EXPORT wn_locatew(unsigned, signed int, signed int);
  112. extern int        EXPORT wn_zoomw(void);
  113. extern int        EXPORT wn_createw(unsigned, unsigned, unsigned,
  114.                 unsigned, unsigned, unsigned, unsigned,
  115.                 unsigned, unsigned, unsigned, char *, char *);
  116. extern int        EXPORT wn_createt(unsigned, char *, unsigned, unsigned,
  117.                 unsigned, unsigned);
  118. extern int        EXPORT wn_suspendt(unsigned, unsigned char);
  119. extern int        EXPORT wn_opent(unsigned, unsigned char);
  120. extern int        EXPORT wn_scrollvs(unsigned, unsigned char,  signed int,
  121.                 signed int);
  122. extern int         EXPORT wn_sizet(unsigned, unsigned char, signed int,
  123.                 signed int);
  124. extern int        EXPORT wn_namew(unsigned, char *);
  125. extern int        EXPORT wn_namet(unsigned, unsigned char, char *);
  126. extern int        EXPORT wn_chgbord(unsigned, unsigned char *);
  127. extern int        EXPORT wn_closew(unsigned);
  128. extern int        EXPORT wn_hidew(unsigned);
  129. extern int        EXPORT wn_swapt(unsigned, unsigned char, unsigned,
  130.                 unsigned char);
  131. extern int        EXPORT wn_togborder(unsigned, unsigned char);
  132. extern void        EXPORT wn_restorescr(void);
  133. extern void        EXPORT wn_savescr(void);
  134. extern int        EXPORT wn_locatevs(unsigned, unsigned char, signed int,
  135.                 signed int);
  136. extern int        EXPORT wn_moverng(unsigned, unsigned, signed int,
  137.                 signed int);
  138. extern int        EXPORT wn_chgbordrng(unsigned, unsigned, unsigned char *);
  139. extern int        EXPORT wn_sizerng(unsigned, unsigned, signed int,
  140.                 signed int);
  141. extern int        EXPORT wn_chgcolor(unsigned, unsigned char,
  142.                 unsigned char);
  143. extern int        EXPORT wn_chgcolorrng(unsigned, unsigned, unsigned char,
  144.                 unsigned char);
  145. extern int        EXPORT wn_togbordrng(unsigned, unsigned, unsigned char);
  146. extern void        EXPORT wn_hidecur(void);
  147. extern void        EXPORT wn_showcur(void);
  148. extern unsigned    EXPORT wn_isonwdw(unsigned, unsigned, unsigned *);
  149. extern int         EXPORT wn_togscrollrng(unsigned, unsigned, unsigned char);
  150. extern int         EXPORT wn_togscroll(unsigned, unsigned char, unsigned char);
  151. extern int        EXPORT wn_isontile(unsigned, unsigned char *, unsigned,
  152.                 unsigned);
  153. extern int        EXPORT wn_isonsbl(unsigned, unsigned char, unsigned,
  154.                 unsigned);
  155. extern int        EXPORT wn_isonsbr(unsigned, unsigned char, unsigned,
  156.                 unsigned);
  157. extern int        EXPORT wn_isonsbu(unsigned, unsigned char, unsigned,
  158.                 unsigned);
  159. extern int        EXPORT wn_isonsbd(unsigned, unsigned char, unsigned,
  160.                 unsigned);
  161. extern int        EXPORT wn_isonvlbar(unsigned, unsigned char, unsigned,
  162.                 unsigned);
  163. extern int        EXPORT wn_isonvrbar(unsigned, unsigned char, unsigned,
  164.                 unsigned);
  165. extern int        EXPORT wn_isonhbar(unsigned, unsigned char, unsigned,
  166.                 unsigned);
  167. extern int        EXPORT wn_isonvs (unsigned, unsigned char, unsigned *,
  168.                 unsigned *);
  169. extern int        EXPORT wn_isonurc(unsigned, unsigned, unsigned);
  170. extern int        EXPORT wn_isonulc(unsigned, unsigned, unsigned);
  171. extern int        EXPORT wn_isonlrc(unsigned, unsigned, unsigned);
  172. extern int        EXPORT wn_isonllc(unsigned, unsigned, unsigned);
  173. extern int        EXPORT wn_isonubar(unsigned, unsigned, unsigned);
  174. extern int        EXPORT wn_isonlbar(unsigned, unsigned, unsigned);
  175. extern int        EXPORT wn_isonrelb(unsigned, unsigned char, unsigned,
  176.                 unsigned);
  177. extern int        EXPORT wn_isonlelb(unsigned, unsigned char, unsigned,
  178.                 unsigned);
  179. extern int        EXPORT wn_isonnamew(unsigned, unsigned, unsigned);
  180. extern int        EXPORT wn_isonnamet(unsigned, unsigned char, unsigned,
  181.                 unsigned);
  182. extern int      EXPORT wn_isonhtw(unsigned, unsigned char, unsigned,
  183.                 unsigned);
  184. extern int      EXPORT wn_isonvtw(unsigned, unsigned char, unsigned,
  185.                 unsigned);
  186. extern int        EXPORT wn_whereon(unsigned *, unsigned char *, unsigned *,
  187.                 unsigned *);
  188. extern int        EXPORT wn_edlin(unsigned, unsigned char, char **, char,
  189.                 int, int, int, int, int, unsigned char, unsigned char,
  190.                 int *);
  191. extern int         EXPORT wn_togscrollallt(unsigned, unsigned char);
  192.  
  193. /* release 1.3 functions */
  194. extern int        EXPORT wn_movetwrel(unsigned, unsigned char, double, double);
  195. extern int        EXPORT wn_movetwabs(unsigned, unsigned char, int, int);
  196. extern int        EXPORT wn_locatetwrel(unsigned, unsigned char, double, double);
  197. extern int        EXPORT wn_locatetwabs(unsigned, unsigned char, signed int, signed int);
  198. extern int        EXPORT wn_sync_vs_to_tw(unsigned, unsigned char);
  199. extern int        EXPORT wn_sync_tw_to_vs(unsigned, unsigned char);
  200. extern int        EXPORT wn_togthumb(unsigned, unsigned char, unsigned char);
  201.  
  202. /* release 1.4 functions */
  203. extern int         EXPORT wn_copyw(unsigned);
  204. extern int         EXPORT wn_copyt(unsigned, unsigned char, unsigned);
  205. extern int        EXPORT wn_openabst(unsigned, unsigned char, unsigned);
  206. extern int        EXPORT wn_openrelt(unsigned, unsigned char, double);
  207. extern int         EXPORT wn_delrng(unsigned, unsigned);
  208. extern int         EXPORT wn_closerng(unsigned, unsigned);
  209. extern int         EXPORT wn_swapw(unsigned, unsigned);
  210. extern int         EXPORT wn_swapt2(unsigned, unsigned char, unsigned char);
  211. extern int        EXPORT wn_draww_on_vs(unsigned, unsigned, unsigned char);
  212. extern int         EXPORT wn_putslist(char *[], unsigned char, unsigned char, int,
  213.                 int, int, char *, char*);
  214.  
  215. /* release 1.5 functions */
  216. extern int        EXPORT vs_putattrs(unsigned, unsigned char, unsigned,
  217.                 unsigned, unsigned, screen_char far *);
  218.  
  219. /* release 1.6 functions */
  220. extern void    EXPORT sleepmilli(unsigned long);
  221.  
  222. #ifdef OS2
  223. #include "pro.mt"
  224. #define kbhit    my_kbhit
  225. #endif
  226.