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 |
GestureZoom
is a Gesture
implementation able to recognize
pinch/zoom gestures, whenever the distance between both tracked
sequences changes, the GestureZoom
::scale-changed
signal is
emitted to report the scale factor.
- newtype GestureZoom = GestureZoom (ManagedPtr GestureZoom)
- class GObject o => IsGestureZoom o
- toGestureZoom :: IsGestureZoom o => o -> IO GestureZoom
- noGestureZoom :: Maybe GestureZoom
- data GestureZoomGetScaleDeltaMethodInfo
- gestureZoomGetScaleDelta :: (HasCallStack, MonadIO m, IsGestureZoom a) => a -> m Double
- gestureZoomNew :: (HasCallStack, MonadIO m, IsWidget a) => a -> m GestureZoom
- type C_GestureZoomScaleChangedCallback = Ptr () -> CDouble -> Ptr () -> IO ()
- type GestureZoomScaleChangedCallback = Double -> IO ()
- data GestureZoomScaleChangedSignalInfo
- afterGestureZoomScaleChanged :: (GObject a, MonadIO m) => a -> GestureZoomScaleChangedCallback -> m SignalHandlerId
- genClosure_GestureZoomScaleChanged :: GestureZoomScaleChangedCallback -> IO Closure
- mk_GestureZoomScaleChangedCallback :: C_GestureZoomScaleChangedCallback -> IO (FunPtr C_GestureZoomScaleChangedCallback)
- noGestureZoomScaleChangedCallback :: Maybe GestureZoomScaleChangedCallback
- onGestureZoomScaleChanged :: (GObject a, MonadIO m) => a -> GestureZoomScaleChangedCallback -> m SignalHandlerId
- wrap_GestureZoomScaleChangedCallback :: GestureZoomScaleChangedCallback -> Ptr () -> CDouble -> Ptr () -> IO ()
Exported types
newtype GestureZoom Source #
GObject GestureZoom Source # | |
IsObject GestureZoom Source # | |
IsGesture GestureZoom Source # | |
IsEventController GestureZoom Source # | |
IsGestureZoom GestureZoom Source # | |
((~) * info (ResolveGestureZoomMethod t GestureZoom), MethodInfo * info GestureZoom p) => IsLabel t (GestureZoom -> p) Source # | |
((~) * info (ResolveGestureZoomMethod t GestureZoom), MethodInfo * info GestureZoom p) => IsLabelProxy t (GestureZoom -> p) Source # | |
HasAttributeList * GestureZoom Source # | |
type AttributeList GestureZoom Source # | |
type SignalList GestureZoom Source # | |
class GObject o => IsGestureZoom o Source #
toGestureZoom :: IsGestureZoom o => o -> IO GestureZoom Source #
Methods
getScaleDelta
data GestureZoomGetScaleDeltaMethodInfo Source #
((~) * signature (m Double), MonadIO m, IsGestureZoom a) => MethodInfo * GestureZoomGetScaleDeltaMethodInfo a signature Source # | |
gestureZoomGetScaleDelta Source #
:: (HasCallStack, MonadIO m, IsGestureZoom a) | |
=> a |
|
-> m Double | Returns: the scale delta |
If gesture
is active, this function returns the zooming difference
since the gesture was recognized (hence the starting point is
considered 1:1). If gesture
is not active, 1 is returned.
Since: 3.14
new
:: (HasCallStack, MonadIO m, IsWidget a) | |
=> a |
|
-> m GestureZoom | Returns: a newly created |
Returns a newly created Gesture
that recognizes zoom
in/out gestures (usually known as pinch/zoom).
Since: 3.14
Signals
scaleChanged
type GestureZoomScaleChangedCallback = Double -> IO () Source #
afterGestureZoomScaleChanged :: (GObject a, MonadIO m) => a -> GestureZoomScaleChangedCallback -> m SignalHandlerId Source #
mk_GestureZoomScaleChangedCallback :: C_GestureZoomScaleChangedCallback -> IO (FunPtr C_GestureZoomScaleChangedCallback) Source #
onGestureZoomScaleChanged :: (GObject a, MonadIO m) => a -> GestureZoomScaleChangedCallback -> m SignalHandlerId Source #
wrap_GestureZoomScaleChangedCallback :: GestureZoomScaleChangedCallback -> Ptr () -> CDouble -> Ptr () -> IO () Source #