home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / CSAPE32.ARJ / INCLUDE / SEDPRIV.H < prev    next >
C/C++ Source or Header  |  1990-09-24  |  5KB  |  155 lines

  1. /*
  2.     sedpriv.h
  3.  
  4.     % private header for sed objects
  5.  
  6.     C-scape 3.2
  7.     Copyright (c) 1986-1988, by Oakland Group, Inc.
  8.     ALL RIGHTS RESERVED.
  9.  
  10.     Revision History:
  11.     -----------------
  12.     11/28/88 jmd    reorganized headers
  13.  
  14.      3/24/89 jmd    added some macros
  15.      3/29/89 jmd    converted seds to 'pure' objects
  16.      4/11/89 jmd    added single field paint optimization
  17.      4/13/89 jmd    put field array into sed_xd as well
  18.      5/23/89 jdc    made menu_RemoveBob() private (sedpriv.h) not static
  19.      5/29/89 jmd    simplified paint flags
  20.  
  21.     12/10/89 jmd     made ReallyGo a wingo_func
  22.     12/13/89 gam    fixed GetRegAttr, etc. for new xd structure
  23.      2/15/90 jmd    made GetRegAttr public
  24.      3/28/90 jmd    ansi-fied
  25.      7/29/90 jmd    made sed_GetAux call objGetAux
  26.      9/24/90 jmd     made ReallyGo a regular func again
  27. */
  28.  
  29. /* sed_DoThemBobs Flags */
  30.  
  31. #define    SDTB_DEP        0x02        /* depend flag */
  32. #define    SDTB_ALL        0x04        /* do all them bobs flag */
  33.  
  34.  
  35. /* Function Prototypes */
  36.  
  37. /* SDOPEN.C */
  38. extern move_func (default_move);
  39.  
  40. /* SDPLOAT.C */
  41. extern void        sed_Ploat(sed_type sed, ptd_struct *ptd, int blankrow);
  42.  
  43. /* SDWIN.C */
  44. extern void        menu_RemoveBob(menu_type menu, win_type win);
  45. extern void        sd_plot_field(sed_type sed, field_type field, int fldno, ptd_struct *ptd);
  46.  
  47. /* SDDOBOB.C */
  48. extern void        sed_DoThemBobs(sed_type sed, int msg, VOID *indata, VOID *outdata, unsigned mode);
  49.  
  50. /* SDGO.C */
  51. extern int         sed_ReallyGo(sed_type sed);
  52. extern boolean  sd_exitfield(sed_type sed);
  53.  
  54. /* SDGOTO.C */
  55. extern void        sd_goto_field(sed_type sed, int fieldno);
  56.  
  57. /* SDDISP.C */
  58. extern void        sd_adjust_cur(sed_type sed);
  59. extern void        sd_scroll(sed_type sed, int deltarow, int deltacol, boolean preset);
  60. extern boolean  sd_goto_char(sed_type sed, int fieldpos);
  61. extern void        sd_paintbox(sed_type sed, int row, int col, int hgt, int wid, int mode);
  62.  
  63. /* SDSCRLAD.C */
  64. extern void        sd_scroll_adjust(sed_type sed, int fieldno);
  65.  
  66. /* SDOVER.C */
  67. extern void        sd_overwrite(sed_type sed);
  68.  
  69. /* SDOK.C */
  70. extern boolean  sed_Ok(sed_type sed);
  71.  
  72. /*** paint flag values ***/
  73. /* values >= 0 indicate a single field to be painted */
  74.  
  75. #define    SDPF_ALL            -1
  76. #define SDPF_NONE            -2
  77. #define    SDPF_FIELDS            -3
  78. #define SDPF_SHADOW            -4
  79.  
  80. /*** Macros ***/
  81.  
  82. #define sed_SetFieldNo(sed, fno)     ((sed_getxd(sed))->fieldno = fno)
  83. #define sed_SetCurrField(sed, fld)     ((sed_getxd(sed))->currfield = fld)
  84. #define sed_SetRecordPos(sed, pos)     ((sed_getxd(sed))->fieldpos = pos)
  85.  
  86. #define sed_SetPaintFlag(sed, f)     ((sed_getxd(sed))->paint_flag = (f))
  87.  
  88. #define sed_SetXoffset(sed, xoff)     ((sed_getxd(sed))->xoffset = xoff)
  89. #define sed_SetYoffset(sed, yoff)     ((sed_getxd(sed))->yoffset = yoff)
  90.  
  91. #define sed_SetSelAttr(sed, a)        ((sed_getxd(sed))->sel = a)
  92. #define sed_SetRegAttr(sed, a)        ((sed_getxd(sed))->reg = a)
  93.  
  94. #define sed_SetTrow(sed, tr)        ((sed_getxd(sed))->row = tr)
  95. #define sed_SetTcol(sed, tc)        ((sed_getxd(sed))->col = tc)
  96.  
  97. #define sed_SetCtype(sed, ct)        ((sed_getxd(sed))->ctype = ct)
  98.  
  99. #define sed_SetMove(sed, m)         ((sed_getxd(sed))->move = m)
  100.  
  101. #define sed_SetMenu(sed, m)         ((sed_getxd(sed))->menu = m)
  102.  
  103. #define sed_GetPaintFlag(sed)         ((sed_getxd(sed))->paint_flag)
  104.  
  105. #define sed_GetExplode(sed)            win_GetExplodeFptr(sed)
  106.  
  107. #define sed_GetSelAttr(sed)            ((sed_getxd(sed))->sel)
  108. #define sed_GetRegAttr(sed)            ((sed_getxd(sed))->reg)
  109.  
  110. #define sed_GetTrow(sed)            ((sed_getxd(sed))->row)
  111. #define sed_GetTcol(sed)            ((sed_getxd(sed))->col)
  112.  
  113. #define sed_GetCtype(sed)            ((sed_getxd(sed))->ctype)
  114.  
  115. #define sed_GetMenuVHeight(sed)    menu_GetVHeight(sed_GetMenu(sed))
  116. #define sed_GetMenuVWidth(sed)    menu_GetVWidth(sed_GetMenu(sed))
  117.  
  118. #define sed_GetSpecial(sed)     ((sed_getxd(sed))->special)
  119. #define sed_GetAux(sed)            obj_GetAux(sed)
  120. #define sed_GetMoveMethod(sed)     ((sed_getxd(sed))->move)
  121. #define sed_GetFuncNameA(sed)    ((sed_getxd(sed))->funcnamea)
  122.  
  123. #define sed_SetMenuVHeight(sed, h)    menu_SetVHeight(sed_GetMenu(sed), h)
  124. #define sed_SetMenuVWidth(sed, w)    menu_SetVWidth(sed_GetMenu(sed), w)
  125.  
  126. #define sed_SetFieldXoffset(sed, fieldno, x) \
  127.     field_SetXoffset(sed_GetField(sed, fieldno), x)
  128.  
  129. #define sed_SetFa(sed, flda)    ((sed_getxd(sed))->fa = (flda))
  130. #define sed_GetFa(sed)            ((sed_getxd(sed))->fa)
  131.  
  132. #define    sed_IsCache(sed)        ((sed_getxd(sed))->cache)
  133. #define    sed_SetCache(sed, x)    ((sed_getxd(sed))->cache = (x))
  134.  
  135. /*** bob macros ***/
  136.  
  137. #define    sed_GetBobCount(sed)        menu_GetBobCount(sed_GetMenu(sed))
  138.  
  139. /*** name macros ***/
  140.  
  141. #define sed_FindFieldNo(sed, name)    \
  142.       menu_FindFieldNo(sed_GetMenu(sed), name)
  143.  
  144. /***  tb stuff ***/
  145. #define sed_RepaintBelow(sed, row) \
  146.     sd_paintbox((sed), row, sed_GetXoffset(sed), \
  147.         sed_GetHeight(sed) - ((row) - sed_GetYoffset(sed)), \
  148.         sed_GetWidth(sed), -1)
  149.  
  150. #define sed_RepaintRow(sed, row, col, slen) \
  151.     sd_paintbox((sed), row, col, 1, slen, -1)
  152.  
  153. #define sed_RepaintRows(sed, srow, erow) \
  154.     sd_paintbox((sed), srow, sed_GetXoffset(sed), (erow) - (srow) + 1, sed_GetWidth(sed), -1)
  155.