#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Gtk.Objects.GestureMultiPress
(
GestureMultiPress(..) ,
IsGestureMultiPress ,
toGestureMultiPress ,
noGestureMultiPress ,
#if ENABLE_OVERLOADING
GestureMultiPressGetAreaMethodInfo ,
#endif
gestureMultiPressGetArea ,
gestureMultiPressNew ,
#if ENABLE_OVERLOADING
GestureMultiPressSetAreaMethodInfo ,
#endif
gestureMultiPressSetArea ,
C_GestureMultiPressPressedCallback ,
GestureMultiPressPressedCallback ,
#if ENABLE_OVERLOADING
GestureMultiPressPressedSignalInfo ,
#endif
afterGestureMultiPressPressed ,
genClosure_GestureMultiPressPressed ,
mk_GestureMultiPressPressedCallback ,
noGestureMultiPressPressedCallback ,
onGestureMultiPressPressed ,
wrap_GestureMultiPressPressedCallback ,
C_GestureMultiPressReleasedCallback ,
GestureMultiPressReleasedCallback ,
#if ENABLE_OVERLOADING
GestureMultiPressReleasedSignalInfo ,
#endif
afterGestureMultiPressReleased ,
genClosure_GestureMultiPressReleased ,
mk_GestureMultiPressReleasedCallback ,
noGestureMultiPressReleasedCallback ,
onGestureMultiPressReleased ,
wrap_GestureMultiPressReleasedCallback ,
C_GestureMultiPressStoppedCallback ,
GestureMultiPressStoppedCallback ,
#if ENABLE_OVERLOADING
GestureMultiPressStoppedSignalInfo ,
#endif
afterGestureMultiPressStopped ,
genClosure_GestureMultiPressStopped ,
mk_GestureMultiPressStoppedCallback ,
noGestureMultiPressStoppedCallback ,
onGestureMultiPressStopped ,
wrap_GestureMultiPressStoppedCallback ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
import {-# SOURCE #-} qualified GI.Gtk.Objects.EventController as Gtk.EventController
import {-# SOURCE #-} qualified GI.Gtk.Objects.Gesture as Gtk.Gesture
import {-# SOURCE #-} qualified GI.Gtk.Objects.GestureSingle as Gtk.GestureSingle
import {-# SOURCE #-} qualified GI.Gtk.Objects.Widget as Gtk.Widget
newtype GestureMultiPress = GestureMultiPress (ManagedPtr GestureMultiPress)
foreign import ccall "gtk_gesture_multi_press_get_type"
c_gtk_gesture_multi_press_get_type :: IO GType
instance GObject GestureMultiPress where
gobjectType _ = c_gtk_gesture_multi_press_get_type
class GObject o => IsGestureMultiPress o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError GestureMultiPress a) =>
IsGestureMultiPress a
#endif
instance IsGestureMultiPress GestureMultiPress
instance Gtk.GestureSingle.IsGestureSingle GestureMultiPress
instance Gtk.Gesture.IsGesture GestureMultiPress
instance Gtk.EventController.IsEventController GestureMultiPress
instance GObject.Object.IsObject GestureMultiPress
toGestureMultiPress :: (MonadIO m, IsGestureMultiPress o) => o -> m GestureMultiPress
toGestureMultiPress = liftIO . unsafeCastTo GestureMultiPress
noGestureMultiPress :: Maybe GestureMultiPress
noGestureMultiPress = Nothing
#if ENABLE_OVERLOADING
type family ResolveGestureMultiPressMethod (t :: Symbol) (o :: *) :: * where
ResolveGestureMultiPressMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveGestureMultiPressMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveGestureMultiPressMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveGestureMultiPressMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveGestureMultiPressMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveGestureMultiPressMethod "group" o = Gtk.Gesture.GestureGroupMethodInfo
ResolveGestureMultiPressMethod "handleEvent" o = Gtk.EventController.EventControllerHandleEventMethodInfo
ResolveGestureMultiPressMethod "handlesSequence" o = Gtk.Gesture.GestureHandlesSequenceMethodInfo
ResolveGestureMultiPressMethod "isActive" o = Gtk.Gesture.GestureIsActiveMethodInfo
ResolveGestureMultiPressMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveGestureMultiPressMethod "isGroupedWith" o = Gtk.Gesture.GestureIsGroupedWithMethodInfo
ResolveGestureMultiPressMethod "isRecognized" o = Gtk.Gesture.GestureIsRecognizedMethodInfo
ResolveGestureMultiPressMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveGestureMultiPressMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveGestureMultiPressMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveGestureMultiPressMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveGestureMultiPressMethod "reset" o = Gtk.EventController.EventControllerResetMethodInfo
ResolveGestureMultiPressMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveGestureMultiPressMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveGestureMultiPressMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveGestureMultiPressMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveGestureMultiPressMethod "ungroup" o = Gtk.Gesture.GestureUngroupMethodInfo
ResolveGestureMultiPressMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveGestureMultiPressMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveGestureMultiPressMethod "getArea" o = GestureMultiPressGetAreaMethodInfo
ResolveGestureMultiPressMethod "getBoundingBox" o = Gtk.Gesture.GestureGetBoundingBoxMethodInfo
ResolveGestureMultiPressMethod "getBoundingBoxCenter" o = Gtk.Gesture.GestureGetBoundingBoxCenterMethodInfo
ResolveGestureMultiPressMethod "getButton" o = Gtk.GestureSingle.GestureSingleGetButtonMethodInfo
ResolveGestureMultiPressMethod "getCurrentButton" o = Gtk.GestureSingle.GestureSingleGetCurrentButtonMethodInfo
ResolveGestureMultiPressMethod "getCurrentSequence" o = Gtk.GestureSingle.GestureSingleGetCurrentSequenceMethodInfo
ResolveGestureMultiPressMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveGestureMultiPressMethod "getDevice" o = Gtk.Gesture.GestureGetDeviceMethodInfo
ResolveGestureMultiPressMethod "getExclusive" o = Gtk.GestureSingle.GestureSingleGetExclusiveMethodInfo
ResolveGestureMultiPressMethod "getGroup" o = Gtk.Gesture.GestureGetGroupMethodInfo
ResolveGestureMultiPressMethod "getLastEvent" o = Gtk.Gesture.GestureGetLastEventMethodInfo
ResolveGestureMultiPressMethod "getLastUpdatedSequence" o = Gtk.Gesture.GestureGetLastUpdatedSequenceMethodInfo
ResolveGestureMultiPressMethod "getPoint" o = Gtk.Gesture.GestureGetPointMethodInfo
ResolveGestureMultiPressMethod "getPropagationPhase" o = Gtk.EventController.EventControllerGetPropagationPhaseMethodInfo
ResolveGestureMultiPressMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveGestureMultiPressMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveGestureMultiPressMethod "getSequenceState" o = Gtk.Gesture.GestureGetSequenceStateMethodInfo
ResolveGestureMultiPressMethod "getSequences" o = Gtk.Gesture.GestureGetSequencesMethodInfo
ResolveGestureMultiPressMethod "getTouchOnly" o = Gtk.GestureSingle.GestureSingleGetTouchOnlyMethodInfo
ResolveGestureMultiPressMethod "getWidget" o = Gtk.EventController.EventControllerGetWidgetMethodInfo
ResolveGestureMultiPressMethod "getWindow" o = Gtk.Gesture.GestureGetWindowMethodInfo
ResolveGestureMultiPressMethod "setArea" o = GestureMultiPressSetAreaMethodInfo
ResolveGestureMultiPressMethod "setButton" o = Gtk.GestureSingle.GestureSingleSetButtonMethodInfo
ResolveGestureMultiPressMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveGestureMultiPressMethod "setExclusive" o = Gtk.GestureSingle.GestureSingleSetExclusiveMethodInfo
ResolveGestureMultiPressMethod "setPropagationPhase" o = Gtk.EventController.EventControllerSetPropagationPhaseMethodInfo
ResolveGestureMultiPressMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveGestureMultiPressMethod "setSequenceState" o = Gtk.Gesture.GestureSetSequenceStateMethodInfo
ResolveGestureMultiPressMethod "setState" o = Gtk.Gesture.GestureSetStateMethodInfo
ResolveGestureMultiPressMethod "setTouchOnly" o = Gtk.GestureSingle.GestureSingleSetTouchOnlyMethodInfo
ResolveGestureMultiPressMethod "setWindow" o = Gtk.Gesture.GestureSetWindowMethodInfo
ResolveGestureMultiPressMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveGestureMultiPressMethod t GestureMultiPress, O.MethodInfo info GestureMultiPress p) => O.IsLabelProxy t (GestureMultiPress -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveGestureMultiPressMethod t GestureMultiPress, O.MethodInfo info GestureMultiPress p) => O.IsLabel t (GestureMultiPress -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
#endif
type GestureMultiPressPressedCallback =
Int32
-> Double
-> Double
-> IO ()
noGestureMultiPressPressedCallback :: Maybe GestureMultiPressPressedCallback
noGestureMultiPressPressedCallback = Nothing
type C_GestureMultiPressPressedCallback =
Ptr () ->
Int32 ->
CDouble ->
CDouble ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_GestureMultiPressPressedCallback :: C_GestureMultiPressPressedCallback -> IO (FunPtr C_GestureMultiPressPressedCallback)
genClosure_GestureMultiPressPressed :: GestureMultiPressPressedCallback -> IO Closure
genClosure_GestureMultiPressPressed cb = do
let cb' = wrap_GestureMultiPressPressedCallback cb
mk_GestureMultiPressPressedCallback cb' >>= newCClosure
wrap_GestureMultiPressPressedCallback ::
GestureMultiPressPressedCallback ->
C_GestureMultiPressPressedCallback
wrap_GestureMultiPressPressedCallback _cb _ nPress x y _ = do
let x' = realToFrac x
let y' = realToFrac y
_cb nPress x' y'
onGestureMultiPressPressed :: (IsGestureMultiPress a, MonadIO m) => a -> GestureMultiPressPressedCallback -> m SignalHandlerId
onGestureMultiPressPressed obj cb = liftIO $ do
let cb' = wrap_GestureMultiPressPressedCallback cb
cb'' <- mk_GestureMultiPressPressedCallback cb'
connectSignalFunPtr obj "pressed" cb'' SignalConnectBefore
afterGestureMultiPressPressed :: (IsGestureMultiPress a, MonadIO m) => a -> GestureMultiPressPressedCallback -> m SignalHandlerId
afterGestureMultiPressPressed obj cb = liftIO $ do
let cb' = wrap_GestureMultiPressPressedCallback cb
cb'' <- mk_GestureMultiPressPressedCallback cb'
connectSignalFunPtr obj "pressed" cb'' SignalConnectAfter
type GestureMultiPressReleasedCallback =
Int32
-> Double
-> Double
-> IO ()
noGestureMultiPressReleasedCallback :: Maybe GestureMultiPressReleasedCallback
noGestureMultiPressReleasedCallback = Nothing
type C_GestureMultiPressReleasedCallback =
Ptr () ->
Int32 ->
CDouble ->
CDouble ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_GestureMultiPressReleasedCallback :: C_GestureMultiPressReleasedCallback -> IO (FunPtr C_GestureMultiPressReleasedCallback)
genClosure_GestureMultiPressReleased :: GestureMultiPressReleasedCallback -> IO Closure
genClosure_GestureMultiPressReleased cb = do
let cb' = wrap_GestureMultiPressReleasedCallback cb
mk_GestureMultiPressReleasedCallback cb' >>= newCClosure
wrap_GestureMultiPressReleasedCallback ::
GestureMultiPressReleasedCallback ->
C_GestureMultiPressReleasedCallback
wrap_GestureMultiPressReleasedCallback _cb _ nPress x y _ = do
let x' = realToFrac x
let y' = realToFrac y
_cb nPress x' y'
onGestureMultiPressReleased :: (IsGestureMultiPress a, MonadIO m) => a -> GestureMultiPressReleasedCallback -> m SignalHandlerId
onGestureMultiPressReleased obj cb = liftIO $ do
let cb' = wrap_GestureMultiPressReleasedCallback cb
cb'' <- mk_GestureMultiPressReleasedCallback cb'
connectSignalFunPtr obj "released" cb'' SignalConnectBefore
afterGestureMultiPressReleased :: (IsGestureMultiPress a, MonadIO m) => a -> GestureMultiPressReleasedCallback -> m SignalHandlerId
afterGestureMultiPressReleased obj cb = liftIO $ do
let cb' = wrap_GestureMultiPressReleasedCallback cb
cb'' <- mk_GestureMultiPressReleasedCallback cb'
connectSignalFunPtr obj "released" cb'' SignalConnectAfter
type GestureMultiPressStoppedCallback =
IO ()
noGestureMultiPressStoppedCallback :: Maybe GestureMultiPressStoppedCallback
noGestureMultiPressStoppedCallback = Nothing
type C_GestureMultiPressStoppedCallback =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_GestureMultiPressStoppedCallback :: C_GestureMultiPressStoppedCallback -> IO (FunPtr C_GestureMultiPressStoppedCallback)
genClosure_GestureMultiPressStopped :: GestureMultiPressStoppedCallback -> IO Closure
genClosure_GestureMultiPressStopped cb = do
let cb' = wrap_GestureMultiPressStoppedCallback cb
mk_GestureMultiPressStoppedCallback cb' >>= newCClosure
wrap_GestureMultiPressStoppedCallback ::
GestureMultiPressStoppedCallback ->
C_GestureMultiPressStoppedCallback
wrap_GestureMultiPressStoppedCallback _cb _ _ = do
_cb
onGestureMultiPressStopped :: (IsGestureMultiPress a, MonadIO m) => a -> GestureMultiPressStoppedCallback -> m SignalHandlerId
onGestureMultiPressStopped obj cb = liftIO $ do
let cb' = wrap_GestureMultiPressStoppedCallback cb
cb'' <- mk_GestureMultiPressStoppedCallback cb'
connectSignalFunPtr obj "stopped" cb'' SignalConnectBefore
afterGestureMultiPressStopped :: (IsGestureMultiPress a, MonadIO m) => a -> GestureMultiPressStoppedCallback -> m SignalHandlerId
afterGestureMultiPressStopped obj cb = liftIO $ do
let cb' = wrap_GestureMultiPressStoppedCallback cb
cb'' <- mk_GestureMultiPressStoppedCallback cb'
connectSignalFunPtr obj "stopped" cb'' SignalConnectAfter
#if ENABLE_OVERLOADING
instance O.HasAttributeList GestureMultiPress
type instance O.AttributeList GestureMultiPress = GestureMultiPressAttributeList
type GestureMultiPressAttributeList = ('[ '("button", Gtk.GestureSingle.GestureSingleButtonPropertyInfo), '("exclusive", Gtk.GestureSingle.GestureSingleExclusivePropertyInfo), '("nPoints", Gtk.Gesture.GestureNPointsPropertyInfo), '("propagationPhase", Gtk.EventController.EventControllerPropagationPhasePropertyInfo), '("touchOnly", Gtk.GestureSingle.GestureSingleTouchOnlyPropertyInfo), '("widget", Gtk.EventController.EventControllerWidgetPropertyInfo), '("window", Gtk.Gesture.GestureWindowPropertyInfo)] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
#endif
#if ENABLE_OVERLOADING
data GestureMultiPressPressedSignalInfo
instance SignalInfo GestureMultiPressPressedSignalInfo where
type HaskellCallbackType GestureMultiPressPressedSignalInfo = GestureMultiPressPressedCallback
connectSignal _ obj cb connectMode = do
let cb' = wrap_GestureMultiPressPressedCallback cb
cb'' <- mk_GestureMultiPressPressedCallback cb'
connectSignalFunPtr obj "pressed" cb'' connectMode
data GestureMultiPressReleasedSignalInfo
instance SignalInfo GestureMultiPressReleasedSignalInfo where
type HaskellCallbackType GestureMultiPressReleasedSignalInfo = GestureMultiPressReleasedCallback
connectSignal _ obj cb connectMode = do
let cb' = wrap_GestureMultiPressReleasedCallback cb
cb'' <- mk_GestureMultiPressReleasedCallback cb'
connectSignalFunPtr obj "released" cb'' connectMode
data GestureMultiPressStoppedSignalInfo
instance SignalInfo GestureMultiPressStoppedSignalInfo where
type HaskellCallbackType GestureMultiPressStoppedSignalInfo = GestureMultiPressStoppedCallback
connectSignal _ obj cb connectMode = do
let cb' = wrap_GestureMultiPressStoppedCallback cb
cb'' <- mk_GestureMultiPressStoppedCallback cb'
connectSignalFunPtr obj "stopped" cb'' connectMode
type instance O.SignalList GestureMultiPress = GestureMultiPressSignalList
type GestureMultiPressSignalList = ('[ '("begin", Gtk.Gesture.GestureBeginSignalInfo), '("cancel", Gtk.Gesture.GestureCancelSignalInfo), '("end", Gtk.Gesture.GestureEndSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("pressed", GestureMultiPressPressedSignalInfo), '("released", GestureMultiPressReleasedSignalInfo), '("sequenceStateChanged", Gtk.Gesture.GestureSequenceStateChangedSignalInfo), '("stopped", GestureMultiPressStoppedSignalInfo), '("update", Gtk.Gesture.GestureUpdateSignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gtk_gesture_multi_press_new" gtk_gesture_multi_press_new ::
Ptr Gtk.Widget.Widget ->
IO (Ptr GestureMultiPress)
gestureMultiPressNew ::
(B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
a
-> m GestureMultiPress
gestureMultiPressNew widget = liftIO $ do
widget' <- unsafeManagedPtrCastPtr widget
result <- gtk_gesture_multi_press_new widget'
checkUnexpectedReturnNULL "gestureMultiPressNew" result
result' <- (wrapObject GestureMultiPress) result
touchManagedPtr widget
return result'
#if ENABLE_OVERLOADING
#endif
foreign import ccall "gtk_gesture_multi_press_get_area" gtk_gesture_multi_press_get_area ::
Ptr GestureMultiPress ->
Ptr Gdk.Rectangle.Rectangle ->
IO CInt
gestureMultiPressGetArea ::
(B.CallStack.HasCallStack, MonadIO m, IsGestureMultiPress a) =>
a
-> m ((Bool, Gdk.Rectangle.Rectangle))
gestureMultiPressGetArea gesture = liftIO $ do
gesture' <- unsafeManagedPtrCastPtr gesture
rect <- callocBoxedBytes 16 :: IO (Ptr Gdk.Rectangle.Rectangle)
result <- gtk_gesture_multi_press_get_area gesture' rect
let result' = (/= 0) result
rect' <- (wrapBoxed Gdk.Rectangle.Rectangle) rect
touchManagedPtr gesture
return (result', rect')
#if ENABLE_OVERLOADING
data GestureMultiPressGetAreaMethodInfo
instance (signature ~ (m ((Bool, Gdk.Rectangle.Rectangle))), MonadIO m, IsGestureMultiPress a) => O.MethodInfo GestureMultiPressGetAreaMethodInfo a signature where
overloadedMethod _ = gestureMultiPressGetArea
#endif
foreign import ccall "gtk_gesture_multi_press_set_area" gtk_gesture_multi_press_set_area ::
Ptr GestureMultiPress ->
Ptr Gdk.Rectangle.Rectangle ->
IO ()
gestureMultiPressSetArea ::
(B.CallStack.HasCallStack, MonadIO m, IsGestureMultiPress a) =>
a
-> Maybe (Gdk.Rectangle.Rectangle)
-> m ()
gestureMultiPressSetArea gesture rect = liftIO $ do
gesture' <- unsafeManagedPtrCastPtr gesture
maybeRect <- case rect of
Nothing -> return nullPtr
Just jRect -> do
jRect' <- unsafeManagedPtrGetPtr jRect
return jRect'
gtk_gesture_multi_press_set_area gesture' maybeRect
touchManagedPtr gesture
whenJust rect touchManagedPtr
return ()
#if ENABLE_OVERLOADING
data GestureMultiPressSetAreaMethodInfo
instance (signature ~ (Maybe (Gdk.Rectangle.Rectangle) -> m ()), MonadIO m, IsGestureMultiPress a) => O.MethodInfo GestureMultiPressSetAreaMethodInfo a signature where
overloadedMethod _ = gestureMultiPressSetArea
#endif