{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gtk.Objects.GestureClick
(
GestureClick(..) ,
IsGestureClick ,
toGestureClick ,
#if defined(ENABLE_OVERLOADING)
ResolveGestureClickMethod ,
#endif
gestureClickNew ,
C_GestureClickPressedCallback ,
GestureClickPressedCallback ,
#if defined(ENABLE_OVERLOADING)
GestureClickPressedSignalInfo ,
#endif
afterGestureClickPressed ,
genClosure_GestureClickPressed ,
mk_GestureClickPressedCallback ,
noGestureClickPressedCallback ,
onGestureClickPressed ,
wrap_GestureClickPressedCallback ,
C_GestureClickReleasedCallback ,
GestureClickReleasedCallback ,
#if defined(ENABLE_OVERLOADING)
GestureClickReleasedSignalInfo ,
#endif
afterGestureClickReleased ,
genClosure_GestureClickReleased ,
mk_GestureClickReleasedCallback ,
noGestureClickReleasedCallback ,
onGestureClickReleased ,
wrap_GestureClickReleasedCallback ,
C_GestureClickStoppedCallback ,
GestureClickStoppedCallback ,
#if defined(ENABLE_OVERLOADING)
GestureClickStoppedSignalInfo ,
#endif
afterGestureClickStopped ,
genClosure_GestureClickStopped ,
mk_GestureClickStoppedCallback ,
noGestureClickStoppedCallback ,
onGestureClickStopped ,
wrap_GestureClickStoppedCallback ,
C_GestureClickUnpairedReleaseCallback ,
GestureClickUnpairedReleaseCallback ,
#if defined(ENABLE_OVERLOADING)
GestureClickUnpairedReleaseSignalInfo ,
#endif
afterGestureClickUnpairedRelease ,
genClosure_GestureClickUnpairedRelease ,
mk_GestureClickUnpairedReleaseCallback ,
noGestureClickUnpairedReleaseCallback ,
onGestureClickUnpairedRelease ,
wrap_GestureClickUnpairedReleaseCallback,
) 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.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
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.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
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 GHC.OverloadedLabels as OL
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gdk.Structs.EventSequence as Gdk.EventSequence
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
newtype GestureClick = GestureClick (SP.ManagedPtr GestureClick)
deriving (GestureClick -> GestureClick -> Bool
(GestureClick -> GestureClick -> Bool)
-> (GestureClick -> GestureClick -> Bool) -> Eq GestureClick
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GestureClick -> GestureClick -> Bool
$c/= :: GestureClick -> GestureClick -> Bool
== :: GestureClick -> GestureClick -> Bool
$c== :: GestureClick -> GestureClick -> Bool
Eq)
instance SP.ManagedPtrNewtype GestureClick where
toManagedPtr :: GestureClick -> ManagedPtr GestureClick
toManagedPtr (GestureClick ManagedPtr GestureClick
p) = ManagedPtr GestureClick
p
foreign import ccall "gtk_gesture_click_get_type"
c_gtk_gesture_click_get_type :: IO B.Types.GType
instance B.Types.TypedObject GestureClick where
glibType :: IO GType
glibType = IO GType
c_gtk_gesture_click_get_type
instance B.Types.GObject GestureClick
instance B.GValue.IsGValue GestureClick where
toGValue :: GestureClick -> IO GValue
toGValue GestureClick
o = do
GType
gtype <- IO GType
c_gtk_gesture_click_get_type
GestureClick -> (Ptr GestureClick -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr GestureClick
o (GType
-> (GValue -> Ptr GestureClick -> IO ())
-> Ptr GestureClick
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr GestureClick -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO GestureClick
fromGValue GValue
gv = do
Ptr GestureClick
ptr <- GValue -> IO (Ptr GestureClick)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr GestureClick)
(ManagedPtr GestureClick -> GestureClick)
-> Ptr GestureClick -> IO GestureClick
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr GestureClick -> GestureClick
GestureClick Ptr GestureClick
ptr
class (SP.GObject o, O.IsDescendantOf GestureClick o) => IsGestureClick o
instance (SP.GObject o, O.IsDescendantOf GestureClick o) => IsGestureClick o
instance O.HasParentTypes GestureClick
type instance O.ParentTypes GestureClick = '[Gtk.GestureSingle.GestureSingle, Gtk.Gesture.Gesture, Gtk.EventController.EventController, GObject.Object.Object]
toGestureClick :: (MonadIO m, IsGestureClick o) => o -> m GestureClick
toGestureClick :: o -> m GestureClick
toGestureClick = IO GestureClick -> m GestureClick
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GestureClick -> m GestureClick)
-> (o -> IO GestureClick) -> o -> m GestureClick
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr GestureClick -> GestureClick) -> o -> IO GestureClick
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr GestureClick -> GestureClick
GestureClick
#if defined(ENABLE_OVERLOADING)
type family ResolveGestureClickMethod (t :: Symbol) (o :: *) :: * where
ResolveGestureClickMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveGestureClickMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveGestureClickMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveGestureClickMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveGestureClickMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveGestureClickMethod "group" o = Gtk.Gesture.GestureGroupMethodInfo
ResolveGestureClickMethod "handlesSequence" o = Gtk.Gesture.GestureHandlesSequenceMethodInfo
ResolveGestureClickMethod "isActive" o = Gtk.Gesture.GestureIsActiveMethodInfo
ResolveGestureClickMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveGestureClickMethod "isGroupedWith" o = Gtk.Gesture.GestureIsGroupedWithMethodInfo
ResolveGestureClickMethod "isRecognized" o = Gtk.Gesture.GestureIsRecognizedMethodInfo
ResolveGestureClickMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveGestureClickMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveGestureClickMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveGestureClickMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveGestureClickMethod "reset" o = Gtk.EventController.EventControllerResetMethodInfo
ResolveGestureClickMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveGestureClickMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveGestureClickMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveGestureClickMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveGestureClickMethod "ungroup" o = Gtk.Gesture.GestureUngroupMethodInfo
ResolveGestureClickMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveGestureClickMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveGestureClickMethod "getBoundingBox" o = Gtk.Gesture.GestureGetBoundingBoxMethodInfo
ResolveGestureClickMethod "getBoundingBoxCenter" o = Gtk.Gesture.GestureGetBoundingBoxCenterMethodInfo
ResolveGestureClickMethod "getButton" o = Gtk.GestureSingle.GestureSingleGetButtonMethodInfo
ResolveGestureClickMethod "getCurrentButton" o = Gtk.GestureSingle.GestureSingleGetCurrentButtonMethodInfo
ResolveGestureClickMethod "getCurrentEvent" o = Gtk.EventController.EventControllerGetCurrentEventMethodInfo
ResolveGestureClickMethod "getCurrentEventDevice" o = Gtk.EventController.EventControllerGetCurrentEventDeviceMethodInfo
ResolveGestureClickMethod "getCurrentEventState" o = Gtk.EventController.EventControllerGetCurrentEventStateMethodInfo
ResolveGestureClickMethod "getCurrentEventTime" o = Gtk.EventController.EventControllerGetCurrentEventTimeMethodInfo
ResolveGestureClickMethod "getCurrentSequence" o = Gtk.GestureSingle.GestureSingleGetCurrentSequenceMethodInfo
ResolveGestureClickMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveGestureClickMethod "getDevice" o = Gtk.Gesture.GestureGetDeviceMethodInfo
ResolveGestureClickMethod "getExclusive" o = Gtk.GestureSingle.GestureSingleGetExclusiveMethodInfo
ResolveGestureClickMethod "getGroup" o = Gtk.Gesture.GestureGetGroupMethodInfo
ResolveGestureClickMethod "getLastEvent" o = Gtk.Gesture.GestureGetLastEventMethodInfo
ResolveGestureClickMethod "getLastUpdatedSequence" o = Gtk.Gesture.GestureGetLastUpdatedSequenceMethodInfo
ResolveGestureClickMethod "getName" o = Gtk.EventController.EventControllerGetNameMethodInfo
ResolveGestureClickMethod "getPoint" o = Gtk.Gesture.GestureGetPointMethodInfo
ResolveGestureClickMethod "getPropagationLimit" o = Gtk.EventController.EventControllerGetPropagationLimitMethodInfo
ResolveGestureClickMethod "getPropagationPhase" o = Gtk.EventController.EventControllerGetPropagationPhaseMethodInfo
ResolveGestureClickMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveGestureClickMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveGestureClickMethod "getSequenceState" o = Gtk.Gesture.GestureGetSequenceStateMethodInfo
ResolveGestureClickMethod "getSequences" o = Gtk.Gesture.GestureGetSequencesMethodInfo
ResolveGestureClickMethod "getTouchOnly" o = Gtk.GestureSingle.GestureSingleGetTouchOnlyMethodInfo
ResolveGestureClickMethod "getWidget" o = Gtk.EventController.EventControllerGetWidgetMethodInfo
ResolveGestureClickMethod "setButton" o = Gtk.GestureSingle.GestureSingleSetButtonMethodInfo
ResolveGestureClickMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveGestureClickMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveGestureClickMethod "setExclusive" o = Gtk.GestureSingle.GestureSingleSetExclusiveMethodInfo
ResolveGestureClickMethod "setName" o = Gtk.EventController.EventControllerSetNameMethodInfo
ResolveGestureClickMethod "setPropagationLimit" o = Gtk.EventController.EventControllerSetPropagationLimitMethodInfo
ResolveGestureClickMethod "setPropagationPhase" o = Gtk.EventController.EventControllerSetPropagationPhaseMethodInfo
ResolveGestureClickMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveGestureClickMethod "setSequenceState" o = Gtk.Gesture.GestureSetSequenceStateMethodInfo
ResolveGestureClickMethod "setState" o = Gtk.Gesture.GestureSetStateMethodInfo
ResolveGestureClickMethod "setTouchOnly" o = Gtk.GestureSingle.GestureSingleSetTouchOnlyMethodInfo
ResolveGestureClickMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveGestureClickMethod t GestureClick, O.MethodInfo info GestureClick p) => OL.IsLabel t (GestureClick -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
type GestureClickPressedCallback =
Int32
-> Double
-> Double
-> IO ()
noGestureClickPressedCallback :: Maybe GestureClickPressedCallback
noGestureClickPressedCallback :: Maybe GestureClickPressedCallback
noGestureClickPressedCallback = Maybe GestureClickPressedCallback
forall a. Maybe a
Nothing
type C_GestureClickPressedCallback =
Ptr () ->
Int32 ->
CDouble ->
CDouble ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_GestureClickPressedCallback :: C_GestureClickPressedCallback -> IO (FunPtr C_GestureClickPressedCallback)
genClosure_GestureClickPressed :: MonadIO m => GestureClickPressedCallback -> m (GClosure C_GestureClickPressedCallback)
genClosure_GestureClickPressed :: GestureClickPressedCallback
-> m (GClosure C_GestureClickPressedCallback)
genClosure_GestureClickPressed GestureClickPressedCallback
cb = IO (GClosure C_GestureClickPressedCallback)
-> m (GClosure C_GestureClickPressedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_GestureClickPressedCallback)
-> m (GClosure C_GestureClickPressedCallback))
-> IO (GClosure C_GestureClickPressedCallback)
-> m (GClosure C_GestureClickPressedCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_GestureClickPressedCallback
cb' = GestureClickPressedCallback -> C_GestureClickPressedCallback
wrap_GestureClickPressedCallback GestureClickPressedCallback
cb
C_GestureClickPressedCallback
-> IO (FunPtr C_GestureClickPressedCallback)
mk_GestureClickPressedCallback C_GestureClickPressedCallback
cb' IO (FunPtr C_GestureClickPressedCallback)
-> (FunPtr C_GestureClickPressedCallback
-> IO (GClosure C_GestureClickPressedCallback))
-> IO (GClosure C_GestureClickPressedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_GestureClickPressedCallback
-> IO (GClosure C_GestureClickPressedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_GestureClickPressedCallback ::
GestureClickPressedCallback ->
C_GestureClickPressedCallback
wrap_GestureClickPressedCallback :: GestureClickPressedCallback -> C_GestureClickPressedCallback
wrap_GestureClickPressedCallback GestureClickPressedCallback
_cb Ptr ()
_ Int32
nPress CDouble
x CDouble
y Ptr ()
_ = do
let x' :: Double
x' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
x
let y' :: Double
y' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
y
GestureClickPressedCallback
_cb Int32
nPress Double
x' Double
y'
onGestureClickPressed :: (IsGestureClick a, MonadIO m) => a -> GestureClickPressedCallback -> m SignalHandlerId
onGestureClickPressed :: a -> GestureClickPressedCallback -> m SignalHandlerId
onGestureClickPressed a
obj GestureClickPressedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_GestureClickPressedCallback
cb' = GestureClickPressedCallback -> C_GestureClickPressedCallback
wrap_GestureClickPressedCallback GestureClickPressedCallback
cb
FunPtr C_GestureClickPressedCallback
cb'' <- C_GestureClickPressedCallback
-> IO (FunPtr C_GestureClickPressedCallback)
mk_GestureClickPressedCallback C_GestureClickPressedCallback
cb'
a
-> Text
-> FunPtr C_GestureClickPressedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"pressed" FunPtr C_GestureClickPressedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterGestureClickPressed :: (IsGestureClick a, MonadIO m) => a -> GestureClickPressedCallback -> m SignalHandlerId
afterGestureClickPressed :: a -> GestureClickPressedCallback -> m SignalHandlerId
afterGestureClickPressed a
obj GestureClickPressedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_GestureClickPressedCallback
cb' = GestureClickPressedCallback -> C_GestureClickPressedCallback
wrap_GestureClickPressedCallback GestureClickPressedCallback
cb
FunPtr C_GestureClickPressedCallback
cb'' <- C_GestureClickPressedCallback
-> IO (FunPtr C_GestureClickPressedCallback)
mk_GestureClickPressedCallback C_GestureClickPressedCallback
cb'
a
-> Text
-> FunPtr C_GestureClickPressedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"pressed" FunPtr C_GestureClickPressedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data GestureClickPressedSignalInfo
instance SignalInfo GestureClickPressedSignalInfo where
type HaskellCallbackType GestureClickPressedSignalInfo = GestureClickPressedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_GestureClickPressedCallback cb
cb'' <- mk_GestureClickPressedCallback cb'
connectSignalFunPtr obj "pressed" cb'' connectMode detail
#endif
type GestureClickReleasedCallback =
Int32
-> Double
-> Double
-> IO ()
noGestureClickReleasedCallback :: Maybe GestureClickReleasedCallback
noGestureClickReleasedCallback :: Maybe GestureClickPressedCallback
noGestureClickReleasedCallback = Maybe GestureClickPressedCallback
forall a. Maybe a
Nothing
type C_GestureClickReleasedCallback =
Ptr () ->
Int32 ->
CDouble ->
CDouble ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_GestureClickReleasedCallback :: C_GestureClickReleasedCallback -> IO (FunPtr C_GestureClickReleasedCallback)
genClosure_GestureClickReleased :: MonadIO m => GestureClickReleasedCallback -> m (GClosure C_GestureClickReleasedCallback)
genClosure_GestureClickReleased :: GestureClickPressedCallback
-> m (GClosure C_GestureClickPressedCallback)
genClosure_GestureClickReleased GestureClickPressedCallback
cb = IO (GClosure C_GestureClickPressedCallback)
-> m (GClosure C_GestureClickPressedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_GestureClickPressedCallback)
-> m (GClosure C_GestureClickPressedCallback))
-> IO (GClosure C_GestureClickPressedCallback)
-> m (GClosure C_GestureClickPressedCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_GestureClickPressedCallback
cb' = GestureClickPressedCallback -> C_GestureClickPressedCallback
wrap_GestureClickReleasedCallback GestureClickPressedCallback
cb
C_GestureClickPressedCallback
-> IO (FunPtr C_GestureClickPressedCallback)
mk_GestureClickReleasedCallback C_GestureClickPressedCallback
cb' IO (FunPtr C_GestureClickPressedCallback)
-> (FunPtr C_GestureClickPressedCallback
-> IO (GClosure C_GestureClickPressedCallback))
-> IO (GClosure C_GestureClickPressedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_GestureClickPressedCallback
-> IO (GClosure C_GestureClickPressedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_GestureClickReleasedCallback ::
GestureClickReleasedCallback ->
C_GestureClickReleasedCallback
wrap_GestureClickReleasedCallback :: GestureClickPressedCallback -> C_GestureClickPressedCallback
wrap_GestureClickReleasedCallback GestureClickPressedCallback
_cb Ptr ()
_ Int32
nPress CDouble
x CDouble
y Ptr ()
_ = do
let x' :: Double
x' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
x
let y' :: Double
y' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
y
GestureClickPressedCallback
_cb Int32
nPress Double
x' Double
y'
onGestureClickReleased :: (IsGestureClick a, MonadIO m) => a -> GestureClickReleasedCallback -> m SignalHandlerId
onGestureClickReleased :: a -> GestureClickPressedCallback -> m SignalHandlerId
onGestureClickReleased a
obj GestureClickPressedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_GestureClickPressedCallback
cb' = GestureClickPressedCallback -> C_GestureClickPressedCallback
wrap_GestureClickReleasedCallback GestureClickPressedCallback
cb
FunPtr C_GestureClickPressedCallback
cb'' <- C_GestureClickPressedCallback
-> IO (FunPtr C_GestureClickPressedCallback)
mk_GestureClickReleasedCallback C_GestureClickPressedCallback
cb'
a
-> Text
-> FunPtr C_GestureClickPressedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"released" FunPtr C_GestureClickPressedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterGestureClickReleased :: (IsGestureClick a, MonadIO m) => a -> GestureClickReleasedCallback -> m SignalHandlerId
afterGestureClickReleased :: a -> GestureClickPressedCallback -> m SignalHandlerId
afterGestureClickReleased a
obj GestureClickPressedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_GestureClickPressedCallback
cb' = GestureClickPressedCallback -> C_GestureClickPressedCallback
wrap_GestureClickReleasedCallback GestureClickPressedCallback
cb
FunPtr C_GestureClickPressedCallback
cb'' <- C_GestureClickPressedCallback
-> IO (FunPtr C_GestureClickPressedCallback)
mk_GestureClickReleasedCallback C_GestureClickPressedCallback
cb'
a
-> Text
-> FunPtr C_GestureClickPressedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"released" FunPtr C_GestureClickPressedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data GestureClickReleasedSignalInfo
instance SignalInfo GestureClickReleasedSignalInfo where
type HaskellCallbackType GestureClickReleasedSignalInfo = GestureClickReleasedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_GestureClickReleasedCallback cb
cb'' <- mk_GestureClickReleasedCallback cb'
connectSignalFunPtr obj "released" cb'' connectMode detail
#endif
type GestureClickStoppedCallback =
IO ()
noGestureClickStoppedCallback :: Maybe GestureClickStoppedCallback
noGestureClickStoppedCallback :: Maybe (IO ())
noGestureClickStoppedCallback = Maybe (IO ())
forall a. Maybe a
Nothing
type C_GestureClickStoppedCallback =
Ptr () ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_GestureClickStoppedCallback :: C_GestureClickStoppedCallback -> IO (FunPtr C_GestureClickStoppedCallback)
genClosure_GestureClickStopped :: MonadIO m => GestureClickStoppedCallback -> m (GClosure C_GestureClickStoppedCallback)
genClosure_GestureClickStopped :: IO () -> m (GClosure C_GestureClickStoppedCallback)
genClosure_GestureClickStopped IO ()
cb = IO (GClosure C_GestureClickStoppedCallback)
-> m (GClosure C_GestureClickStoppedCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_GestureClickStoppedCallback)
-> m (GClosure C_GestureClickStoppedCallback))
-> IO (GClosure C_GestureClickStoppedCallback)
-> m (GClosure C_GestureClickStoppedCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_GestureClickStoppedCallback
cb' = IO () -> C_GestureClickStoppedCallback
wrap_GestureClickStoppedCallback IO ()
cb
C_GestureClickStoppedCallback
-> IO (FunPtr C_GestureClickStoppedCallback)
mk_GestureClickStoppedCallback C_GestureClickStoppedCallback
cb' IO (FunPtr C_GestureClickStoppedCallback)
-> (FunPtr C_GestureClickStoppedCallback
-> IO (GClosure C_GestureClickStoppedCallback))
-> IO (GClosure C_GestureClickStoppedCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_GestureClickStoppedCallback
-> IO (GClosure C_GestureClickStoppedCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_GestureClickStoppedCallback ::
GestureClickStoppedCallback ->
C_GestureClickStoppedCallback
wrap_GestureClickStoppedCallback :: IO () -> C_GestureClickStoppedCallback
wrap_GestureClickStoppedCallback IO ()
_cb Ptr ()
_ Ptr ()
_ = do
IO ()
_cb
onGestureClickStopped :: (IsGestureClick a, MonadIO m) => a -> GestureClickStoppedCallback -> m SignalHandlerId
onGestureClickStopped :: a -> IO () -> m SignalHandlerId
onGestureClickStopped a
obj IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_GestureClickStoppedCallback
cb' = IO () -> C_GestureClickStoppedCallback
wrap_GestureClickStoppedCallback IO ()
cb
FunPtr C_GestureClickStoppedCallback
cb'' <- C_GestureClickStoppedCallback
-> IO (FunPtr C_GestureClickStoppedCallback)
mk_GestureClickStoppedCallback C_GestureClickStoppedCallback
cb'
a
-> Text
-> FunPtr C_GestureClickStoppedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"stopped" FunPtr C_GestureClickStoppedCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterGestureClickStopped :: (IsGestureClick a, MonadIO m) => a -> GestureClickStoppedCallback -> m SignalHandlerId
afterGestureClickStopped :: a -> IO () -> m SignalHandlerId
afterGestureClickStopped a
obj IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_GestureClickStoppedCallback
cb' = IO () -> C_GestureClickStoppedCallback
wrap_GestureClickStoppedCallback IO ()
cb
FunPtr C_GestureClickStoppedCallback
cb'' <- C_GestureClickStoppedCallback
-> IO (FunPtr C_GestureClickStoppedCallback)
mk_GestureClickStoppedCallback C_GestureClickStoppedCallback
cb'
a
-> Text
-> FunPtr C_GestureClickStoppedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"stopped" FunPtr C_GestureClickStoppedCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data GestureClickStoppedSignalInfo
instance SignalInfo GestureClickStoppedSignalInfo where
type HaskellCallbackType GestureClickStoppedSignalInfo = GestureClickStoppedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_GestureClickStoppedCallback cb
cb'' <- mk_GestureClickStoppedCallback cb'
connectSignalFunPtr obj "stopped" cb'' connectMode detail
#endif
type GestureClickUnpairedReleaseCallback =
Double
-> Double
-> Word32
-> Gdk.EventSequence.EventSequence
-> IO ()
noGestureClickUnpairedReleaseCallback :: Maybe GestureClickUnpairedReleaseCallback
noGestureClickUnpairedReleaseCallback :: Maybe GestureClickUnpairedReleaseCallback
noGestureClickUnpairedReleaseCallback = Maybe GestureClickUnpairedReleaseCallback
forall a. Maybe a
Nothing
type C_GestureClickUnpairedReleaseCallback =
Ptr () ->
CDouble ->
CDouble ->
Word32 ->
Ptr Gdk.EventSequence.EventSequence ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_GestureClickUnpairedReleaseCallback :: C_GestureClickUnpairedReleaseCallback -> IO (FunPtr C_GestureClickUnpairedReleaseCallback)
genClosure_GestureClickUnpairedRelease :: MonadIO m => GestureClickUnpairedReleaseCallback -> m (GClosure C_GestureClickUnpairedReleaseCallback)
genClosure_GestureClickUnpairedRelease :: GestureClickUnpairedReleaseCallback
-> m (GClosure C_GestureClickUnpairedReleaseCallback)
genClosure_GestureClickUnpairedRelease GestureClickUnpairedReleaseCallback
cb = IO (GClosure C_GestureClickUnpairedReleaseCallback)
-> m (GClosure C_GestureClickUnpairedReleaseCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_GestureClickUnpairedReleaseCallback)
-> m (GClosure C_GestureClickUnpairedReleaseCallback))
-> IO (GClosure C_GestureClickUnpairedReleaseCallback)
-> m (GClosure C_GestureClickUnpairedReleaseCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_GestureClickUnpairedReleaseCallback
cb' = GestureClickUnpairedReleaseCallback
-> C_GestureClickUnpairedReleaseCallback
wrap_GestureClickUnpairedReleaseCallback GestureClickUnpairedReleaseCallback
cb
C_GestureClickUnpairedReleaseCallback
-> IO (FunPtr C_GestureClickUnpairedReleaseCallback)
mk_GestureClickUnpairedReleaseCallback C_GestureClickUnpairedReleaseCallback
cb' IO (FunPtr C_GestureClickUnpairedReleaseCallback)
-> (FunPtr C_GestureClickUnpairedReleaseCallback
-> IO (GClosure C_GestureClickUnpairedReleaseCallback))
-> IO (GClosure C_GestureClickUnpairedReleaseCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_GestureClickUnpairedReleaseCallback
-> IO (GClosure C_GestureClickUnpairedReleaseCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_GestureClickUnpairedReleaseCallback ::
GestureClickUnpairedReleaseCallback ->
C_GestureClickUnpairedReleaseCallback
wrap_GestureClickUnpairedReleaseCallback :: GestureClickUnpairedReleaseCallback
-> C_GestureClickUnpairedReleaseCallback
wrap_GestureClickUnpairedReleaseCallback GestureClickUnpairedReleaseCallback
_cb Ptr ()
_ CDouble
x CDouble
y Word32
button Ptr EventSequence
sequence Ptr ()
_ = do
let x' :: Double
x' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
x
let y' :: Double
y' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
y
(ManagedPtr EventSequence -> EventSequence)
-> Ptr EventSequence -> (EventSequence -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
(ManagedPtr a -> a) -> Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient ManagedPtr EventSequence -> EventSequence
Gdk.EventSequence.EventSequence Ptr EventSequence
sequence ((EventSequence -> IO ()) -> IO ())
-> (EventSequence -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \EventSequence
sequence' -> do
GestureClickUnpairedReleaseCallback
_cb Double
x' Double
y' Word32
button EventSequence
sequence'
onGestureClickUnpairedRelease :: (IsGestureClick a, MonadIO m) => a -> GestureClickUnpairedReleaseCallback -> m SignalHandlerId
onGestureClickUnpairedRelease :: a -> GestureClickUnpairedReleaseCallback -> m SignalHandlerId
onGestureClickUnpairedRelease a
obj GestureClickUnpairedReleaseCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_GestureClickUnpairedReleaseCallback
cb' = GestureClickUnpairedReleaseCallback
-> C_GestureClickUnpairedReleaseCallback
wrap_GestureClickUnpairedReleaseCallback GestureClickUnpairedReleaseCallback
cb
FunPtr C_GestureClickUnpairedReleaseCallback
cb'' <- C_GestureClickUnpairedReleaseCallback
-> IO (FunPtr C_GestureClickUnpairedReleaseCallback)
mk_GestureClickUnpairedReleaseCallback C_GestureClickUnpairedReleaseCallback
cb'
a
-> Text
-> FunPtr C_GestureClickUnpairedReleaseCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"unpaired-release" FunPtr C_GestureClickUnpairedReleaseCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterGestureClickUnpairedRelease :: (IsGestureClick a, MonadIO m) => a -> GestureClickUnpairedReleaseCallback -> m SignalHandlerId
afterGestureClickUnpairedRelease :: a -> GestureClickUnpairedReleaseCallback -> m SignalHandlerId
afterGestureClickUnpairedRelease a
obj GestureClickUnpairedReleaseCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_GestureClickUnpairedReleaseCallback
cb' = GestureClickUnpairedReleaseCallback
-> C_GestureClickUnpairedReleaseCallback
wrap_GestureClickUnpairedReleaseCallback GestureClickUnpairedReleaseCallback
cb
FunPtr C_GestureClickUnpairedReleaseCallback
cb'' <- C_GestureClickUnpairedReleaseCallback
-> IO (FunPtr C_GestureClickUnpairedReleaseCallback)
mk_GestureClickUnpairedReleaseCallback C_GestureClickUnpairedReleaseCallback
cb'
a
-> Text
-> FunPtr C_GestureClickUnpairedReleaseCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"unpaired-release" FunPtr C_GestureClickUnpairedReleaseCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data GestureClickUnpairedReleaseSignalInfo
instance SignalInfo GestureClickUnpairedReleaseSignalInfo where
type HaskellCallbackType GestureClickUnpairedReleaseSignalInfo = GestureClickUnpairedReleaseCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_GestureClickUnpairedReleaseCallback cb
cb'' <- mk_GestureClickUnpairedReleaseCallback cb'
connectSignalFunPtr obj "unpaired-release" cb'' connectMode detail
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList GestureClick
type instance O.AttributeList GestureClick = GestureClickAttributeList
type GestureClickAttributeList = ('[ '("button", Gtk.GestureSingle.GestureSingleButtonPropertyInfo), '("exclusive", Gtk.GestureSingle.GestureSingleExclusivePropertyInfo), '("nPoints", Gtk.Gesture.GestureNPointsPropertyInfo), '("name", Gtk.EventController.EventControllerNamePropertyInfo), '("propagationLimit", Gtk.EventController.EventControllerPropagationLimitPropertyInfo), '("propagationPhase", Gtk.EventController.EventControllerPropagationPhasePropertyInfo), '("touchOnly", Gtk.GestureSingle.GestureSingleTouchOnlyPropertyInfo), '("widget", Gtk.EventController.EventControllerWidgetPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList GestureClick = GestureClickSignalList
type GestureClickSignalList = ('[ '("begin", Gtk.Gesture.GestureBeginSignalInfo), '("cancel", Gtk.Gesture.GestureCancelSignalInfo), '("end", Gtk.Gesture.GestureEndSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("pressed", GestureClickPressedSignalInfo), '("released", GestureClickReleasedSignalInfo), '("sequenceStateChanged", Gtk.Gesture.GestureSequenceStateChangedSignalInfo), '("stopped", GestureClickStoppedSignalInfo), '("unpairedRelease", GestureClickUnpairedReleaseSignalInfo), '("update", Gtk.Gesture.GestureUpdateSignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gtk_gesture_click_new" gtk_gesture_click_new ::
IO (Ptr GestureClick)
gestureClickNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m GestureClick
gestureClickNew :: m GestureClick
gestureClickNew = IO GestureClick -> m GestureClick
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GestureClick -> m GestureClick)
-> IO GestureClick -> m GestureClick
forall a b. (a -> b) -> a -> b
$ do
Ptr GestureClick
result <- IO (Ptr GestureClick)
gtk_gesture_click_new
Text -> Ptr GestureClick -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"gestureClickNew" Ptr GestureClick
result
GestureClick
result' <- ((ManagedPtr GestureClick -> GestureClick)
-> Ptr GestureClick -> IO GestureClick
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr GestureClick -> GestureClick
GestureClick) Ptr GestureClick
result
GestureClick -> IO GestureClick
forall (m :: * -> *) a. Monad m => a -> m a
return GestureClick
result'
#if defined(ENABLE_OVERLOADING)
#endif