initial commit
Signed-off-by: Peter Siegmund <mars3142@noreply.mars3142.dev>
This commit is contained in:
88
libs/wxWidgets-3.3.1/include/wx/msw/ole/droptgt.h
Normal file
88
libs/wxWidgets-3.3.1/include/wx/msw/ole/droptgt.h
Normal file
@@ -0,0 +1,88 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/msw/ole/droptgt.h
|
||||
// Purpose: declaration of the wxDropTarget class
|
||||
// Author: Vadim Zeitlin
|
||||
// Created: 06.03.98
|
||||
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_OLEDROPTGT_H
|
||||
#define _WX_OLEDROPTGT_H
|
||||
|
||||
#if wxUSE_DRAG_AND_DROP
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// forward declarations
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class wxIDropTarget;
|
||||
struct wxIDropTargetHelper;
|
||||
struct IDataObject;
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// An instance of the class wxDropTarget may be associated with any wxWindow
|
||||
// derived object via SetDropTarget() function. If this is done, the virtual
|
||||
// methods of wxDropTarget are called when something is dropped on the window.
|
||||
//
|
||||
// Note that wxDropTarget is an abstract base class (ABC) and you should derive
|
||||
// your own class from it implementing pure virtual function in order to use it
|
||||
// (all of them, including protected ones which are called by the class itself)
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_CORE wxDropTarget : public wxDropTargetBase
|
||||
{
|
||||
public:
|
||||
// ctor & dtor
|
||||
wxDropTarget(wxDataObject *dataObject = nullptr);
|
||||
virtual ~wxDropTarget();
|
||||
|
||||
// normally called by wxWindow on window creation/destruction, but might be
|
||||
// called `manually' as well. Register() returns true on success.
|
||||
bool Register(WXHWND hwnd);
|
||||
void Revoke(WXHWND hwnd);
|
||||
|
||||
// provide default implementation for base class pure virtuals
|
||||
virtual bool OnDrop(wxCoord x, wxCoord y) override;
|
||||
virtual bool GetData() override;
|
||||
|
||||
// Can only be called during OnXXX methods.
|
||||
wxDataFormat GetMatchingPair();
|
||||
|
||||
// implementation only from now on
|
||||
// -------------------------------
|
||||
|
||||
// do we accept this kind of data?
|
||||
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 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 MSWGetSupportedFormat(IDataObject *pIDataSource) const;
|
||||
|
||||
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
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxDropTarget);
|
||||
};
|
||||
|
||||
#endif //wxUSE_DRAG_AND_DROP
|
||||
|
||||
#endif //_WX_OLEDROPTGT_H
|
||||
Reference in New Issue
Block a user