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

  1. /*
  2.     sdwinimo.c    12/12/88
  3.  
  4.     % Sed mouse request handler function
  5.     By Ted.
  6.  
  7.     C-scape 3.2
  8.     Copyright (c) 1988, by Oakland Group, Inc.
  9.     ALL RIGHTS RESERVED.
  10.  
  11.     Revision History:
  12.     -----------------
  13.      2/07/89 jmd    Removed bordobj.h
  14.      2/08/89 jmd    Removed void from function definition
  15.      8/08/89 jmd    moved most everything to sdwin
  16.  
  17.     10/25/89 jmd    added static to definition
  18.      3/28/90 jmd    ansi-fied
  19.     11/01/90 ted    put (void) in arg list of sedwin_MouseInit.
  20. */
  21.  
  22. #include "sed.h"
  23. #include "sedwinod.h"
  24. #include "winobj.h"
  25.  
  26. OSTATIC objreq_func (sdwinreq_mouse);
  27.  
  28. void sedwin_MouseInit(void)
  29. {
  30.     sdwinreq_mousefptr = sdwinreq_mouse;
  31.     win_MouseInit();
  32. }
  33.  
  34. static int sdwinreq_mouse(VOID *objdata, int msg, VOID *indata, VOID *outdata)
  35. /*
  36.     mouse request handler for sed window class
  37.     handles scrolling requests
  38. */
  39. {
  40.     int row, col;
  41.     sed_type sed;
  42.  
  43.     oak_notused(outdata);
  44.  
  45.     switch(msg) {
  46.     case WINM_SCROLLREQ:
  47.         /* A request to scroll the sed */
  48.         sed = sedod_GetSelf(((sedwin_od *)objdata));
  49.         row = ((opoint *)indata)->y / win_GetFontHeight(sed);
  50.         col = ((opoint *)indata)->x / win_GetFontWidth(sed);
  51.  
  52.         if (row < 0) {
  53.             sed_ScrollUp(sed, -row);
  54.         }
  55.         else if (row > 0) {
  56.             sed_ScrollDown(sed, row);
  57.         }
  58.  
  59.         if (col < 0) {
  60.             sed_ScrollLeft(sed, -col);
  61.         }
  62.         else if (col > 0) {
  63.             sed_ScrollRight(sed, col);
  64.         }
  65.         return(TRUE);
  66.     }
  67.     return(FALSE);
  68. }
  69.  
  70.