X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/51c9c13c05b3aa6e713b7bcfcc027e7ece75541c..3717eeaf39f7145ab6d09a326dedb2c09b1219e8:/include/wx/msw/ole/droptgt.h diff --git a/include/wx/msw/ole/droptgt.h b/include/wx/msw/ole/droptgt.h index 909a90dc41..7b65990922 100644 --- a/include/wx/msw/ole/droptgt.h +++ b/include/wx/msw/ole/droptgt.h @@ -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; // ---------------------------------------------------------------------------- @@ -54,20 +55,34 @@ public: // ------------------------------- // 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