home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / CLIPPER / MISC / EMXLIB8F.ZIP / EMX / LIB / VIDEO / WMPUTC.C < prev    next >
Encoding:
C/C++ Source or Header  |  1993-01-02  |  894 b   |  45 lines

  1. /* wmputc.c (emx+gcc) -- Copyright (c) 1987-1993 by Eberhard Mattes */
  2.  
  3. #include <sys/winmgr.h>
  4. #include "winmgr2.h"
  5.  
  6. void wm_putc (wm_handle wh, char c)
  7. {
  8.   int mx, my;
  9.  
  10.   switch (c)
  11.     {
  12.     case '\n':
  13.       wh->x = 0;
  14.       ++wh->y;
  15.       break;
  16.     default:
  17.       mx = wh->x+wh->ax;
  18.       my = wh->y+wh->ay;
  19.       if (wh->display)
  20.         {
  21.           if (wh->visible || MASK (wh, mx, my))
  22.             _wm_putc2 (c, wh->x+wh->x0, wh->y+wh->y0, wh->wattr);
  23.         }
  24.       else
  25.         wh->update_req = TRUE;
  26.       _wm_store1 (wh, mx, my, c, wh->wattr);
  27.       if (++wh->x >= wh->width)
  28.         {
  29.           if (wh->wrap)
  30.             {
  31.               wh->x = 0;
  32.               ++wh->y;
  33.             }
  34.           else
  35.             --wh->x;
  36.         }
  37.     }
  38.   if (wh->y >= wh->height)
  39.     {
  40.       --wh->y;
  41.       wm_scroll (wh, 1);
  42.     }
  43.   _wm_cursor1 ();
  44. }
  45.