home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / CSAPE32.ARJ / INCLUDE / CMWINOBJ.H < prev    next >
Text File  |  1990-08-28  |  3KB  |  99 lines

  1. /*
  2.     cmwinobj.h        3/15/88
  3.  
  4.     % Cmap window routines header.
  5.     by Ted.
  6.  
  7.     OWL 1.2
  8.     Copyright (c) 1988, by Oakland Group, Inc.
  9.     ALL RIGHTS RESERVED.
  10.  
  11.     Revision History:
  12.     -----------------
  13.      8/09/88 jmd    revised to use new object stuff
  14.      9/12/88 jmd    Added in and out data to objects
  15.      4/22/89 ted    Added bcwin class.
  16.      7/12/89 ted    Converted '_func' prototypes from typedef to macro.
  17.      3/28/90 jmd    ansi-fied
  18.      3/05/90 ted    Added cmap resizing flag & macros.
  19. */
  20.  
  21. #ifndef OAK_CMWINOBJ
  22. #define OAK_CMWINOBJ
  23.  
  24. /* #include "winobj.h" - already included via odisp.h */
  25.  
  26. /* -------------------------------------------------------------------------- */
  27.  
  28. #define CMWINM_LASTMSG     (WINM_LASTMSG)
  29.  
  30. extern class_func        (cmwin_Class);
  31. extern classinit_func     (cmwin_MouseInit);
  32.  
  33. typedef struct _cmwinxd {
  34.     win_xd        wd;
  35.  
  36.     /* Declared VOID * so everyone won't have to include cmapdecl.h */
  37.     VOID        *cmap;
  38.  
  39.     int         rowoffs;
  40.     int            coloffs;
  41.  
  42.     boolean        resize;        /* Flag for automatic cmap resizing w/ win resize */
  43. } cmwin_xd;
  44.  
  45. #define cmwin_getxd(win)            ((cmwin_xd *) win_getxd(win))
  46.  
  47. #define cmwin_GetRowoffs(win)        (cmwin_getxd(win)->rowoffs)
  48. #define cmwin_SetRowoffs(win, row)    (cmwin_getxd(win)->rowoffs = (row))
  49. #define cmwin_GetColoffs(win)        (cmwin_getxd(win)->coloffs)
  50. #define cmwin_SetColoffs(win, col)    (cmwin_getxd(win)->coloffs = (col))
  51. #define cmwin_GetResize(win)        (cmwin_getxd(win)->resize)
  52. #define cmwin_SetResize(win, rsz)    (cmwin_getxd(win)->resize = (rsz))
  53. /* -------------------------------------------------------------------------- */
  54.  
  55. #define cmwin_DrawStringAttr(win, row, col, string, attrbuf, slen) \
  56.             cmwin_dsa(win, row, col, string, attrbuf, 0, slen)
  57.  
  58. #define cmwin_DrawString(win, row, col, string, attr, slen)     \
  59.             cmwin_dsa(win, row, col, string, NULL, attr, slen)
  60.  
  61. /* -------------------------------------------------------------------------- */
  62. /*** Functions ***/
  63.  
  64. /* CMWINDRA.C */
  65. extern int        cmwin_GetStringAttr(win_type win, int row, int col, char *charbuf, byte *attrbuf, int maxlen);
  66. extern char       *cmwin_dsa(win_type win, int row, int col, char *string, byte *attrbuf, byte attr, int slen);
  67. extern char       *cmwin_DrawChar(win_type win, int row, int col, char c, byte attr);
  68. extern void        cmwin_DrawBox(win_type win, char *boxcp, ocbox *cboxp, byte attr);
  69. extern void        cmwin_DrawHzLine(win_type win, char *linecp, int row1, int col1, int length, byte attr);
  70. extern void        cmwin_DrawVtLine(win_type win, char *linecp, int row1, int col1, int length, byte attr);
  71. extern void        cmwin_ScrollBoxVt(win_type win, ocbox *cboxp, int n);
  72. extern void        cmwin_ScrollBoxHz(win_type win, ocbox *cboxp, int n);
  73. extern void        cmwin_ClearBox(win_type win, ocbox *cboxp, byte attr);
  74. extern void        cmwin_Clear(win_type win, byte attr);
  75.  
  76. /* CMWINTTY.C */
  77. extern void        cmwin_PlotTTY(win_type win, char *string);
  78.  
  79. /* -------------------------------------------------------------------------- */
  80. /* Blank char window class */
  81.  
  82. #define BCWINM_LASTMSG     (WINM_LASTMSG)
  83.  
  84. extern class_func        (bcwin_Class);
  85.  
  86. typedef struct _bcwinxd {
  87.     win_xd        wd;
  88.  
  89.     char        bchar;
  90. } bcwin_xd;
  91.  
  92. #define bcwin_getxd(win)            ((bcwin_xd *) win_getxd(win))
  93.  
  94. #define bcwin_GetChar(win)        (bcwin_getxd(win)->bchar)
  95. #define bcwin_SetChar(win, bc)    (bcwin_getxd(win)->bchar = (bc))
  96. /* -------------------------------------------------------------------------- */
  97. #endif
  98.  
  99.