JUCE-7.0.12-0-g4f43011b96 JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins

« « « Anklang Documentation
Loading...
Searching...
No Matches
juce_DragAndDropTarget.h
Go to the documentation of this file.
1 /*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26namespace juce
27{
28
29//==============================================================================
45class JUCE_API DragAndDropTarget
46{
47public:
49 virtual ~DragAndDropTarget() = default;
50
51 //==============================================================================
53 class JUCE_API SourceDetails
54 {
55 public:
57 SourceDetails (const var& description,
58 Component* sourceComponent,
59 Point<int> localPosition) noexcept;
60
63
66
71 };
72
73 //==============================================================================
81 virtual bool isInterestedInDragSource (const SourceDetails& dragSourceDetails) = 0;
82
94 virtual void itemDragEnter (const SourceDetails& dragSourceDetails);
95
104 virtual void itemDragMove (const SourceDetails& dragSourceDetails);
105
117 virtual void itemDragExit (const SourceDetails& dragSourceDetails);
118
129 virtual void itemDropped (const SourceDetails& dragSourceDetails) = 0;
130
137 virtual bool shouldDrawDragImageWhenOver();
138};
139
140} // namespace juce
The base class for all JUCE user-interface objects.
Contains details about the source of a drag-and-drop operation.
Point< int > localPosition
The local position of the mouse, relative to the target component.
WeakReference< Component > sourceComponent
The component from the drag operation was started.
var description
A descriptor for the drag - this is set DragAndDropContainer::startDragging().
Components derived from this class can have things dropped onto them by a DragAndDropContainer.
virtual bool isInterestedInDragSource(const SourceDetails &dragSourceDetails)=0
Callback to check whether this target is interested in the type of object being dragged.
virtual void itemDropped(const SourceDetails &dragSourceDetails)=0
Callback to indicate that the user has dropped something onto this component.
virtual ~DragAndDropTarget()=default
Destructor.
A pair of (x, y) coordinates.
Definition juce_Point.h:42
This class acts as a pointer which will automatically become null if the object to which it points is...
A variant class, that can be used to hold a range of primitive values.
JUCE Namespace.