LMMS
Loading...
Searching...
No Matches
juce::X11DragState Class Reference

Public Member Functions

 X11DragState ()=default
bool isDragging () const noexcept
void handleExternalSelectionClear ()
void handleExternalSelectionRequest (const XEvent &evt)
void handleExternalDragAndDropStatus (const XClientMessageEvent &clientMsg)
void handleExternalDragButtonReleaseEvent ()
void handleExternalDragMotionNotify ()
void handleDragAndDropPosition (const XClientMessageEvent &clientMsg, ComponentPeer *peer)
void handleDragAndDropDrop (const XClientMessageEvent &clientMsg, ComponentPeer *peer)
void handleDragAndDropEnter (const XClientMessageEvent &clientMsg, ComponentPeer *peer)
void handleDragAndDropExit ()
void handleDragAndDropSelection (const XEvent &evt)
void externalResetDragAndDrop ()
bool externalDragInit (::Window window, bool text, const String &str, std::function< void()> &&cb)

Private Member Functions

const XWindowSystemUtilities::AtomsgetAtoms () const noexcept
::Display * getDisplay () const noexcept
void sendDragAndDropMessage (XClientMessageEvent &msg)
bool sendExternalDragAndDropMessage (XClientMessageEvent &msg)
void sendExternalDragAndDropDrop ()
void sendExternalDragAndDropEnter ()
void sendExternalDragAndDropPosition ()
void sendDragAndDropStatus (bool acceptDrop, Atom dropAction)
void sendExternalDragAndDropLeave ()
void sendDragAndDropFinish ()
void updateDraggedFileList (const XClientMessageEvent &clientMsg, ::Window requestor)
bool isWindowDnDAware (::Window w) const
int getDnDVersionForWindow (::Window target)
::Window externalFindDragTargetWindow (::Window target)
void handleDragAndDropDataReceived ()
void resetDragAndDrop ()

Private Attributes

::Window windowH = 0
::Window targetWindow = 0
::Window dragAndDropSourceWindow = 0
int xdndVersion = -1
bool isText = false
bool dragging = false
bool expectingStatus = false
bool canDrop = false
bool finishAfterDropDataReceived = false
Atom dragAndDropCurrentMimeType
Array< Atom > allowedTypes
Array< Atom > srcMimeTypeAtomList
ComponentPeer::DragInfo dragInfo
Rectangle< intsilentRect
String textOrFiles
std::function< void()> completionCallback = nullptr

Constructor & Destructor Documentation

◆ X11DragState()

juce::X11DragState::X11DragState ( )
default

Member Function Documentation

◆ externalDragInit()

bool juce::X11DragState::externalDragInit ( ::Window window,
bool text,
const String & str,
std::function< void()> && cb )
inline

◆ externalFindDragTargetWindow()

::Window juce::X11DragState::externalFindDragTargetWindow ( ::Window target)
inlineprivate

◆ externalResetDragAndDrop()

void juce::X11DragState::externalResetDragAndDrop ( )
inline

◆ getAtoms()

const XWindowSystemUtilities::Atoms & juce::X11DragState::getAtoms ( ) const
inlineprivatenoexcept

◆ getDisplay()

::Display * juce::X11DragState::getDisplay ( ) const
inlineprivatenoexcept

◆ getDnDVersionForWindow()

int juce::X11DragState::getDnDVersionForWindow ( ::Window target)
inlineprivate

◆ handleDragAndDropDataReceived()

void juce::X11DragState::handleDragAndDropDataReceived ( )
inlineprivate

◆ handleDragAndDropDrop()

void juce::X11DragState::handleDragAndDropDrop ( const XClientMessageEvent & clientMsg,
ComponentPeer * peer )
inline

◆ handleDragAndDropEnter()

void juce::X11DragState::handleDragAndDropEnter ( const XClientMessageEvent & clientMsg,
ComponentPeer * peer )
inline

◆ handleDragAndDropExit()

void juce::X11DragState::handleDragAndDropExit ( )
inline

◆ handleDragAndDropPosition()

