DragRef
public struct DragRef : DragProtocol, GWeakCapturing
The DragRef
type acts as a lightweight Swift reference to an underlying GdkDrag
instance.
It exposes methods that can operate on this data type through DragProtocol
conformance.
Use DragRef
only as an unowned
reference to an existing GdkDrag
instance.
The GdkDrag
object represents the source of an ongoing DND operation.
A GdkDrag
is created when a drag is started, and stays alive for duration of
the DND operation. After a drag has been started with [funcGdk.Drag.begin
],
the caller gets informed about the status of the ongoing drag operation
with signals on the GdkDrag
object.
GTK provides a higher level abstraction based on top of these functions, and so they are not normally needed in GTK applications. See the “Drag and Drop” section of the GTK documentation for more information.
-
Untyped pointer to the underlying `GdkDrag` instance.
For type-safe access, use the generated, typed pointer
drag_ptr
property instead.Declaration
Swift
public let ptr: UnsafeMutableRawPointer!
-
Designated initialiser from the underlying
C
data typeDeclaration
Swift
@inlinable init(_ p: UnsafeMutablePointer<GdkDrag>)
-
Designated initialiser from a constant pointer to the underlying
C
data typeDeclaration
Swift
@inlinable init(_ p: UnsafePointer<GdkDrag>)
-
Conditional initialiser from an optional pointer to the underlying
C
data typeDeclaration
Swift
@inlinable init!(_ maybePointer: UnsafeMutablePointer<GdkDrag>?)
-
Conditional initialiser from an optional, non-mutable pointer to the underlying
C
data typeDeclaration
Swift
@inlinable init!(_ maybePointer: UnsafePointer<GdkDrag>?)
-
Conditional initialiser from an optional
gpointer
Declaration
Swift
@inlinable init!(gpointer g: gpointer?)
-
Conditional initialiser from an optional, non-mutable
gconstpointer
Declaration
Swift
@inlinable init!(gconstpointer g: gconstpointer?)
-
Reference intialiser for a related type that implements
DragProtocol
Declaration
Swift
@inlinable init<T>(_ other: T) where T : DragProtocol
-
This factory is syntactic sugar for setting weak pointers wrapped in
GWeak<T>
Declaration
Swift
@inlinable static func unowned<T>(_ other: T) -> DragRef where T : DragProtocol
-
Unsafe typed initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
DragProtocol
.Declaration
Swift
@inlinable init<T>(cPointer: UnsafeMutablePointer<T>)
-
Unsafe typed initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
DragProtocol
.Declaration
Swift
@inlinable init<T>(constPointer: UnsafePointer<T>)
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
DragProtocol
.Declaration
Swift
@inlinable init(mutating raw: UnsafeRawPointer)
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
DragProtocol
.Declaration
Swift
@inlinable init(raw: UnsafeMutableRawPointer)
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
DragProtocol
.Declaration
Swift
@inlinable init(opaquePointer: OpaquePointer)
-
Starts a drag and creates a new drag context for it.
This function is called by the drag source. After this call, you probably want to set up the drag icon using the surface returned by [method
Gdk.Drag.get_drag_surface
].This function returns a reference to the [class
Gdk.Drag
] object, but GTK keeps its own reference as well, as long as the DND operation is going on.Note: if
actions
includeGDK_ACTION_MOVE
, you need to listen for the [signalGdk.Drag::dnd-finished
] signal and delete the data at the source if [methodGdk.Drag.get_selected_action
] returnsGDK_ACTION_MOVE
.Declaration
Swift
@inlinable static func begin<ContentProviderT, DeviceT, SurfaceT>(surface: SurfaceT, device: DeviceT, content: ContentProviderT, actions: DragAction, dx: CDouble, dy: CDouble) -> DragRef! where ContentProviderT : ContentProviderProtocol, DeviceT : DeviceProtocol, SurfaceT : SurfaceProtocol