|
|
@@ -393,6 +393,15 @@ void DragAndDropContainer::startDragging (const var& sourceDescription, |
|
|
const Point<int>* imageOffsetFromMouse,
|
|
|
const Point<int>* imageOffsetFromMouse,
|
|
|
const MouseInputSource* inputSourceCausingDrag)
|
|
|
const MouseInputSource* inputSourceCausingDrag)
|
|
|
{
|
|
|
{
|
|
|
|
|
|
if (isAlreadyDragging (sourceComponent))
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
|
|
if (inputSourceCausingDrag == nullptr || ! inputSourceCausingDrag->isDragging())
|
|
|
|
|
|
{
|
|
|
|
|
|
jassertfalse; // You must call startDragging() from within a mouseDown or mouseDrag callback!
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
auto* draggingSource = getMouseInputSourceForDrag (sourceComponent, inputSourceCausingDrag);
|
|
|
auto* draggingSource = getMouseInputSourceForDrag (sourceComponent, inputSourceCausingDrag);
|
|
|
auto lastMouseDown = draggingSource->getLastMouseDownPosition().roundToInt();
|
|
|
auto lastMouseDown = draggingSource->getLastMouseDownPosition().roundToInt();
|
|
|
Point<int> imageOffset;
|
|
|
Point<int> imageOffset;
|
|
|
@@ -571,6 +580,17 @@ const MouseInputSource* DragAndDropContainer::getMouseInputSourceForDrag (Compon |
|
|
return inputSourceCausingDrag;
|
|
|
return inputSourceCausingDrag;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
bool DragAndDropContainer::isAlreadyDragging (Component* component) const noexcept
|
|
|
|
|
|
{
|
|
|
|
|
|
for (auto* dragImageComp : dragImageComponents)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (dragImageComp->sourceDetails.sourceComponent == component)
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
//==============================================================================
|
|
|
//==============================================================================
|
|
|
DragAndDropTarget::SourceDetails::SourceDetails (const var& desc, Component* comp, Point<int> pos) noexcept
|
|
|
DragAndDropTarget::SourceDetails::SourceDetails (const var& desc, Component* comp, Point<int> pos) noexcept
|
|
|
: description (desc),
|
|
|
: description (desc),
|
|
|
|