gi-gtk-4.0.2: Gtk bindings
CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

GI.Gtk.Objects.GesturePan

Description

GesturePan is a Gesture implementation able to recognize pan gestures, those are drags that are locked to happen along one axis. The axis that a GesturePan handles is defined at construct time, and can be changed through gesturePanSetOrientation.

When the gesture starts to be recognized, GesturePan will attempt to determine as early as possible whether the sequence is moving in the expected direction, and denying the sequence if this does not happen.

Once a panning gesture along the expected axis is recognized, the pan signal will be emitted as input events are received, containing the offset in the given axis.

Synopsis

Exported types

newtype GesturePan Source #

Memory-managed wrapper type.

class (GObject o, IsDescendantOf GesturePan o) => IsGesturePan o Source #

Type class for types which can be safely cast to GesturePan, for instance with toGesturePan.

Instances

Instances details
(GObject o, IsDescendantOf GesturePan o) => IsGesturePan o Source # 
Instance details

Defined in GI.Gtk.Objects.GesturePan

toGesturePan :: (MonadIO m, IsGesturePan o) => o -> m GesturePan Source #

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

Methods

Overloaded methods

getOrientation

gesturePanGetOrientation Source #

Arguments

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

gesture: A GesturePan

-> m Orientation

Returns: the expected orientation for pan gestures

Returns the orientation of the pan gestures that this gesture expects.

new

gesturePanNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Orientation

orientation: expected orientation

-> m GesturePan

Returns: a newly created GesturePan

Returns a newly created Gesture that recognizes pan gestures.

setOrientation

gesturePanSetOrientation Source #

Arguments

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

gesture: A GesturePan

-> Orientation

orientation: expected orientation

-> m () 

Sets the orientation to be expected on pan gestures.

Properties

orientation

The expected orientation of pan gestures.

constructGesturePanOrientation :: (IsGesturePan o, MonadIO m) => Orientation -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “orientation” property. This is rarely needed directly, but it is used by new.

getGesturePanOrientation :: (MonadIO m, IsGesturePan o) => o -> m Orientation Source #

Get the value of the “orientation” property. When overloading is enabled, this is equivalent to

get gesturePan #orientation

setGesturePanOrientation :: (MonadIO m, IsGesturePan o) => o -> Orientation -> m () Source #

Set the value of the “orientation” property. When overloading is enabled, this is equivalent to

set gesturePan [ #orientation := value ]

Signals

pan

type C_GesturePanPanCallback = Ptr () -> CUInt -> CDouble -> Ptr () -> IO () Source #

Type for the callback on the (unwrapped) C side.

type GesturePanPanCallback Source #

Arguments

 = PanDirection

direction: current direction of the pan gesture

-> Double

offset: Offset along the gesture orientation

-> IO () 

This signal is emitted once a panning gesture along the expected axis is detected.

afterGesturePanPan :: (IsGesturePan a, MonadIO m) => a -> GesturePanPanCallback -> m SignalHandlerId Source #

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

after gesturePan #pan callback

mk_GesturePanPanCallback :: C_GesturePanPanCallback -> IO (FunPtr C_GesturePanPanCallback) Source #

Generate a function pointer callable from C code, from a C_GesturePanPanCallback.

onGesturePanPan :: (IsGesturePan a, MonadIO m) => a -> GesturePanPanCallback -> m SignalHandlerId Source #

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

on gesturePan #pan callback