]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/ole/droptgt.h
Add more echo trace statements to runtests.bat script.
[wxWidgets.git] / include / wx / msw / ole / droptgt.h
index aff3f84cc09935a4b256c4bb045adea4bcdfdaad..7b6599092293fa031825582762e879aaf566bd78 100644 (file)
@@ -1,5 +1,5 @@
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        ole/droptgt.h
+// Name:        wx/msw/ole/droptgt.h
 // Purpose:     declaration of the wxDropTarget class
 // Author:      Vadim Zeitlin
 // Modified by:
@@ -19,6 +19,7 @@
 // ----------------------------------------------------------------------------
 
 class  wxIDropTarget;
+struct wxIDropTargetHelper;
 struct IDataObject;
 
 // ----------------------------------------------------------------------------
@@ -47,24 +48,41 @@ public:
     virtual bool OnDrop(wxCoord x, wxCoord y);
     virtual bool GetData();
 
+    // Can only be called during OnXXX methods.
+    wxDataFormat GetMatchingPair();
+
     // implementation only from now on
     // -------------------------------
 
     // do we accept this kind of data?
-    bool IsAcceptedData(IDataObject *pIDataSource) const;
+    bool MSWIsAcceptedData(IDataObject *pIDataSource) const;
 
     // give us the data source from IDropTarget::Drop() - this is later used by
     // GetData() when it's called from inside OnData()
-    void SetDataSource(IDataObject *pIDataSource);
+    void MSWSetDataSource(IDataObject *pIDataSource);
+
+    // These functions take care of all things necessary to support native drag
+    // images.
+    //
+    // {Init,End}DragImageSupport() are called during Register/Revoke,
+    // UpdateDragImageOnXXX() functions are called on the corresponding drop
+    // target events.
+    void MSWInitDragImageSupport();
+    void MSWEndDragImageSupport();
+    void MSWUpdateDragImageOnData(wxCoord x, wxCoord y, wxDragResult res);
+    void MSWUpdateDragImageOnDragOver(wxCoord x, wxCoord y, wxDragResult res);
+    void MSWUpdateDragImageOnEnter(wxCoord x, wxCoord y, wxDragResult res);
+    void MSWUpdateDragImageOnLeave();
 
 private:
     // helper used by IsAcceptedData() and GetData()
-    wxDataFormat GetSupportedFormat(IDataObject *pIDataSource) const;
+    wxDataFormat MSWGetSupportedFormat(IDataObject *pIDataSource) const;
 
-    wxIDropTarget *m_pIDropTarget; // the pointer to our COM interface
-    IDataObject   *m_pIDataSource; // the pointer to the source data object
+    wxIDropTarget     *m_pIDropTarget; // the pointer to our COM interface
+    IDataObject       *m_pIDataSource; // the pointer to the source data object
+    wxIDropTargetHelper *m_dropTargetHelper; // the drop target helper
 
-    DECLARE_NO_COPY_CLASS(wxDropTarget)
+    wxDECLARE_NO_COPY_CLASS(wxDropTarget);
 };
 
 #endif  //wxUSE_DRAG_AND_DROP