gi-gtk-3.0.41: Gtk bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.Gtk.Objects.GestureDrag

Description

GestureDrag is a Gesture implementation that recognizes drag operations. The drag operation itself can be tracked throught the GestureDrag::dragBegin, GestureDrag::dragUpdate and GestureDrag::dragEnd signals, or the relevant coordinates be extracted through gestureDragGetOffset and gestureDragGetStartPoint.

Synopsis

Exported types

newtype GestureDrag Source #

Memory-managed wrapper type.

Constructors

GestureDrag (ManagedPtr GestureDrag) 

Instances

Instances details
Eq GestureDrag Source # 
Instance details

Defined in GI.Gtk.Objects.GestureDrag

GObject GestureDrag Source # 
Instance details

Defined in GI.Gtk.Objects.GestureDrag

ManagedPtrNewtype GestureDrag Source # 
Instance details

Defined in GI.Gtk.Objects.GestureDrag

Methods

toManagedPtr :: GestureDrag -> ManagedPtr GestureDrag

TypedObject GestureDrag Source # 
Instance details

Defined in GI.Gtk.Objects.GestureDrag

Methods

glibType :: IO GType

HasParentTypes GestureDrag Source # 
Instance details

Defined in GI.Gtk.Objects.GestureDrag

IsGValue (Maybe GestureDrag) Source #

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

Instance details

Defined in GI.Gtk.Objects.GestureDrag

Methods

gvalueGType_ :: IO GType

gvalueSet_ :: Ptr GValue -> Maybe GestureDrag -> IO ()

gvalueGet_ :: Ptr GValue -> IO (Maybe GestureDrag)

type ParentTypes GestureDrag Source # 
Instance details

Defined in GI.Gtk.Objects.GestureDrag

type ParentTypes GestureDrag = '[GestureSingle, Gesture, EventController, Object]

class (GObject o, IsDescendantOf GestureDrag o) => IsGestureDrag o Source #

Type class for types which can be safely cast to GestureDrag, for instance with toGestureDrag.

Instances

Instances details
(GObject o, IsDescendantOf GestureDrag o) => IsGestureDrag o Source # 
Instance details

Defined in GI.Gtk.Objects.GestureDrag

toGestureDrag :: (MonadIO m, IsGestureDrag o) => o -> m GestureDrag Source #

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

Methods

getOffset

gestureDragGetOffset Source #

Arguments

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

gesture: a Gesture

-> m (Bool, Double, Double)

Returns: True if the gesture is active

If the gesture is active, this function returns True and fills in x and y with the coordinates of the current point, as an offset to the starting drag point.

Since: 3.14

getStartPoint

gestureDragGetStartPoint Source #

Arguments

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

gesture: a Gesture

-> m (Bool, Double, Double)

Returns: True if the gesture is active

If the gesture is active, this function returns True and fills in x and y with the drag start coordinates, in window-relative coordinates.

Since: 3.14

new

gestureDragNew Source #

Arguments

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

widget: a Widget

-> m GestureDrag

Returns: a newly created GestureDrag

Returns a newly created Gesture that recognizes drags.

Since: 3.14

Signals

dragBegin

type GestureDragDragBeginCallback Source #

Arguments

 = Double

startX: X coordinate, relative to the widget allocation

-> Double

startY: Y coordinate, relative to the widget allocation

-> IO () 

This signal is emitted whenever dragging starts.

Since: 3.14

afterGestureDragDragBegin :: (IsGestureDrag a, MonadIO m) => a -> ((?self :: a) => GestureDragDragBeginCallback) -> m SignalHandlerId Source #

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

after gestureDrag #dragBegin 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.

onGestureDragDragBegin :: (IsGestureDrag a, MonadIO m) => a -> ((?self :: a) => GestureDragDragBeginCallback) -> m SignalHandlerId Source #

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

on gestureDrag #dragBegin callback

dragEnd

type GestureDragDragEndCallback Source #

Arguments

 = Double

offsetX: X offset, relative to the start point

-> Double

offsetY: Y offset, relative to the start point

-> IO () 

This signal is emitted whenever the dragging is finished.

Since: 3.14

afterGestureDragDragEnd :: (IsGestureDrag a, MonadIO m) => a -> ((?self :: a) => GestureDragDragEndCallback) -> m SignalHandlerId Source #

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

after gestureDrag #dragEnd 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.

onGestureDragDragEnd :: (IsGestureDrag a, MonadIO m) => a -> ((?self :: a) => GestureDragDragEndCallback) -> m SignalHandlerId Source #

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

on gestureDrag #dragEnd callback

dragUpdate

type GestureDragDragUpdateCallback Source #

Arguments

 = Double

offsetX: X offset, relative to the start point

-> Double

offsetY: Y offset, relative to the start point

-> IO () 

This signal is emitted whenever the dragging point moves.

Since: 3.14

afterGestureDragDragUpdate :: (IsGestureDrag a, MonadIO m) => a -> ((?self :: a) => GestureDragDragUpdateCallback) -> m SignalHandlerId Source #

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

after gestureDrag #dragUpdate 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.

onGestureDragDragUpdate :: (IsGestureDrag a, MonadIO m) => a -> ((?self :: a) => GestureDragDragUpdateCallback) -> m SignalHandlerId Source #

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

on gestureDrag #dragUpdate callback