home *** CD-ROM | disk | FTP | other *** search
/ Mega CD-ROM 1 / megacd_rom_1.zip / megacd_rom_1 / DESQVIEW / DVGLU101.ZIP / TVSTREAM.H < prev    next >
Text File  |  1988-08-13  |  9KB  |  201 lines

  1. /*=================================================*/
  2. /* TVSTREAM.H                                      */
  3. /*   prototypes and definitions for streams        */
  4. /*                                                 */
  5. /* (c) Copyright 1988 Ralf Brown                   */
  6. /*=================================================*/
  7.  
  8. /*==========================================*/
  9. /* stream headers, place at beginning of a  */
  10. /* stream                                   */
  11. /*==========================================*/
  12.  
  13. #define S_WINDOW(size)  0x1B, 0x00, size&0xFF, size>>8
  14. #define S_QUERY(size)   0x1B, 0x01, size&0xFF, size>>8
  15. #define S_MANAGER(size) 0x1B, 0x10, size&0xFF, size>>8
  16.  
  17. /*==========================================*/
  18.  
  19. #define WS_BLANKS(num)        0x00|(num & 0x1F)
  20. #define WS_CHAR(num,ch)       0x20|(num & 0x1F),ch
  21. #define WS_ATTR(num,attr)     0x40|(num & 0x1F),attr
  22. #define WS_CHARS(num)         0x60|(num & 0x1F)   /* followed by appr # chars */
  23. #define WS_MANYBLANKS(num)    0x80|((num >> 8) & 7),(num & 0xFF)
  24. #define WS_MANYCHAR(num,ch)   0x88|((num >> 8) & 7),(num & 0xFF),ch
  25. #define WS_MANYATTR(num,attr) 0x90|((num >> 8) & 7),(num & 0xFF),attr
  26. #define WS_MANYCHARS(num)     0x98|((num >> 8) & 7),(num & 0xFF) /* + chars */
  27. #define WS_SETCURSROW(row)    0xA0,row
  28. #define WS_SETCURSCOL(col)    0xA1,col
  29. #define WS_SCRLROW(row)       0xA2,row
  30. #define WS_SCRLCOL(col)       0xA3,col
  31. #define WS_WINROW(row)        0xA4,row
  32. #define WS_WINCOL(col)        0xA5,col
  33. #define WS_WINROWS(rows)      0xA6,rows
  34. #define WS_WINCOLS(cols)      0xA7,cols
  35. #define WS_VIEWPORTROW(row)   0xA8,row
  36. #define WS_VIEWPORTCOL(col)   0xA9,col
  37. #define WS_LSIZEROWS(rows)    0xAA,rows
  38. #define WS_LSIZECOLS(cols)    0xAB,cols
  39. #define WS_CURSDOWN(rows)     0xB0,rows
  40. #define WS_CURSRIGHT(cols)    0xB1,cols
  41. #define WS_SCRLORIGDOWN(rows) 0xB2,rows
  42. #define WS_SCRLORIGRIGHT(rows) 0xB3,cols
  43. #define WS_SHFTWINROW(rows)   0xB4,rows
  44. #define WS_SHFTWINCOL(cols)   0xB5,cols
  45. #define WS_EXPWINROWS(rows)   0xB6,rows
  46. #define WS_EXPWINCOLS(cols)   0xB7,cols
  47. #define WS_SHFTVIEWROW(rows)  0xB8,rows
  48. #define WS_SHFTVIEWCOL(cols)  0xB9,cols
  49. #define WS_RELSIZEROWS(rows)  0xBA,rows
  50. #define WS_RELSIZECOLS(cols)  0xBB,cols
  51. #define WS_CURSPOS(row,col)   0xC0,row,col
  52. #define WS_SCRLORIG(row,col)  0xC1,row,col
  53. #define WS_WINPOS(row,col)    0xC2,row,col
  54. #define WS_WINSIZE(rows,cols) 0xC3,rows,cols
  55. #define WS_VIEWPORT(row,col)  0xC4,row,col
  56. #define WS_LSIZE(rows,cols)   0xC5,rows,cols
  57. #define WS_RELCURS(rows,cols) 0xC8,rows,cols
  58. #define WS_RELSCRL(rows,cols) 0xC9,rows,cols
  59. #define WS_RELWINPOS(rows,cols) 0xCA,rows,cols
  60. #define WS_RELWINSIZ(rows,cols) 0xCB,rows,cols
  61. #define WS_RELVIEWP(rows,cols) 0xCC,rows,cols
  62. #define WS_RELLSIZE(rows,cols) 0xCD,rows,cols
  63. #define WS_UPDATE             0xD4,0xE4
  64. #define WS_UNHIDDEN           0xD4
  65. #define WS_HIDDEN             0xD5
  66. #define WS_FRAME              0xD6
  67. #define WS_NOFRAME            0xD7
  68. #define WS_READCHAR           0xD8
  69. #define WS_READATTR           0xD9
  70. #define WS_LOGATTR            0xDA
  71. #define WS_PHYSATTR           0xDB
  72. #define WS_CTRLCHAR           0xDC
  73. #define WS_NOCTRLCHAR         0xDD
  74. #define WS_WRITEATTR          0xDE
  75. #define WS_LEAVEATTR          0xDF
  76. #define WS_REPEAT(count)      0xE0,count
  77. #define WS_DOREPEAT           0xE1
  78. #define WS_SETCOLOR(color)    0xE2,color
  79. #define WS_CLEAR              0xE3
  80. #define WS_REDRAW             0xE4
  81. #define WS_TWOKEY_MENU        0xE5,0x18
  82. #define WS_NEWWIN(rows,cols)  0xE6,rows,cols
  83. #define WS_SCRL_UP(h,w)       0xE8,h,w
  84. #define WS_SCRL_DOWN(h,w)     0xE9,h,w
  85. #define WS_SCRL_LEFT(h,w)     0xEA,h,w
  86. #define WS_SCRL_RIGHT(h,w)    0xEB,h,w
  87. /* each of the next three opcodes must be followed by the proper number of */
  88. /* data bytes */
  89. #define WS_ATTRIB(flags,f,start,num) 0xEC,flags,(f<<7)|((start&7)<<4)|(num&15)
  90. #define WS_FRATTR(flags,f,start,num) 0xED,flags,(f<<7)|((start&7)<<4)|(num&15)
  91. #define WS_FRCHAR(flags,f,start,num) 0xEE,flags,(f<<7)|((start&7)<<4)|)num&15)
  92. #define WS_TITLE(len)         0xEF,len  /* followed by "len" chars for title */
  93. #define WS_FLDCLEAR(fld)      0xF0,fld
  94. #define WS_FLDCHAR(fld,char)  0xF1,fld,char
  95. #define WS_FLDATTR(fld,color) 0xF2,fld,color
  96. #define WS_FLDCURS(fld)       0xF4,fld
  97. #define WS_FLDTYPE(fld,type)  0xF6,fld,type
  98. #define WS_FLDSCRLUP(fld)     0xF8,fld
  99. #define WS_FLDSCRLDOWN(fld)   0xF9,fld
  100. #define WS_FLDSCRLLEFT(fld)   0xFA,fld
  101. #define WS_FLDSCRLRIGHT(fld)  0xFB,fld
  102. #define WS_FLDUNMODIFY        0xFD
  103. #define WS_FLDRESET           0xFE
  104.  
  105. /*==========================================*/
  106.  
  107. #define QS_CURSROW            0xA0,0
  108. #define QS_CURSCOL            0xA1,0
  109. #define QS_SCRLROW            0xA2,0
  110. #define QS_SCRLCOL            0xA3,0
  111. #define QS_WINROW             0xA4,0
  112. #define QS_WINCOL             0xA5,0
  113. #define QS_WINROWS            0xA6,0
  114. #define QS_WINCOLS            0xA7,0
  115. #define QS_VIEWROW            0xA8,0
  116. #define QS_VIEWCOL            0xA9,0
  117. #define QS_LSIZEROWS          0xAA,0
  118. #define QS_LSIZECOLS          0xAB,0
  119. #define QS_CURSPOS            0xC0,0,0
  120. #define QS_SCRLORIG           0xC1,0,0
  121. #define QS_WINPOS             0xC2,0,0
  122. #define QS_WINSIZE            0xC3,0,0
  123. #define QS_VIEWPORT           0xC4,0,0
  124. #define QS_LOGSIZE            0xC5,0,0
  125. #define QS_HIDDEN             0xD5
  126. #define QS_FRAME              0xD6
  127. #define QS_READATTR           0xD9
  128. #define QS_LOGATTR            0xDA
  129. #define QS_CTRLCHAR           0xDC
  130. #define QS_LEAVEATTR          0xDF
  131. #define QS_COLOR              0xE2,0
  132. #define QS_FLDTYPE            0xF6,0
  133.  
  134. /*==========================================*/
  135. /* OR in these when building manager stream */
  136. /* which uses the immediately following     */
  137. /* manifest constants                       */
  138. /* *don't* OR in when calling TVwin_allow,  */
  139. /* TVwin_disallow, TVwin_notify, or         */
  140. /* TVwin_cancel                             */
  141. /*==========================================*/
  142.  
  143. #define MS_ALLOW            0x00
  144. #define MS_DISALLOW         0x20
  145. #define MS_NOTIFY           0x40
  146. #define MS_NONOTIFY         0x60
  147.  
  148. #define TV_HMOVE            0x00 /* origin of window moves l/r */
  149. #define TV_VMOVE            0x01 /* origin of window moves u/d */
  150. #define TV_HSIZE            0x02 /* window width changes */
  151. #define TV_VSIZE            0x03 /* window height changes */
  152. #define TV_HSCROLL          0x04 /* window scrolled l/r */
  153. #define TV_VSCROLL          0x05 /* window scrolled u/d */
  154. #define TV_CLOSE            0x06 /* "Close" menu option */
  155. #define TV_HIDE             0x07 /* window hidden */
  156. #define TV_MARK             0x08 /* "Mark" menu, allow/disallow only */
  157. #define TV_HELP             0x08 /* "?" main menu selection, notify/cancel only */
  158. #define TV_COLORS           0x09 /* "Rearrange" "Colors"???  notify/cancel only */
  159. #define TV_SWITCHEDTO       0x0A /* switched from another window to this one, notify/cancel only */
  160. #define TV_RAISE            TV_SWITCHEDTO
  161. #define TV_SWITCHEDAWAY     0x0B /* switched to another window, notify/cancel only */
  162. #define TV_LOWER            TV_SWITCHEDAWAY
  163. #define TV_VIDEOMODE        0x0C /* changing video mode, notify/cancel only */
  164. #define TV_SCISSORS_CUT     0x0D /* selected "Scissors" "Cut", notify/cancel only */
  165. #define TV_SCISSORS_COPY    0x0E /* selected "Scissors" "Copy" */
  166. #define TV_SCISSORS         0x0E /* allow/disallow "Scissors" menu */
  167. #define TV_SCISSORS_PASTE   0x0F /* "Scissors" "Paste" selected, notify/cancel only */
  168. #define TV_MAINMENU         0x10 /* DV menu popped up */
  169. #define TV_SWITCH           0x11 /* "Switch" menu, allow/disallow only */
  170. #define TV_MENU_END         0x11 /* DV menu popped down, notify/cancel only */
  171. #define TV_OPENMENU         0x12 /* "Open" menu, allow/disallow only */
  172. #define TV_QUIT             0x13 /* "Quit" selection, allow/disallow only */
  173.  
  174. /*==========================================*/
  175.  
  176. #define MS_ATTACH             0x84
  177. #define MS_DETACH             0x85
  178. #define MS_FOREONLY           0x86
  179. #define MS_NOFOREONLY         0x87
  180. #define MS_MINSIZE(rows,cols) 0x88,rows,cols
  181. #define MS_MAXSIZE(rows,cols) 0x89,rows,cols
  182. #define MS_PRIM_ASYNC         0x8A /* plus DWORD pointer */
  183. #define MS_SEC_ASYNC          0x8B /* plus DWORD pointer */
  184.  
  185. #define MS_FLDMARKER(ch)      0xAF,ch
  186.  
  187. #define MS_WINTOPSYS          0xC0
  188. #define MS_GOFORE             0xC1
  189. #define MS_WINTOP             0xC2
  190. #define MS_CURRFLDPOS         0xC3
  191. #define MS_FLDPOS             0xC4
  192. #define MS_HIDECURR           0xC5
  193. #define MS_WINSHOW            0xC6
  194. #define MS_HIDE               0xC7
  195. #define MS_SUSPEND            0xC8
  196. #define MS_GOBACK             0xC9
  197. #define MS_WINBOTTOM          0xCA
  198. /* #define MS_???                0xCB */
  199. #define MS_FREETASK           0xCC
  200. #define MS_REORDER            0xCE
  201.