void juce::X11DragState::handleDragAndDropPosition ( const XClientMessageEvent & clientMsg,
ComponentPeer * peer )
inline

◆ handleDragAndDropSelection()

void juce::X11DragState::handleDragAndDropSelection ( const XEvent & evt)
inline

◆ handleExternalDragAndDropStatus()

void juce::X11DragState::handleExternalDragAndDropStatus ( const XClientMessageEvent & clientMsg)
inline

◆ handleExternalDragButtonReleaseEvent()

void juce::X11DragState::handleExternalDragButtonReleaseEvent ( )
inline

◆ handleExternalDragMotionNotify()

void juce::X11DragState::handleExternalDragMotionNotify ( )
inline

◆ handleExternalSelectionClear()

void juce::X11DragState::handleExternalSelectionClear ( )
inline

◆ handleExternalSelectionRequest()

void juce::X11DragState::handleExternalSelectionRequest ( const XEvent & evt)
inline

◆ isDragging()

bool juce::X11DragState::isDragging ( ) const
inlinenoexcept

◆ isWindowDnDAware()

bool juce::X11DragState::isWindowDnDAware ( ::Window w) const
inlineprivate

◆ resetDragAndDrop()

void juce::X11DragState::resetDragAndDrop ( )
inlineprivate

◆ sendDragAndDropFinish()

void juce::X11DragState::sendDragAndDropFinish ( )
inlineprivate

◆ sendDragAndDropMessage()

void juce::X11DragState::sendDragAndDropMessage ( XClientMessageEvent & msg)
inlineprivate

◆ sendDragAndDropStatus()

void juce::X11DragState::sendDragAndDropStatus ( bool acceptDrop,
Atom dropAction )
inlineprivate

◆ sendExternalDragAndDropDrop()

void juce::X11DragState::sendExternalDragAndDropDrop ( )
inlineprivate

◆ sendExternalDragAndDropEnter()

void juce::X11DragState::sendExternalDragAndDropEnter ( )
inlineprivate

◆ sendExternalDragAndDropLeave()

void juce::X11DragState::sendExternalDragAndDropLeave ( )
inlineprivate

◆ sendExternalDragAndDropMessage()

bool juce::X11DragState::sendExternalDragAndDropMessage ( XClientMessageEvent & msg)
inlineprivate

◆ sendExternalDragAndDropPosition()

void juce::X11DragState::sendExternalDragAndDropPosition ( )
inlineprivate

◆ updateDraggedFileList()

void juce::X11DragState::updateDraggedFileList ( const XClientMessageEvent & clientMsg,
::Window requestor )
inlineprivate

Member Data Documentation

◆ allowedTypes

Array<Atom> juce::X11DragState::allowedTypes
private

◆ canDrop

bool juce::X11DragState::canDrop = false
private

◆ completionCallback

std::function<void()> juce::X11DragState::completionCallback = nullptr
private

◆ dragAndDropCurrentMimeType

Atom juce::X11DragState::dragAndDropCurrentMimeType
private

◆ dragAndDropSourceWindow

::Window juce::X11DragState::dragAndDropSourceWindow = 0
private

◆ dragging

bool juce::X11DragState::dragging = false
private

◆ dragInfo

ComponentPeer::DragInfo juce::X11DragState::dragInfo
private

◆ expectingStatus

bool juce::X11DragState::expectingStatus = false
private

◆ finishAfterDropDataReceived

bool juce::X11DragState::finishAfterDropDataReceived = false
private

◆ isText

bool juce::X11DragState::isText = false
private

◆ silentRect

Rectangle<int> juce::X11DragState::silentRect
private

◆ srcMimeTypeAtomList

Array<Atom> juce::X11DragState::srcMimeTypeAtomList
private

◆ targetWindow

::Window juce::X11DragState::targetWindow = 0
private

◆ textOrFiles

String juce::X11DragState::textOrFiles
private

◆ windowH

::Window juce::X11DragState::windowH = 0
private

◆ xdndVersion

int juce::X11DragState::xdndVersion = -1
private

The documentation for this class was generated from the following file: