home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / GRAPHICS / WINDOWPR.ZIP / PRO.H < prev    next >
Encoding:
C/C++ Source or Header  |  1987-11-30  |  5.8 KB  |  151 lines

  1. #include <dos.h>
  2. #include <stdio.h>
  3.  
  4. #define WDW             window[handle]
  5. #define TILE             window[handle]->tiles[tile_handle]
  6. #define A_WDW             window[active_wdw]
  7. #define A_TILE             window[active_wdw]->tiles[window[active_wdw]->active_tile]
  8. #define SCR_SIZE         (physical_rows * physical_columns * 2)
  9. #define VID_ACCESS         ((inp(0x03DA) & 0x01) == 0x01)
  10. #define RETRACE         ((inp(0x03DA) & 0x08) == 0x08)
  11. #define DMA            1
  12. #define BIOS            2
  13. #define ANSI            3
  14. #define ERROR(errnum, functnum)    {wn_errorhandler(errnum,functnum); return(errnum);}
  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.  
  27. /* tile record */
  28. typedef struct {
  29.     char *virtual_screen, *tile_name, border_color;
  30.     unsigned char forward, backward, scroll_bars;
  31.     int suspend, hide, port_rows, vs_rows, vs_columns,
  32.         cursor_x, cursor_y, virtual_x, virtual_y, offset_y;
  33. } tile_rec;
  34.  
  35. /* window record layout */
  36. typedef struct {
  37.     unsigned int physical_x, physical_y, suspend, hide, border,
  38.         forward, backward, first_tile, last_tile, active_tile;
  39.  
  40.     int port_columns, port_rows;
  41.  
  42.     unsigned char  *wdw_name, border_color, *border_chars;
  43.     tile_rec *tiles[MAX_TILES + 1];
  44.  
  45. } wdw_rec;
  46.  
  47.  
  48. /* block record */
  49. typedef struct {
  50.     unsigned int x, y, rows, columns;
  51.     char *buffer;
  52. } blkrec;
  53.  
  54.  
  55. /* Window and tile manipulation functions */
  56. extern void     wn_errorhandler(signed int, signed int);
  57. extern int     wn_delt(unsigned int, unsigned char);
  58. extern int     wn_actt(unsigned int, unsigned char);
  59. extern int     wn_updatew(unsigned int);
  60. extern int     wn_updatet(unsigned int, unsigned char);
  61. extern int     wn_closet(unsigned int, unsigned char);
  62. extern int     wn_openw(unsigned int);
  63. extern void     wn_flybox(int, int, int, int, int, int, int, int,
  64.         unsigned int, unsigned int, char *, unsigned char,
  65.         unsigned char);
  66. extern int     wn_delw(unsigned int);
  67. extern void     wn_freeze();
  68. void         wn_defrost(unsigned int, unsigned int, unsigned int,
  69.         unsigned int);
  70. extern int     wn_init();
  71. extern int     wn_suspendw(unsigned int);
  72. extern int     wn_actw(unsigned int);
  73. extern void     wn_redraw();
  74. extern int     wn_draww(unsigned int);
  75. extern int     wn_movew(unsigned int, signed int, signed int);
  76. extern int     wn_locatew(unsigned int, signed int, signed int);
  77. extern int     wn_zoomw();
  78. extern int     wn_createw(unsigned int, unsigned int, unsigned int,
  79.         unsigned int, unsigned int, unsigned int, unsigned int,
  80.         unsigned int, unsigned int, unsigned int, char *, char *);
  81. extern int     wn_createt(unsigned int, char *, unsigned int, unsigned int,
  82.         unsigned int, unsigned int);
  83. extern int     wn_suspendt(unsigned int, unsigned char);
  84. extern int     wn_opent(unsigned int, unsigned char);
  85. extern int     wn_scrollvs(unsigned int, unsigned char,  signed int,
  86.         signed int);
  87. extern int     wn_sizet(unsigned int, unsigned char, signed int,
  88.         signed int);
  89. extern int     wn_namew(unsigned int, char *);
  90. extern int     wn_namet(unsigned int, unsigned char, char *);
  91. extern int     wn_chgbord(unsigned int, char *);
  92. extern int     wn_closew(unsigned int);
  93. extern int     wn_hidew(unsigned int);
  94. extern int     wn_swapt(unsigned int, unsigned char, unsigned int,
  95.         unsigned char);
  96. extern int     wn_togborder(unsigned int, unsigned char);
  97. extern void     wn_restorescr();
  98. extern void     wn_savescr();
  99. extern int     wn_locatevs(unsigned int, unsigned char, signed int,
  100.         signed int);
  101. extern int     wn_moverng(unsigned int, unsigned int, signed int,
  102.         signed int);
  103. extern int     wn_chgbordrng(unsigned int, unsigned int, char *);
  104. extern int     wn_sizerng(unsigned int, unsigned int, signed int,
  105.         signed int);
  106. extern int     wn_chgcolor(unsigned int, unsigned char,
  107.         unsigned char);
  108. extern int     wn_chgcolorrng(unsigned int, unsigned int, unsigned char,
  109.         unsigned char);
  110. extern int     wn_togbordrng(unsigned int, unsigned int, unsigned char);
  111. extern void    wn_hidecur();
  112. extern void    wn_showcur();
  113. unsigned int     wn_isonwdw(unsigned int, unsigned int, unsigned int *);
  114. int         wn_togscrollrng(unsigned int, unsigned int, unsigned char);
  115. int         wn_togscroll(unsigned int, unsigned char, unsigned char);
  116. extern int    wn_isontile(unsigned int, unsigned char *, unsigned int,
  117.         unsigned int);
  118. extern int    wn_isonsbl(unsigned int, unsigned char, unsigned int,
  119.         unsigned int);
  120. extern int    wn_isonsbr(unsigned int, unsigned char, unsigned int,
  121.         unsigned int);
  122. extern int    wn_isonsbu(unsigned int, unsigned char, unsigned int,
  123.         unsigned int);
  124. extern int    wn_isonsbd(unsigned int, unsigned char, unsigned int,
  125.         unsigned int);
  126. extern int    wn_isonvlbar(unsigned int, unsigned char, unsigned int,
  127.         unsigned int);
  128. extern int    wn_isonvrbar(unsigned int, unsigned char, unsigned int,
  129.         unsigned int);
  130. extern int    wn_isonhbar(unsigned int, unsigned char, unsigned int,
  131.         unsigned int);
  132. extern int    wn_isonvs (unsigned int, unsigned char, unsigned int *,
  133.         unsigned int *);
  134. extern int    wn_isonurc(unsigned int, unsigned int, unsigned int);
  135. extern int    wn_isonulc(unsigned int, unsigned int, unsigned int);
  136. extern int    wn_isonlrc(unsigned int, unsigned int, unsigned int);
  137. extern int    wn_isonllc(unsigned int, unsigned int, unsigned int);
  138. extern int    wn_isonubar(unsigned int, unsigned int, unsigned int);
  139. extern int    wn_isonlbar(unsigned int, unsigned int, unsigned int);
  140. extern int    wn_isonrelb(unsigned int, unsigned char, unsigned int,
  141.         unsigned int);
  142. extern int    wn_isonlelb(unsigned int, unsigned char, unsigned int,
  143.         unsigned int);
  144. extern int    wn_isonnamew(unsigned int, unsigned int, unsigned int);
  145. extern int    wn_isonnamet(unsigned int, unsigned char, unsigned int,
  146.         unsigned int);
  147. extern int    wn_whereon(unsigned int *, unsigned char *, unsigned int *,
  148.         unsigned int *);
  149. extern int     vs_format(unsigned int, unsigned char, unsigned char,
  150.         unsigned char, char *);
  151.