gi-gdk-4.0.9: Gdk bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

GI.Gdk.Interfaces.DragSurface

Description

A GdkDragSurface is an interface for surfaces used during DND.

Synopsis

Exported types

newtype DragSurface Source #

Memory-managed wrapper type.

Instances

Instances details
Eq DragSurface Source # 
Instance details

Defined in GI.Gdk.Interfaces.DragSurface

GObject DragSurface Source # 
Instance details

Defined in GI.Gdk.Interfaces.DragSurface

ManagedPtrNewtype DragSurface Source # 
Instance details

Defined in GI.Gdk.Interfaces.DragSurface

TypedObject DragSurface Source # 
Instance details

Defined in GI.Gdk.Interfaces.DragSurface

Methods

glibType :: IO GType #

HasParentTypes DragSurface Source # 
Instance details

Defined in GI.Gdk.Interfaces.DragSurface

IsGValue (Maybe DragSurface) Source #

Convert DragSurface to and from GValue. See toGValue and fromGValue.

Instance details

Defined in GI.Gdk.Interfaces.DragSurface

type ParentTypes DragSurface Source # 
Instance details

Defined in GI.Gdk.Interfaces.DragSurface

type ParentTypes DragSurface = '[Object, Surface]

class (GObject o, IsDescendantOf DragSurface o) => IsDragSurface o Source #

Type class for types which can be safely cast to DragSurface, for instance with toDragSurface.

Instances

Instances details
(GObject o, IsDescendantOf DragSurface o) => IsDragSurface o Source # 
Instance details

Defined in GI.Gdk.Interfaces.DragSurface

toDragSurface :: (MonadIO m, IsDragSurface o) => o -> m DragSurface Source #

Cast to DragSurface, for types for which this is known to be safe. For general casts, use castTo.

Methods

present

dragSurfacePresent Source #

Arguments

:: (HasCallStack, MonadIO m, IsDragSurface a) 
=> a

dragSurface: the GdkDragSurface to show

-> Int32

width: the unconstrained drag_surface width to layout

-> Int32

height: the unconstrained drag_surface height to layout

-> m Bool

Returns: False if it failed to be presented, otherwise True.

Present dragSurface.

Signals

computeSize

type DragSurfaceComputeSizeCallback Source #

Arguments

 = DragSurfaceSize

size: the size of the drag surface

-> IO () 

Emitted when the size for the surface needs to be computed, when it is present.

This signal will normally be emitted during the native surface layout cycle when the surface size needs to be recomputed.

It is the responsibility of the drag surface user to handle this signal and compute the desired size of the surface, storing the computed size in the [structgdk.DragSurfaceSize] object that is passed to the signal handler, using dragSurfaceSizeSetSize.

Failing to set a size so will result in an arbitrary size being used as a result.

Since: 4.12

afterDragSurfaceComputeSize :: (IsDragSurface a, MonadIO m) => a -> ((?self :: a) => DragSurfaceComputeSizeCallback) -> m SignalHandlerId Source #

Connect a signal handler for the computeSize signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after dragSurface #computeSize callback

By default the object invoking the signal is not passed to the callback. If you need to access it, you can use the implit ?self parameter. Note that this requires activating the ImplicitParams GHC extension.

onDragSurfaceComputeSize :: (IsDragSurface a, MonadIO m) => a -> ((?self :: a) => DragSurfaceComputeSizeCallback) -> m SignalHandlerId Source #

Connect a signal handler for the computeSize signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on dragSurface #computeSize callback