home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 199.lha / DmfSrc_v2.5 / mxgadget.h < prev    next >
Encoding:
C/C++ Source or Header  |  1988-12-27  |  1.6 KB  |  42 lines

  1. #define MXDISABLEGADG  0x0001  /* gadget forces disable of exclude group */
  2. #define MXENABLEGADG   0x0002  /* gadget forces enable of exclude group */
  3. #define MXGADGONOFF    0x0004  /* gadget is enabled/disabled by
  4.                                   the flags MXENABLEGADG/MXDISABLEGADG */
  5. #define MXSELECT       0x0008  /* Gadget is SELECTED (but disabled) */
  6.  
  7. #define GadgFlagSet(x,y)    ((x->Flags & (y)) == (y))
  8. #define GadgFlagNotSet(x,y) (GadgFlagSet(x,y) == 0)
  9.  
  10. #define MxFlagSet(x,y)      (((int)(x->UserData) & (y)) == (y))
  11. #define MxFlagNotSet(x,y)   (MxFlagSet(x,y) == 0)
  12.  
  13.  
  14. #define SetGadgFlag(x,y)    (x->Flags |=  (y))
  15. #define ClearGadgFlag(x,y)  (x->Flags &= ~(y))
  16.  
  17. #define SetMxFlag(x,y)   (x->UserData = (APTR) ((int)(x->UserData) | (y)))
  18. #define ClearMxFlag(x,y) (x->UserData = (APTR) ((int)(x->UserData) & ~(y)))
  19.  
  20.  
  21. #define isSelected(x)    (GadgFlagSet(x,SELECTED))
  22. #define isMxSelected(x)  (MxFlagSet(x,MXSELECT))
  23. #define isAnySelected(x) (GadgFlagSet(x,SELECTED) || MxFlagSet(x,MXSELECT))
  24. #define isNotSelected(x) (isSelected(x) == 0)
  25. #define isDisabled(x)    (GadgFlagSet(x,GADGDISABLED))
  26. #define isNotDisabled(x) (isDisabled(x) == 0)
  27. #define isMxGadget(x)    (x->MutualExclude != 0)
  28. #define isReqGadg(x)     ((x->GadgetType & REQGADGET) == REQGADGET)
  29. #define isNotReqGadg(x)  (isReqGadg(x) == 0)
  30.  
  31.  
  32. #define MxAddGadget        AddGadget
  33. #define MxRemoveGadget     RemoveGadget
  34. #define MxRefreshGadgets   RefreshGadgets
  35.  
  36. struct MxGadgetMasks {
  37.    LONG DisableMask;    /* stores the Disable mask for the window */
  38.    LONG EnableMask;     /* stores the Enable  mask for the window */
  39.    BYTE *UserData;      /* allows more user extensions */
  40. };
  41.  
  42.