Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
GestureMultiPress
is a Gesture
implementation able to recognize
multiple clicks on a nearby zone, which can be listened for through the
GestureMultiPress
::pressed
signal. Whenever time or distance between
clicks exceed the GTK+ defaults, GestureMultiPress
::stopped
is emitted,
and the click counter is reset.
Callers may also restrict the area that is considered valid for a >1
touch/button press through gestureMultiPressSetArea
, so any
click happening outside that area is considered to be a first click of
its own.
- newtype GestureMultiPress = GestureMultiPress (ManagedPtr GestureMultiPress)
- class GObject o => IsGestureMultiPress o
- toGestureMultiPress :: IsGestureMultiPress o => o -> IO GestureMultiPress
- noGestureMultiPress :: Maybe GestureMultiPress
- data GestureMultiPressGetAreaMethodInfo
- gestureMultiPressGetArea :: (HasCallStack, MonadIO m, IsGestureMultiPress a) => a -> m (Bool, Rectangle)
- gestureMultiPressNew :: (HasCallStack, MonadIO m, IsWidget a) => a -> m GestureMultiPress
- data GestureMultiPressSetAreaMethodInfo
- gestureMultiPressSetArea :: (HasCallStack, MonadIO m, IsGestureMultiPress a) => a -> Maybe Rectangle -> m ()
- type C_GestureMultiPressPressedCallback = Ptr () -> Int32 -> CDouble -> CDouble -> Ptr () -> IO ()
- type GestureMultiPressPressedCallback = Int32 -> Double -> Double -> IO ()
- data GestureMultiPressPressedSignalInfo
- afterGestureMultiPressPressed :: (GObject a, MonadIO m) => a -> GestureMultiPressPressedCallback -> m SignalHandlerId
- genClosure_GestureMultiPressPressed :: GestureMultiPressPressedCallback -> IO Closure
- mk_GestureMultiPressPressedCallback :: C_GestureMultiPressPressedCallback -> IO (FunPtr C_GestureMultiPressPressedCallback)
- noGestureMultiPressPressedCallback :: Maybe GestureMultiPressPressedCallback
- onGestureMultiPressPressed :: (GObject a, MonadIO m) => a -> GestureMultiPressPressedCallback -> m SignalHandlerId
- wrap_GestureMultiPressPressedCallback :: GestureMultiPressPressedCallback -> Ptr () -> Int32 -> CDouble -> CDouble -> Ptr () -> IO ()
- type C_GestureMultiPressReleasedCallback = Ptr () -> Int32 -> CDouble -> CDouble -> Ptr () -> IO ()
- type GestureMultiPressReleasedCallback = Int32 -> Double -> Double -> IO ()
- data GestureMultiPressReleasedSignalInfo
- afterGestureMultiPressReleased :: (GObject a, MonadIO m) => a -> GestureMultiPressReleasedCallback -> m SignalHandlerId
- genClosure_GestureMultiPressReleased :: GestureMultiPressReleasedCallback -> IO Closure
- mk_GestureMultiPressReleasedCallback :: C_GestureMultiPressReleasedCallback -> IO (FunPtr C_GestureMultiPressReleasedCallback)
- noGestureMultiPressReleasedCallback :: Maybe GestureMultiPressReleasedCallback
- onGestureMultiPressReleased :: (GObject a, MonadIO m) => a -> GestureMultiPressReleasedCallback -> m SignalHandlerId
- wrap_GestureMultiPressReleasedCallback :: GestureMultiPressReleasedCallback -> Ptr () -> Int32 -> CDouble -> CDouble -> Ptr () -> IO ()
- type C_GestureMultiPressStoppedCallback = Ptr () -> Ptr () -> IO ()
- type GestureMultiPressStoppedCallback = IO ()
- data GestureMultiPressStoppedSignalInfo
- afterGestureMultiPressStopped :: (GObject a, MonadIO m) => a -> GestureMultiPressStoppedCallback -> m SignalHandlerId
- genClosure_GestureMultiPressStopped :: GestureMultiPressStoppedCallback -> IO Closure
- mk_GestureMultiPressStoppedCallback :: C_GestureMultiPressStoppedCallback -> IO (FunPtr C_GestureMultiPressStoppedCallback)
- noGestureMultiPressStoppedCallback :: Maybe GestureMultiPressStoppedCallback
- onGestureMultiPressStopped :: (GObject a, MonadIO m) => a -> GestureMultiPressStoppedCallback -> m SignalHandlerId
- wrap_GestureMultiPressStoppedCallback :: GestureMultiPressStoppedCallback -> Ptr () -> Ptr () -> IO ()
Exported types
newtype GestureMultiPress Source #
GObject GestureMultiPress Source # | |
IsObject GestureMultiPress Source # | |
IsGestureSingle GestureMultiPress Source # | |
IsGesture GestureMultiPress Source # | |
IsEventController GestureMultiPress Source # | |
IsGestureMultiPress GestureMultiPress Source # | |
((~) * info (ResolveGestureMultiPressMethod t GestureMultiPress), MethodInfo * info GestureMultiPress p) => IsLabel t (GestureMultiPress -> p) Source # | |
((~) * info (ResolveGestureMultiPressMethod t GestureMultiPress), MethodInfo * info GestureMultiPress p) => IsLabelProxy t (GestureMultiPress -> p) Source # | |
HasAttributeList * GestureMultiPress Source # | |
type AttributeList GestureMultiPress Source # | |
type SignalList GestureMultiPress Source # | |
class GObject o => IsGestureMultiPress o Source #
toGestureMultiPress :: IsGestureMultiPress o => o -> IO GestureMultiPress Source #
Methods
getArea
data GestureMultiPressGetAreaMethodInfo Source #
((~) * signature (m (Bool, Rectangle)), MonadIO m, IsGestureMultiPress a) => MethodInfo * GestureMultiPressGetAreaMethodInfo a signature Source # | |
gestureMultiPressGetArea Source #
:: (HasCallStack, MonadIO m, IsGestureMultiPress a) | |
=> a |
|
-> m (Bool, Rectangle) | Returns: |
If an area was set through gestureMultiPressSetArea
,
this function will return True
and fill in rect
with the
press area. See gestureMultiPressSetArea
for more
details on what the press area represents.
Since: 3.14
new
:: (HasCallStack, MonadIO m, IsWidget a) | |
=> a |
|
-> m GestureMultiPress | Returns: a newly created |
Returns a newly created Gesture
that recognizes single and multiple
presses.
Since: 3.14
setArea
data GestureMultiPressSetAreaMethodInfo Source #
((~) * signature (Maybe Rectangle -> m ()), MonadIO m, IsGestureMultiPress a) => MethodInfo * GestureMultiPressSetAreaMethodInfo a signature Source # | |
gestureMultiPressSetArea Source #
:: (HasCallStack, MonadIO m, IsGestureMultiPress a) | |
=> a |
|
-> Maybe Rectangle |
|
-> m () |
If rect
is non-Nothing
, the press area will be checked to be
confined within the rectangle, otherwise the button count
will be reset so the press is seen as being the first one.
If rect
is NULL
, the area will be reset to an unrestricted
state.
Note: The rectangle is only used to determine whether any non-first click falls within the expected area. This is not akin to an input shape.
Since: 3.14
Signals
pressed
type C_GestureMultiPressPressedCallback = Ptr () -> Int32 -> CDouble -> CDouble -> Ptr () -> IO () Source #
afterGestureMultiPressPressed :: (GObject a, MonadIO m) => a -> GestureMultiPressPressedCallback -> m SignalHandlerId Source #
mk_GestureMultiPressPressedCallback :: C_GestureMultiPressPressedCallback -> IO (FunPtr C_GestureMultiPressPressedCallback) Source #
onGestureMultiPressPressed :: (GObject a, MonadIO m) => a -> GestureMultiPressPressedCallback -> m SignalHandlerId Source #
wrap_GestureMultiPressPressedCallback :: GestureMultiPressPressedCallback -> Ptr () -> Int32 -> CDouble -> CDouble -> Ptr () -> IO () Source #
released
type C_GestureMultiPressReleasedCallback = Ptr () -> Int32 -> CDouble -> CDouble -> Ptr () -> IO () Source #
afterGestureMultiPressReleased :: (GObject a, MonadIO m) => a -> GestureMultiPressReleasedCallback -> m SignalHandlerId Source #
mk_GestureMultiPressReleasedCallback :: C_GestureMultiPressReleasedCallback -> IO (FunPtr C_GestureMultiPressReleasedCallback) Source #
onGestureMultiPressReleased :: (GObject a, MonadIO m) => a -> GestureMultiPressReleasedCallback -> m SignalHandlerId Source #
wrap_GestureMultiPressReleasedCallback :: GestureMultiPressReleasedCallback -> Ptr () -> Int32 -> CDouble -> CDouble -> Ptr () -> IO () Source #
stopped
type GestureMultiPressStoppedCallback = IO () Source #
afterGestureMultiPressStopped :: (GObject a, MonadIO m) => a -> GestureMultiPressStoppedCallback -> m SignalHandlerId Source #
mk_GestureMultiPressStoppedCallback :: C_GestureMultiPressStoppedCallback -> IO (FunPtr C_GestureMultiPressStoppedCallback) Source #
onGestureMultiPressStopped :: (GObject a, MonadIO m) => a -> GestureMultiPressStoppedCallback -> m SignalHandlerId Source #
wrap_GestureMultiPressStoppedCallback :: GestureMultiPressStoppedCallback -> Ptr () -> Ptr () -> IO () Source #