Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qwindowsdrag.cpp File Reference

(4a705f5f29aa5ffce8db87fe54f7e70c08124d80)

#include <QtCore/qt_windows.h>
#include "qwindowsdrag.h"
#include "qwindowscontext.h"
#include "qwindowsscreen.h"
#include "qwindowsintegration.h"
#include "qwindowsdropdataobject.h"
#include "qwindowswindow.h"
#include "qwindowsmousehandler.h"
#include "qwindowscursor.h"
#include "qwindowskeymapper.h"
#include <QtGui/qevent.h>
#include <QtGui/qpixmap.h>
#include <QtGui/qpainter.h>
#include <QtGui/qrasterwindow.h>
#include <QtGui/qguiapplication.h>
#include <qpa/qwindowsysteminterface_p.h>
#include <QtGui/private/qdnd_p.h>
#include <QtGui/private/qguiapplication_p.h>
#include <QtGui/private/qhighdpiscaling_p.h>
#include <QtCore/qdebug.h>
#include <QtCore/qbuffer.h>
#include <QtCore/qpoint.h>
#include <QtCore/qpointer.h>
#include <QtCore/private/qcomobject_p.h>
#include <shlobj.h>
+ Include dependency graph for qwindowsdrag.cpp:

Go to the source code of this file.

Classes

class  QWindowsDragCursorWindow
 A toplevel window showing the drag icon in case of touch drag. More...
 
class  QWindowsOleDropSource
 Implementation of IDropSource. More...
 

Macros

#define KEY_STATE_BUTTON_MASK   (MK_LBUTTON | MK_MBUTTON | MK_RBUTTON)
 

Functions

static Qt::DropActions translateToQDragDropActions (DWORD pdwEffects)
 
static Qt::DropAction translateToQDragDropAction (DWORD pdwEffect)
 
static DWORD translateToWinDragEffects (Qt::DropActions action)
 
static Qt::KeyboardModifiers toQtKeyboardModifiers (DWORD keyState)
 
QDebug operator<< (QDebug d, const QWindowsOleDropSource::CursorEntry &e)
 
static HRESULT startDoDragDrop (LPDATAOBJECT pDataObj, LPDROPSOURCE pDropSource, DWORD dwOKEffects, LPDWORD pdwEffect)
 

Variables

static Qt::KeyboardModifiers lastModifiers = Qt::NoModifier
 
static Qt::MouseButtons lastButtons = Qt::NoButton
 

Macro Definition Documentation

◆ KEY_STATE_BUTTON_MASK

#define KEY_STATE_BUTTON_MASK   (MK_LBUTTON | MK_MBUTTON | MK_RBUTTON)

Definition at line 545 of file qwindowsdrag.cpp.

Function Documentation

◆ operator<<()

QDebug operator<< ( QDebug d,
const QWindowsOleDropSource::CursorEntry & e )

Definition at line 233 of file qwindowsdrag.cpp.

◆ startDoDragDrop()

static HRESULT startDoDragDrop ( LPDATAOBJECT pDataObj,
LPDROPSOURCE pDropSource,
DWORD dwOKEffects,
LPDWORD pdwEffect )
static

Definition at line 651 of file qwindowsdrag.cpp.

References QWindowsContext::instance(), qWindowsWndProc(), WM_POINTERLEAVE, and WM_POINTERUPDATE.

Referenced by QWindowsDrag::drag().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ toQtKeyboardModifiers()

static Qt::KeyboardModifiers toQtKeyboardModifiers ( DWORD keyState)
inlinestatic

◆ translateToQDragDropAction()

static Qt::DropAction translateToQDragDropAction ( DWORD pdwEffect)
inlinestatic

Definition at line 122 of file qwindowsdrag.cpp.

References Qt::CopyAction, Qt::IgnoreAction, Qt::LinkAction, and Qt::MoveAction.

Referenced by QWindowsDrag::drag(), and QWindowsOleDropSource::GiveFeedback().

+ Here is the caller graph for this function:

◆ translateToQDragDropActions()

static Qt::DropActions translateToQDragDropActions ( DWORD pdwEffects)
inlinestatic

Definition at line 110 of file qwindowsdrag.cpp.

References Qt::CopyAction, Qt::IgnoreAction, Qt::LinkAction, and Qt::MoveAction.

◆ translateToWinDragEffects()

static DWORD translateToWinDragEffects ( Qt::DropActions action)
inlinestatic

Definition at line 133 of file qwindowsdrag.cpp.

References Qt::CopyAction, effect, Qt::LinkAction, and Qt::MoveAction.

Referenced by QWindowsDrag::drag().

+ Here is the caller graph for this function:

Variable Documentation

◆ lastButtons

Qt::MouseButtons lastButtons = Qt::NoButton
static

◆ lastModifiers

Qt::KeyboardModifiers lastModifiers = Qt::NoModifier
static

Definition at line 159 of file qwindowsdrag.cpp.

Referenced by QWindowsOleDropTarget::DragLeave().