home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / CSAPE32.ARJ / INCLUDE / VIDDECL.H < prev    next >
C/C++ Source or Header  |  1990-03-28  |  4KB  |  99 lines

  1. /*
  2.     viddecl.h
  3.  
  4.     % Video Functions
  5.  
  6.     Everything that needs to be included on top of "disp.h" to use vid_ calls.
  7.     For compatibility with C-Scape 2.x
  8.  
  9.     OWL 1.2
  10.     Copyright (c) 1988, by Oakland Group, Inc.
  11.     ALL RIGHTS RESERVED.
  12.  
  13.     Revision History:
  14.     -----------------
  15.     12/22/88 jmd    12:22 swapped args to vid_SetMap macro
  16.  
  17.      3/28/90 jmd    ansi-fied
  18. */
  19.  
  20. #    include "cmwinobj.h"
  21.  
  22. /* Global window used by vid_ functions */
  23. OEXTERN win_type vid_win;
  24.  
  25. #define vid_GetWin(win)                (vid_win)
  26.  
  27. #define vid_SetWin(win)                                \
  28.     (win_GetID(win) == ID_CMWIN) ? (win_MakeCurrent(win), vid_win = win) : \
  29.                                     NULL)
  30.  
  31. /* -------------------------------------------------------------------------- */
  32. #define vid_SetDriver(driver)        disp_SetCurrent(driver)
  33. #define vid_GetDriver()                disp_GetCurrent()
  34. #define vid_Close()                    disp_Close()
  35.  
  36. #define vid_GetMode()                disp_GetMode()
  37.  
  38. #define vid_Cache()                    disp_Cache()
  39. #define vid_Flush()                    disp_Flush()
  40.  
  41. #define vid_SetMap(attr, colors)                    \
  42.     disp_SetAttrColors(attr, (opixval)(colors >> 4), (opixval)(colors & 0x0F))
  43. /*
  44.     The functions vid_GetWidth() and vid_GetHeight are inconsistent with the
  45.     other vid_ functions here in that they do not refer to vid_win. This is
  46.     so that old code which does not use a vid_win can still find out the
  47.     display size. If your code needs to know the dimensions of the vid_win,
  48.     change it to use vid_GetWinWidth() and vid_GetWinHeight.
  49.     Likewise, the function cls() clears the whole display whether or not any
  50.     background window or vid_win is present. To clear the vid_win, call
  51.     win_Clear(vid_win, win_bgcolor(vid_win)).
  52. */
  53.  
  54. #define vid_GetWidth()                disp_GetWidth()
  55. #define vid_GetHeight()                disp_GetHeight()
  56.  
  57. #define vid_GetWinWidth()            win_GetWidth(vid_win)
  58. #define vid_GetWinHeight()            win_GetHeight(vid_win)
  59.  
  60. /* -------------------------------------------------------------------------- */
  61. #define vid_GetCursorType()            win_GetCursorType(vid_win)
  62. #define vid_SetCursorType(type)        win_SetCursorType(vid_win, type)
  63. #define vid_GetCursorPos(rowp, colp) win_GetCursorPos(vid_win, rowp, colp)
  64. #define vid_SetCursorPos(row, col)    win_SetCursorPos(vid_win, row, col)
  65.  
  66. /* -------------------------------------------------------------------------- */
  67. #define vidwin_Class                cmwin_Class
  68.  
  69. #define vid_PutStringAttr(row, col, string, attrbuf, slen) \
  70.     cmwin_DrawStringAttr(vid_win, row, col, string, attrbuf, slen)
  71.  
  72. #define vid_PutString(row, col, string, attr, slen) \
  73.     cmwin_DrawString(vid_win, row, col, string, attr, slen)
  74.  
  75. #define vid_PutChar(row, col, c, attr)                \
  76.     cmwin_DrawChar(vid_win, row, col, c, attr)
  77.  
  78. #define vid_Clear(attr)                cmwin_Clear(vid_win, attr)
  79.  
  80. /* These macros do nothing */
  81. #define vid_Push()
  82. #define vid_Pop()
  83. #define vid_PushWindow(y1, x1, y2, x2)
  84. #define vid_PopWindow(y1, x1, y2, x2)
  85. /* -------------------------------------------------------------------------- */
  86.  
  87. /* VID.C */
  88. extern byte     vid_GetMap(byte attr);
  89. extern char        vid_GetChar(int row, int col);
  90. extern int        vid_PutAttr(int row, int col, byte *attrbuf, int slen);
  91. extern char       *vid_GetAttr(int row, int col, int slen);
  92. extern void        vid_ScrollWindow(int toprow, int leftcol, int botrow, int rightcol, int lines, byte attr);
  93. extern void        vid_ClearWindow(int toprow, int leftcol, int botrow, int rightcol, byte attr);
  94. extern void        vid_DrawLine(char *linecp, int row1, int col1, int row2, int col2, byte attr);
  95. extern void        vid_DrawBox(char *boxcp, int row1, int col1, int row2, int col2, byte attr);
  96.  
  97. /* -------------------------------------------------------------------------- */
  98.  
  99.