home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / CSAPE32.ARJ / INCLUDE / PMWINOBJ.H < prev    next >
C/C++ Source or Header  |  1990-06-18  |  2KB  |  72 lines

  1. /*
  2.     pmwinobj.h    3/15/88
  3.  
  4.     % Pmap window object header.
  5.     by Ted.
  6.  
  7.     OWL 1.2
  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.      3/28/90 jmd    ansi-fied
  20.      6/17/90 ted    Moved xoffs, yoffs here from pmwin od; added get/set macros.
  21. */
  22.  
  23. /* #include "winobj.h" - already included via odisp.h */
  24.  
  25. /* -------------------------------------------------------------------------- */
  26. /* The pmwin class */
  27.  
  28. #define PMWINM_LASTMSG     (WINM_LASTMSG)
  29.  
  30. extern class_func        (pmwin_Class);
  31. extern classinit_func     (pmwin_MouseInit);
  32.  
  33. typedef struct _pmwinxd {
  34.     win_xd        wd;                  /* window super class */
  35.     pmap_type     pmap;
  36.  
  37.     opcoord        xoffs;            /* coords of win upper left within pmap */
  38.     opcoord        yoffs;
  39. } pmwin_xd;
  40.  
  41. #define pmwin_getxd(win)            ((pmwin_xd *) win_getxd(win))
  42.  
  43. /* PMWINOPE.C */
  44. extern win_type pmwin_Open(class_fptr pmwinclass, int row, int col, pmap_type pmap);
  45. extern win_type pmwin_PixOpen(class_fptr pmwinclass, opcoord x, opcoord y, pmap_type pmap, ofont_type font);
  46.  
  47. /* Note included publicly like this because everyone has to include */
  48. /* pmapdecl.h anyway. Having it public makes toon & paint win classes simpler */
  49. #define pmwin_GetPmap(win)            (pmwin_getxd(win)->pmap)
  50. #define pmwin_SetPmap(win, pm)        (pmwin_getxd(win)->pmap = (pm), bord_SendMsg(win, BDM_SCROLL, NULL, NULL))
  51.  
  52. #define pmwin_GetXoffs(win)            (pmwin_getxd(win)->xoffs)
  53. #define pmwin_GetYoffs(win)            (pmwin_getxd(win)->yoffs)
  54. #define pmwin_setxyoffs(win, xo, yo) (pmwin_getxd(win)->xoffs = (xo), pmwin_getxd(win)->yoffs = (yo))
  55. /* -------------------------------------------------------------------------- */
  56. /* The grwin class */
  57.  
  58. #define GRWINM_LASTMSG     (PMWINM_LASTMSG)
  59.  
  60. extern class_func        (grwin_Class);
  61. typedef pmwin_xd        grwin_xd;
  62. #define grwin_getxd(win)            ((grwin_xd *) pmwin_getxd(win))
  63.  
  64. #define grwin_ClassInit    pmwin_ClassInit
  65. #define grwin_GetPmap(win)            pmwin_GetPmap(win)
  66. #define grwin_SetPmap(win, pm)        pmwin_SetPmap(win, pm)
  67.  
  68. #define grwin_GetXoffs(win)            pmwin_GetXoffs(win)
  69. #define grwin_GetYoffs(win)            pmwin_GetYoffs(win)
  70. /* -------------------------------------------------------------------------- */
  71.  
  72.