home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c185 / 2.ddi / OWLSRC.EXE / CSCAPE / SOURCE / PMWINOBJ.H < prev    next >
Encoding:
C/C++ Source or Header  |  1989-09-12  |  1.9 KB  |  62 lines

  1. /*
  2.     pmwinobj.h    3/15/88
  3.  
  4.     % Pmap window object header.
  5.     by Ted.
  6.  
  7.     OWL 1.1
  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.      3/24/89 ted    Changed order of args to pmwin_Open and pmwin_PixOpen.
  16.      7/12/89 ted    Converted '_func' prototypes from typedef to macro.
  17.      9/12/89 jmd    added scroll message to set pmap
  18. */
  19.  
  20. /* #include "winobj.h" - already included via odisp.h */
  21.  
  22. /* -------------------------------------------------------------------------- */
  23.  
  24. #define PMWINM_LASTMSG     (WINM_LASTMSG)
  25.  
  26. /* The pmwin class */
  27.  
  28. extern class_func        (pmwin_Class);
  29. extern classinit_func     (pmwin_MouseInit);
  30.  
  31. typedef struct {
  32.     win_xd        wd;
  33.     pmap_type     pmap;
  34. } pmwin_xd;
  35.  
  36. #define pmwin_getxd(win)            ((pmwin_xd *) win_getxd(win))
  37.  
  38. extern win_type        pmwin_Open(_arg4(class_fptr pmwinclass, int row, int col,
  39.                         pmap_type pmap));
  40.  
  41. extern win_type        pmwin_PixOpen(_arg5(class_fptr pmwinclass, opcoord x, opcoord y,
  42.                         pmap_type pmap, ofont_type font));
  43.  
  44. /* Note included publicly like this because everyone has to include */
  45. /* pmapdecl.h anyway. Having it public makes toon & paint win classes simpler */
  46. #define pmwin_GetPmap(win)            (pmwin_getxd(win)->pmap)
  47. #define pmwin_SetPmap(win, pm)        (pmwin_getxd(win)->pmap = (pm), bord_SendMsg(win, BDM_SCROLL, NULL, NULL))
  48.  
  49. /* -------------------------------------------------------------------------- */
  50. /* The grwin class */
  51.  
  52. extern class_func        (grwin_Class);
  53. typedef pmwin_xd        grwin_xd;
  54. #define grwin_getxd(win)            ((grwin_xd *) pmwin_getxd(win))
  55.  
  56. #define grwin_ClassInit    pmwin_ClassInit
  57. #define grwin_GetPmap(win)            pmwin_GetPmap(win)
  58. #define grwin_SetPmap(win, pm)        pmwin_SetPmap(win, pm)
  59.  
  60. /* -------------------------------------------------------------------------- */
  61.  
  62.