home *** CD-ROM | disk | FTP | other *** search
/ Hall of Fame / HallofFameCDROM.cdr / prog2 / boss_ng.lzh / WINDOWS.TXT < prev   
Encoding:
Text File  |  1988-05-22  |  6.6 KB  |  137 lines

  1. !short: Defines
  2. #define ^bSAVE^b    TRUE                    /* similar truth */
  3. #define ^bRESTORE^b FALSE                   /* fibs */
  4. #define ^bPAINT^b   TRUE                    /* screen update modes */
  5. #define ^bFLASH^b   FALSE                   /* ditto */
  6. #define ^bREPLACE^b 1                       /* for flicker free */
  7. #define ^bERASE^b   0                       /* scroll w_sapd & w_sapu */
  8. #define ^bFAST^b    0x01                    /* fast retrace */
  9. #define ^bSLOW^b    0x08                    /* slow retrace */
  10.  
  11. #define ^bNULPTR^b  (char *) 0              /* null pointer */
  12. #define ^bBEL^b     0x07                    /* beep */
  13. #define ^bBS^b      0x08                    /* backspace */
  14. #define ^bNUL^b     '\0'                    /* NUL char */
  15. #define ^bESC^b     0x1b                    /* Escape */
  16. #define ^bCR^b      0x0d                    /* carriage return */
  17. #define ^bLF^b      0x0a                    /* linefeed */
  18. #define ^bDEL^b     0x7f                    /* delete */
  19. #define ^bNAK^b     0x15                    /* ^U */
  20. #define ^bETX^b     0x03                    /* ^C */
  21. #define ^bCAN^b     0x18                    /* ^X */
  22. #define ^bDel^b     0x53                    /* Del key scan code */
  23. #define ^bECHO^b    0x8000                  /* echo disable bit */
  24.  
  25. #define ^bBIOS^b    0x01                    /* BIOS Scrolling */
  26. #define ^bDMAS^b    0x02                    /* The BOSS's DMA Scrolling */
  27. !short: Externals
  28. extern int ^bwn_dmaflg^b                   /* dma flag */
  29. extern char ^bwn_sbit^b                    /* retrace test bit 8 slow, 1 fast */
  30. extern int ^bwn_blank^b                    /* vidon & vidoff control flag */
  31. extern int ^bwns_bchars[]^b                /* box chars */
  32. extern unsigned int ^bwns_mtflg^b          /* monitor type flag */
  33. extern int ^bwns_cflag^b                   /* close in progress flag */
  34.  
  35. extern struct ^bSREGS wns_srp^b            /* for segread */
  36.  
  37. extern unsigned ^bwni_seg[]^b              /* for wns_push/pop */
  38. extern unsigned ^bwni_off[]^b              /* ditto */
  39. extern unsigned ^bwni_ptr[]^b              /* ditto */
  40.  
  41. #define ^bBCUL^b  wns_bchars[0]             /* some shorthand for later */
  42. #define ^bBCUR^b  wns_bchars[1]
  43. #define ^bBCTB^b  wns_bchars[2]
  44. #define ^bBCSD^b  wns_bchars[3]
  45. #define ^bBCLL^b  wns_bchars[4]
  46. #define ^bBCLR^b  wns_bchars[5]
  47.  
  48. !short: Structures
  49. #if LC2 | LC3 | DLC | CI86       
  50. extern unsigned ^bwns_mtype()^b            /* make everyone happy */
  51. #endif
  52.  
  53. #define WMR   wn->bsize                 /* shorthand */
  54.  
  55. typedef struct wcb                      /* Window control block */
  56. {
  57. int ulx,                                /* upper left corner x coordinate */
  58.     uly,                                /* upper left corner y coordinate */
  59.     xsize,                              /* width of window - INSIDE dimension */
  60.     ysize,                              /* height of window -INSIDE dimension */
  61.     ccx,                                /* virtual cursor offset in window */
  62.     ccy,
  63.     style,                              /* attribute to be used in window */
  64.     bstyle,                             /* border attribute */
  65.     bsize;                              /* total border size 0 or 2 only */
  66. char *scrnsave;                         /* pointer to screen save buffer */
  67. int page,                               /* current video page being used */
  68.     oldx,                               /* cursor position when window was */
  69.     oldy,                               /* opened (used for screen restore) */
  70.     wrpflg,                             /* wrap flag */
  71.     synflg;                             /* cursor sync flag */
  72. char *handle;                           /* my own id */
  73.     char *prevptr;                      /* linked list - previous */
  74.     char *nextptr;                      /* linked list - next */
  75.     unsigned tmpseg;                    /* for activate */
  76.     unsigned tmpoff;                    /* ditto */
  77.     int  smeth;                         /* scroll method to use */
  78. } WINDOW, *WINDOWPTR;
  79.  
  80. extern WINDOWPTR ^bwns_last^b              /* last window opened */
  81.  
  82. #if MSCV3 | MSCV4 | BORLAND             /* allow for LINT_ARGS */
  83. #ifndef GENFNS
  84. #include "windows.fns"                  /* enforce type checking */
  85. #endif
  86. #else                                   /* and almost lint args */
  87. struct wcb ^b*wn_open()^b
  88. struct wcb ^b*wn_move()^b
  89. struct wcb ^b*wn_save()^b
  90. char ^b*wn_gets()^b
  91. #endif
  92. !short: Colors
  93. #define ^bBLACK^b   0x00                    /* foreground */
  94. #define ^bRED^b     0x04                    /* background */
  95. #define ^bGREEN^b   0x02                    /* colors */
  96. #define ^bYELLOW^b  0x06                    /* bg << 4 | fg */
  97. #define ^bBLUE^b    0x01
  98. #define ^bMAGENTA^b 0x05
  99. #define ^bCYAN^b    0x03
  100. #define ^bWHITE^b   0x07
  101. #define ^bBLINK^b   0x80
  102. #define ^bBOLD^b    0x08
  103. #define ^bNDISPB^b  0x00                    /* non display black */
  104. #define ^bNDISPW^b  0x77                    /* non display white */
  105. #define ^bRVIDEO^b  0x70                    /* reverse video */
  106. #define ^bUNLINE^b  0x01                    /* under line (BLUE) */
  107.  
  108. #define ^bNVIDEO^b  0x07                    /* normal video */
  109. #define ^bNORMAL^b  0x03                    /* cyan is normal for me */
  110. !short: Display Mode Atributes
  111. #define ^bB4025^b  0                        /* black & white 40 x 25 */
  112. #define ^bC4025^b  1                        /* color 40 x 25 */
  113. #define ^bB8025^b  2                        /* black & white 80 x 25 */
  114. #define ^bC8025^b  3                        /* color 80 x 25 */
  115. #define ^bC320^b   4                        /* color graphics 320 x 200 */
  116. #define ^bB320^b   5                        /* black & white graphics */
  117. #define ^bHIRES^b  6                        /* B&W hi res 640 * 200 */
  118. #define ^bMONO^b   7                        /* monocrome 80 x 25 */
  119. !short: Macro to set attribute byte
  120. #define ^bv_setatr^b(bg,fg,blink,bold) ((blink|(bg<<4))|(fg|bold))
  121. !short: PopUp Structures
  122. struct ^bmitem^b {                        /* menu item template */
  123.     int r;                              /* row */
  124.     int c;                              /* col */
  125.     char *t;                            /* text */
  126.     int rv;                             /* return value */
  127. };
  128.   
  129. struct ^bpmenu^b {                        /* popup menu structure */
  130.     int fm;                             /* first menu item index */
  131.     int lm;                             /* last menu item index */
  132.     struct mitem scrn[25];              /* a bunch of menu items */
  133. };
  134.  
  135. WINDOWPTR qpopup();                     /* function returns WP */
  136.     
  137.