home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / idmsrcop.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-22  |  3.4 KB  |  111 lines

  1. #ifndef _IDMSRCOP_
  2. #define _IDMSRCOP_
  3. /*******************************************************************************
  4. * FILE NAME: idmsrcop.hpp                                                      *
  5. *                                                                              *
  6. * DESCRIPTION:                                                                 *
  7. *   Declaration of the classes:                                                *
  8. *     IDMSourceOperation                                                       *
  9. *                                                                              *
  10. * COPYRIGHT:                                                                   *
  11. *   IBM Open Class Library                                                     *
  12. *   (C) Copyright International Business Machines Corporation 1992, 1996       *
  13. *   Licensed Material - Program-Property of IBM - All Rights Reserved.         *
  14. *   US Government Users Restricted Rights - Use, duplication, or disclosure    *
  15. *   restricted by GSA ADP Schedule Contract with IBM Corp.                     *
  16. *                                                                              *
  17. *******************************************************************************/
  18. #include <irefcnt.hpp>
  19. #include <idmoper.hpp>
  20.  
  21. class IDMSourceBeginEvent;
  22. class IDMItemSeq;
  23. class IDMImage;
  24. class IDMSourceOperationData;
  25.  
  26. #pragma pack(4)
  27.  
  28.  
  29. class IDMSourceOperation : public IDMOperation {
  30. typedef IDMOperation
  31.   Inherited;
  32. typedef IDM::DragImageStyle
  33.   DragImageStyle;
  34. public:
  35.  
  36. /*------------------------------- Constructors -------------------------------*/
  37.   IDMSourceOperation     ( IDMSourceBeginEvent& event,
  38.                            DragImageStyle       dragStyle = IDM::systemImages );
  39.  
  40. virtual
  41.   ~IDMSourceOperation    ( );
  42.  
  43. /*------------------------ IDMSourceOperation::Handle ------------------------*/
  44. typedef IReference< IDMSourceOperation > Handle;
  45.  
  46. /*---------------------------- Drag Image Support ----------------------------*/
  47. #ifndef IC_WIN_FLAGNOP
  48. virtual DragImageStyle
  49.   imageStyle            ( ) const;
  50.  
  51. IPair
  52.   stackingPercentage    ( ) const;
  53.  
  54. virtual IDMSourceOperation
  55.  &setImageStyle         ( DragImageStyle dragImageStyle = IDM::systemImages ),
  56.  &setStackingPercentage ( const IPair&   stackingPercentage );
  57. #endif
  58.  
  59. /*-------------------------- Pointing Device Position ------------------------*/
  60. virtual ISize
  61.   pointerOffset         ( ) const;
  62.  
  63. virtual IDMSourceOperation
  64.  &setPointerOffset      ( const ISize&   offset );
  65.  
  66. /*----------------------------- Operation Services ---------------------------*/
  67. virtual unsigned long
  68.   operation          ( ) const;
  69.  
  70.  
  71. static IDMSourceOperation::Handle
  72.   sourceOperation    ( );
  73.  
  74. static void
  75.   setSourceOperation ( IDMSourceOperation::Handle srcOperation );
  76.  
  77. /*------------------------------- Implementation -----------------------------*/
  78. IDMSourceOperation
  79.  &begin                 ( );
  80.  
  81. private:
  82. /*--------------------------------- Private ----------------------------------*/
  83.  
  84. static IDMSourceOperation::Handle
  85.   pDMSrcOpHandle;
  86.  
  87. ISize
  88.   ptrOffset,
  89.   totalImgOffset;
  90.  
  91. DragImageStyle
  92.   drgImgStyle;
  93.  
  94. IPair
  95.   stackingPct;
  96.  
  97. ISize
  98.   totalImageOffset ( );
  99.  
  100. void
  101.   storeImageOffset ( IDMImage* pIDMImage );
  102.  
  103. IDMSourceOperationData
  104.  *fDMSourceOperationData;
  105.  
  106. }; // IDMSourceOperation
  107.  
  108. #pragma pack()
  109.  
  110. #endif //_IDMSRCOP_
  111.