home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / CSAPE32.ARJ / SOURCE / CSSRC / SDOVER.C < prev    next >
C/C++ Source or Header  |  1990-03-28  |  1KB  |  53 lines

  1. /*
  2.       sdover.c
  3.  
  4.     % sd_overwrite
  5.  
  6.     C-scape 3.2
  7.     Copyright (c) 1986, 1987, by Oakland Group, Inc.
  8.     ALL RIGHTS RESERVED.
  9.  
  10.     Revision History:
  11.     -----------------
  12.     11/18/87 jmd     changed name of function
  13.      6/30/88 jmd     added windows
  14.      9/11/88 jmd     removed extra argument
  15.     12/02/88 jmd     fixed "doesn't paint when scrolled" bug
  16.     12/14/88 jmd    hand optimized
  17.  
  18.      3/24/89 jmd    added sed_ macros
  19.      4/11/89 jmd    added single field paint optimization
  20.      4/13/89 jmd    added sed_GetCurrField macro
  21.      5/24/89 jmd    added clipping (via sd_paintbox)
  22.      8/23/89 jmd    Added cache flag support
  23.      3/28/90 jmd    ansi-fied
  24. */
  25.  
  26. #include "sed.h"
  27.  
  28. void sd_overwrite(sed_type sed)
  29. /*
  30.     modifies:     the screen.
  31.             
  32.     effects:    prints character c at the current position.
  33. */
  34. {
  35.     int     fp, col;
  36.     field_type field;
  37.  
  38.     cs_Assert(sed_Ok(sed), CS_MD_OVR_SED, 0);
  39.  
  40.     field = sed_GetCurrField(sed);
  41.  
  42.     fp = (sed_GetRecordPos(sed) > 0) ? sed_GetRecordPos(sed) : 0;
  43.     col = field_GetCol(field) + field_GetR2M(field, fp) - field_GetXoffset(field);
  44.  
  45.     /* do we need to cache? */
  46.     if (sed_IsActive(sed) && !sed_IsCache(sed)) {
  47.         disp_Cache();
  48.         sed_SetCache(sed, TRUE);
  49.     }
  50.  
  51.     sd_paintbox(sed, field_GetRow(field), col, 1, 1, sed_GetFieldNo(sed));
  52. }
  53.