{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gtk.Objects.GestureStylus
(
#if defined(ENABLE_OVERLOADING)
GestureStylusGetAxesMethodInfo ,
#endif
GestureStylus(..) ,
IsGestureStylus ,
toGestureStylus ,
#if defined(ENABLE_OVERLOADING)
ResolveGestureStylusMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
GestureStylusGetAxisMethodInfo ,
#endif
gestureStylusGetAxis ,
#if defined(ENABLE_OVERLOADING)
GestureStylusGetDeviceToolMethodInfo ,
#endif
gestureStylusGetDeviceTool ,
gestureStylusNew ,
C_GestureStylusDownCallback ,
GestureStylusDownCallback ,
#if defined(ENABLE_OVERLOADING)
GestureStylusDownSignalInfo ,
#endif
afterGestureStylusDown ,
genClosure_GestureStylusDown ,
mk_GestureStylusDownCallback ,
noGestureStylusDownCallback ,
onGestureStylusDown ,
wrap_GestureStylusDownCallback ,
C_GestureStylusMotionCallback ,
GestureStylusMotionCallback ,
#if defined(ENABLE_OVERLOADING)
GestureStylusMotionSignalInfo ,
#endif
afterGestureStylusMotion ,
genClosure_GestureStylusMotion ,
mk_GestureStylusMotionCallback ,
noGestureStylusMotionCallback ,
onGestureStylusMotion ,
wrap_GestureStylusMotionCallback ,
C_GestureStylusProximityCallback ,
GestureStylusProximityCallback ,
#if defined(ENABLE_OVERLOADING)
GestureStylusProximitySignalInfo ,
#endif
afterGestureStylusProximity ,
genClosure_GestureStylusProximity ,
mk_GestureStylusProximityCallback ,
noGestureStylusProximityCallback ,
onGestureStylusProximity ,
wrap_GestureStylusProximityCallback ,
C_GestureStylusUpCallback ,
GestureStylusUpCallback ,
#if defined(ENABLE_OVERLOADING)
GestureStylusUpSignalInfo ,
#endif
afterGestureStylusUp ,
genClosure_GestureStylusUp ,
mk_GestureStylusUpCallback ,
noGestureStylusUpCallback ,
onGestureStylusUp ,
wrap_GestureStylusUpCallback ,
) 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.GArray as B.GArray
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 GHC.Records as R
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gdk.Enums as Gdk.Enums
import qualified GI.Gdk.Objects.DeviceTool as Gdk.DeviceTool
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 GestureStylus = GestureStylus (SP.ManagedPtr GestureStylus)
deriving (GestureStylus -> GestureStylus -> Bool
(GestureStylus -> GestureStylus -> Bool)
-> (GestureStylus -> GestureStylus -> Bool) -> Eq GestureStylus
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GestureStylus -> GestureStylus -> Bool
$c/= :: GestureStylus -> GestureStylus -> Bool
== :: GestureStylus -> GestureStylus -> Bool
$c== :: GestureStylus -> GestureStylus -> Bool
Eq)
instance SP.ManagedPtrNewtype GestureStylus where
toManagedPtr :: GestureStylus -> ManagedPtr GestureStylus
toManagedPtr (GestureStylus ManagedPtr GestureStylus
p) = ManagedPtr GestureStylus
p
foreign import ccall "gtk_gesture_stylus_get_type"
c_gtk_gesture_stylus_get_type :: IO B.Types.GType
instance B.Types.TypedObject GestureStylus where
glibType :: IO GType
glibType = IO GType
c_gtk_gesture_stylus_get_type
instance B.Types.GObject GestureStylus
class (SP.GObject o, O.IsDescendantOf GestureStylus o) => IsGestureStylus o
instance (SP.GObject o, O.IsDescendantOf GestureStylus o) => IsGestureStylus o
instance O.HasParentTypes GestureStylus
type instance O.ParentTypes GestureStylus = '[Gtk.GestureSingle.GestureSingle, Gtk.Gesture.Gesture, Gtk.EventController.EventController, GObject.Object.Object]
toGestureStylus :: (MIO.MonadIO m, IsGestureStylus o) => o -> m GestureStylus
toGestureStylus :: forall (m :: * -> *) o.
(MonadIO m, IsGestureStylus o) =>
o -> m GestureStylus
toGestureStylus = IO GestureStylus -> m GestureStylus
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO GestureStylus -> m GestureStylus)
-> (o -> IO GestureStylus) -> o -> m GestureStylus
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr GestureStylus -> GestureStylus)
-> o -> IO GestureStylus
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr GestureStylus -> GestureStylus
GestureStylus
instance B.GValue.IsGValue (Maybe GestureStylus) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gtk_gesture_stylus_get_type
gvalueSet_ :: Ptr GValue -> Maybe GestureStylus -> IO ()
gvalueSet_ Ptr GValue
gv Maybe GestureStylus
P.Nothing = Ptr GValue -> Ptr GestureStylus -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr GestureStylus
forall a. Ptr a
FP.nullPtr :: FP.Ptr GestureStylus)
gvalueSet_ Ptr GValue
gv (P.Just GestureStylus
obj) = GestureStylus -> (Ptr GestureStylus -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr GestureStylus
obj (Ptr GValue -> Ptr GestureStylus -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe GestureStylus)
gvalueGet_ Ptr GValue
gv = do
Ptr GestureStylus
ptr <- Ptr GValue -> IO (Ptr GestureStylus)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr GestureStylus)
if Ptr GestureStylus
ptr Ptr GestureStylus -> Ptr GestureStylus -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr GestureStylus
forall a. Ptr a
FP.nullPtr
then GestureStylus -> Maybe GestureStylus
forall a. a -> Maybe a
P.Just (GestureStylus -> Maybe GestureStylus)
-> IO GestureStylus -> IO (Maybe GestureStylus)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr GestureStylus -> GestureStylus)
-> Ptr GestureStylus -> IO GestureStylus
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr GestureStylus -> GestureStylus
GestureStylus Ptr GestureStylus
ptr
else Maybe GestureStylus -> IO (Maybe GestureStylus)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe GestureStylus
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveGestureStylusMethod (t :: Symbol) (o :: *) :: * where
ResolveGestureStylusMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveGestureStylusMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveGestureStylusMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveGestureStylusMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveGestureStylusMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveGestureStylusMethod "group" o = Gtk.Gesture.GestureGroupMethodInfo
ResolveGestureStylusMethod "handleEvent" o = Gtk.EventController.EventControllerHandleEventMethodInfo
ResolveGestureStylusMethod "handlesSequence" o = Gtk.Gesture.GestureHandlesSequenceMethodInfo
ResolveGestureStylusMethod "isActive" o = Gtk.Gesture.GestureIsActiveMethodInfo
ResolveGestureStylusMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveGestureStylusMethod "isGroupedWith" o = Gtk.Gesture.GestureIsGroupedWithMethodInfo
ResolveGestureStylusMethod "isRecognized" o = Gtk.Gesture.GestureIsRecognizedMethodInfo
ResolveGestureStylusMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveGestureStylusMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveGestureStylusMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveGestureStylusMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveGestureStylusMethod "reset" o = Gtk.EventController.EventControllerResetMethodInfo
ResolveGestureStylusMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveGestureStylusMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveGestureStylusMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveGestureStylusMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveGestureStylusMethod "ungroup" o = Gtk.Gesture.GestureUngroupMethodInfo
ResolveGestureStylusMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveGestureStylusMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveGestureStylusMethod "getAxes" o = GestureStylusGetAxesMethodInfo
ResolveGestureStylusMethod "getAxis" o = GestureStylusGetAxisMethodInfo
ResolveGestureStylusMethod "getBoundingBox" o = Gtk.Gesture.GestureGetBoundingBoxMethodInfo
ResolveGestureStylusMethod "getBoundingBoxCenter" o = Gtk.Gesture.GestureGetBoundingBoxCenterMethodInfo
ResolveGestureStylusMethod "getButton" o = Gtk.GestureSingle.GestureSingleGetButtonMethodInfo
ResolveGestureStylusMethod "getCurrentButton" o = Gtk.GestureSingle.GestureSingleGetCurrentButtonMethodInfo
ResolveGestureStylusMethod "getCurrentSequence" o = Gtk.GestureSingle.GestureSingleGetCurrentSequenceMethodInfo
ResolveGestureStylusMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveGestureStylusMethod "getDevice" o = Gtk.Gesture.GestureGetDeviceMethodInfo
ResolveGestureStylusMethod "getDeviceTool" o = GestureStylusGetDeviceToolMethodInfo
ResolveGestureStylusMethod "getExclusive" o = Gtk.GestureSingle.GestureSingleGetExclusiveMethodInfo
ResolveGestureStylusMethod "getGroup" o = Gtk.Gesture.GestureGetGroupMethodInfo
ResolveGestureStylusMethod "getLastEvent" o = Gtk.Gesture.GestureGetLastEventMethodInfo
ResolveGestureStylusMethod "getLastUpdatedSequence" o = Gtk.Gesture.GestureGetLastUpdatedSequenceMethodInfo
ResolveGestureStylusMethod "getPoint" o = Gtk.Gesture.GestureGetPointMethodInfo
ResolveGestureStylusMethod "getPropagationPhase" o = Gtk.EventController.EventControllerGetPropagationPhaseMethodInfo
ResolveGestureStylusMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveGestureStylusMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveGestureStylusMethod "getSequenceState" o = Gtk.Gesture.GestureGetSequenceStateMethodInfo
ResolveGestureStylusMethod "getSequences" o = Gtk.Gesture.GestureGetSequencesMethodInfo
ResolveGestureStylusMethod "getTouchOnly" o = Gtk.GestureSingle.GestureSingleGetTouchOnlyMethodInfo
ResolveGestureStylusMethod "getWidget" o = Gtk.EventController.EventControllerGetWidgetMethodInfo
ResolveGestureStylusMethod "getWindow" o = Gtk.Gesture.GestureGetWindowMethodInfo
ResolveGestureStylusMethod "setButton" o = Gtk.GestureSingle.GestureSingleSetButtonMethodInfo
ResolveGestureStylusMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveGestureStylusMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveGestureStylusMethod "setExclusive" o = Gtk.GestureSingle.GestureSingleSetExclusiveMethodInfo
ResolveGestureStylusMethod "setPropagationPhase" o = Gtk.EventController.EventControllerSetPropagationPhaseMethodInfo
ResolveGestureStylusMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveGestureStylusMethod "setSequenceState" o = Gtk.Gesture.GestureSetSequenceStateMethodInfo
ResolveGestureStylusMethod "setState" o = Gtk.Gesture.GestureSetStateMethodInfo
ResolveGestureStylusMethod "setTouchOnly" o = Gtk.GestureSingle.GestureSingleSetTouchOnlyMethodInfo
ResolveGestureStylusMethod "setWindow" o = Gtk.Gesture.GestureSetWindowMethodInfo
ResolveGestureStylusMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveGestureStylusMethod t GestureStylus, O.OverloadedMethod info GestureStylus p) => OL.IsLabel t (GestureStylus -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveGestureStylusMethod t GestureStylus, O.OverloadedMethod info GestureStylus p, R.HasField t GestureStylus p) => R.HasField t GestureStylus p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveGestureStylusMethod t GestureStylus, O.OverloadedMethodInfo info GestureStylus) => OL.IsLabel t (O.MethodProxy info GestureStylus) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
type GestureStylusDownCallback =
Double
-> Double
-> IO ()
noGestureStylusDownCallback :: Maybe GestureStylusDownCallback
noGestureStylusDownCallback :: Maybe GestureStylusDownCallback
noGestureStylusDownCallback = Maybe GestureStylusDownCallback
forall a. Maybe a
Nothing
type C_GestureStylusDownCallback =
Ptr () ->
CDouble ->
CDouble ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_GestureStylusDownCallback :: C_GestureStylusDownCallback -> IO (FunPtr C_GestureStylusDownCallback)
genClosure_GestureStylusDown :: MonadIO m => GestureStylusDownCallback -> m (GClosure C_GestureStylusDownCallback)
genClosure_GestureStylusDown :: forall (m :: * -> *).
MonadIO m =>
GestureStylusDownCallback
-> m (GClosure C_GestureStylusDownCallback)
genClosure_GestureStylusDown GestureStylusDownCallback
cb = IO (GClosure C_GestureStylusDownCallback)
-> m (GClosure C_GestureStylusDownCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_GestureStylusDownCallback)
-> m (GClosure C_GestureStylusDownCallback))
-> IO (GClosure C_GestureStylusDownCallback)
-> m (GClosure C_GestureStylusDownCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_GestureStylusDownCallback
cb' = GestureStylusDownCallback -> C_GestureStylusDownCallback
wrap_GestureStylusDownCallback GestureStylusDownCallback
cb
C_GestureStylusDownCallback
-> IO (FunPtr C_GestureStylusDownCallback)
mk_GestureStylusDownCallback C_GestureStylusDownCallback
cb' IO (FunPtr C_GestureStylusDownCallback)
-> (FunPtr C_GestureStylusDownCallback
-> IO (GClosure C_GestureStylusDownCallback))
-> IO (GClosure C_GestureStylusDownCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_GestureStylusDownCallback
-> IO (GClosure C_GestureStylusDownCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_GestureStylusDownCallback ::
GestureStylusDownCallback ->
C_GestureStylusDownCallback
wrap_GestureStylusDownCallback :: GestureStylusDownCallback -> C_GestureStylusDownCallback
wrap_GestureStylusDownCallback GestureStylusDownCallback
_cb Ptr ()
_ CDouble
object CDouble
p0 Ptr ()
_ = do
let object' :: Double
object' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
object
let p0' :: Double
p0' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
p0
GestureStylusDownCallback
_cb Double
object' Double
p0'
onGestureStylusDown :: (IsGestureStylus a, MonadIO m) => a -> GestureStylusDownCallback -> m SignalHandlerId
onGestureStylusDown :: forall a (m :: * -> *).
(IsGestureStylus a, MonadIO m) =>
a -> GestureStylusDownCallback -> m SignalHandlerId
onGestureStylusDown a
obj GestureStylusDownCallback
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_GestureStylusDownCallback
cb' = GestureStylusDownCallback -> C_GestureStylusDownCallback
wrap_GestureStylusDownCallback GestureStylusDownCallback
cb
FunPtr C_GestureStylusDownCallback
cb'' <- C_GestureStylusDownCallback
-> IO (FunPtr C_GestureStylusDownCallback)
mk_GestureStylusDownCallback C_GestureStylusDownCallback
cb'
a
-> Text
-> FunPtr C_GestureStylusDownCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"down" FunPtr C_GestureStylusDownCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterGestureStylusDown :: (IsGestureStylus a, MonadIO m) => a -> GestureStylusDownCallback -> m SignalHandlerId
afterGestureStylusDown :: forall a (m :: * -> *).
(IsGestureStylus a, MonadIO m) =>
a -> GestureStylusDownCallback -> m SignalHandlerId
afterGestureStylusDown a
obj GestureStylusDownCallback
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_GestureStylusDownCallback
cb' = GestureStylusDownCallback -> C_GestureStylusDownCallback
wrap_GestureStylusDownCallback GestureStylusDownCallback
cb
FunPtr C_GestureStylusDownCallback
cb'' <- C_GestureStylusDownCallback
-> IO (FunPtr C_GestureStylusDownCallback)
mk_GestureStylusDownCallback C_GestureStylusDownCallback
cb'
a
-> Text
-> FunPtr C_GestureStylusDownCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"down" FunPtr C_GestureStylusDownCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data GestureStylusDownSignalInfo
instance SignalInfo GestureStylusDownSignalInfo where
type HaskellCallbackType GestureStylusDownSignalInfo = GestureStylusDownCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_GestureStylusDownCallback cb
cb'' <- mk_GestureStylusDownCallback cb'
connectSignalFunPtr obj "down" cb'' connectMode detail
#endif
type GestureStylusMotionCallback =
Double
-> Double
-> IO ()
noGestureStylusMotionCallback :: Maybe GestureStylusMotionCallback
noGestureStylusMotionCallback :: Maybe GestureStylusDownCallback
noGestureStylusMotionCallback = Maybe GestureStylusDownCallback
forall a. Maybe a
Nothing
type C_GestureStylusMotionCallback =
Ptr () ->
CDouble ->
CDouble ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_GestureStylusMotionCallback :: C_GestureStylusMotionCallback -> IO (FunPtr C_GestureStylusMotionCallback)
genClosure_GestureStylusMotion :: MonadIO m => GestureStylusMotionCallback -> m (GClosure C_GestureStylusMotionCallback)
genClosure_GestureStylusMotion :: forall (m :: * -> *).
MonadIO m =>
GestureStylusDownCallback
-> m (GClosure C_GestureStylusDownCallback)
genClosure_GestureStylusMotion GestureStylusDownCallback
cb = IO (GClosure C_GestureStylusDownCallback)
-> m (GClosure C_GestureStylusDownCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_GestureStylusDownCallback)
-> m (GClosure C_GestureStylusDownCallback))
-> IO (GClosure C_GestureStylusDownCallback)
-> m (GClosure C_GestureStylusDownCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_GestureStylusDownCallback
cb' = GestureStylusDownCallback -> C_GestureStylusDownCallback
wrap_GestureStylusMotionCallback GestureStylusDownCallback
cb
C_GestureStylusDownCallback
-> IO (FunPtr C_GestureStylusDownCallback)
mk_GestureStylusMotionCallback C_GestureStylusDownCallback
cb' IO (FunPtr C_GestureStylusDownCallback)
-> (FunPtr C_GestureStylusDownCallback
-> IO (GClosure C_GestureStylusDownCallback))
-> IO (GClosure C_GestureStylusDownCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_GestureStylusDownCallback
-> IO (GClosure C_GestureStylusDownCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_GestureStylusMotionCallback ::
GestureStylusMotionCallback ->
C_GestureStylusMotionCallback
wrap_GestureStylusMotionCallback :: GestureStylusDownCallback -> C_GestureStylusDownCallback
wrap_GestureStylusMotionCallback GestureStylusDownCallback
_cb Ptr ()
_ CDouble
object CDouble
p0 Ptr ()
_ = do
let object' :: Double
object' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
object
let p0' :: Double
p0' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
p0
GestureStylusDownCallback
_cb Double
object' Double
p0'
onGestureStylusMotion :: (IsGestureStylus a, MonadIO m) => a -> GestureStylusMotionCallback -> m SignalHandlerId
onGestureStylusMotion :: forall a (m :: * -> *).
(IsGestureStylus a, MonadIO m) =>
a -> GestureStylusDownCallback -> m SignalHandlerId
onGestureStylusMotion a
obj GestureStylusDownCallback
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_GestureStylusDownCallback
cb' = GestureStylusDownCallback -> C_GestureStylusDownCallback
wrap_GestureStylusMotionCallback GestureStylusDownCallback
cb
FunPtr C_GestureStylusDownCallback
cb'' <- C_GestureStylusDownCallback
-> IO (FunPtr C_GestureStylusDownCallback)
mk_GestureStylusMotionCallback C_GestureStylusDownCallback
cb'
a
-> Text
-> FunPtr C_GestureStylusDownCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"motion" FunPtr C_GestureStylusDownCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterGestureStylusMotion :: (IsGestureStylus a, MonadIO m) => a -> GestureStylusMotionCallback -> m SignalHandlerId
afterGestureStylusMotion :: forall a (m :: * -> *).
(IsGestureStylus a, MonadIO m) =>
a -> GestureStylusDownCallback -> m SignalHandlerId
afterGestureStylusMotion a
obj GestureStylusDownCallback
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_GestureStylusDownCallback
cb' = GestureStylusDownCallback -> C_GestureStylusDownCallback
wrap_GestureStylusMotionCallback GestureStylusDownCallback
cb
FunPtr C_GestureStylusDownCallback
cb'' <- C_GestureStylusDownCallback
-> IO (FunPtr C_GestureStylusDownCallback)
mk_GestureStylusMotionCallback C_GestureStylusDownCallback
cb'
a
-> Text
-> FunPtr C_GestureStylusDownCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"motion" FunPtr C_GestureStylusDownCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data GestureStylusMotionSignalInfo
instance SignalInfo GestureStylusMotionSignalInfo where
type HaskellCallbackType GestureStylusMotionSignalInfo = GestureStylusMotionCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_GestureStylusMotionCallback cb
cb'' <- mk_GestureStylusMotionCallback cb'
connectSignalFunPtr obj "motion" cb'' connectMode detail
#endif
type GestureStylusProximityCallback =
Double
-> Double
-> IO ()
noGestureStylusProximityCallback :: Maybe GestureStylusProximityCallback
noGestureStylusProximityCallback :: Maybe GestureStylusDownCallback
noGestureStylusProximityCallback = Maybe GestureStylusDownCallback
forall a. Maybe a
Nothing
type C_GestureStylusProximityCallback =
Ptr () ->
CDouble ->
CDouble ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_GestureStylusProximityCallback :: C_GestureStylusProximityCallback -> IO (FunPtr C_GestureStylusProximityCallback)
genClosure_GestureStylusProximity :: MonadIO m => GestureStylusProximityCallback -> m (GClosure C_GestureStylusProximityCallback)
genClosure_GestureStylusProximity :: forall (m :: * -> *).
MonadIO m =>
GestureStylusDownCallback
-> m (GClosure C_GestureStylusDownCallback)
genClosure_GestureStylusProximity GestureStylusDownCallback
cb = IO (GClosure C_GestureStylusDownCallback)
-> m (GClosure C_GestureStylusDownCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_GestureStylusDownCallback)
-> m (GClosure C_GestureStylusDownCallback))
-> IO (GClosure C_GestureStylusDownCallback)
-> m (GClosure C_GestureStylusDownCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_GestureStylusDownCallback
cb' = GestureStylusDownCallback -> C_GestureStylusDownCallback
wrap_GestureStylusProximityCallback GestureStylusDownCallback
cb
C_GestureStylusDownCallback
-> IO (FunPtr C_GestureStylusDownCallback)
mk_GestureStylusProximityCallback C_GestureStylusDownCallback
cb' IO (FunPtr C_GestureStylusDownCallback)
-> (FunPtr C_GestureStylusDownCallback
-> IO (GClosure C_GestureStylusDownCallback))
-> IO (GClosure C_GestureStylusDownCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_GestureStylusDownCallback
-> IO (GClosure C_GestureStylusDownCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_GestureStylusProximityCallback ::
GestureStylusProximityCallback ->
C_GestureStylusProximityCallback
wrap_GestureStylusProximityCallback :: GestureStylusDownCallback -> C_GestureStylusDownCallback
wrap_GestureStylusProximityCallback GestureStylusDownCallback
_cb Ptr ()
_ CDouble
object CDouble
p0 Ptr ()
_ = do
let object' :: Double
object' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
object
let p0' :: Double
p0' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
p0
GestureStylusDownCallback
_cb Double
object' Double
p0'
onGestureStylusProximity :: (IsGestureStylus a, MonadIO m) => a -> GestureStylusProximityCallback -> m SignalHandlerId
onGestureStylusProximity :: forall a (m :: * -> *).
(IsGestureStylus a, MonadIO m) =>
a -> GestureStylusDownCallback -> m SignalHandlerId
onGestureStylusProximity a
obj GestureStylusDownCallback
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_GestureStylusDownCallback
cb' = GestureStylusDownCallback -> C_GestureStylusDownCallback
wrap_GestureStylusProximityCallback GestureStylusDownCallback
cb
FunPtr C_GestureStylusDownCallback
cb'' <- C_GestureStylusDownCallback
-> IO (FunPtr C_GestureStylusDownCallback)
mk_GestureStylusProximityCallback C_GestureStylusDownCallback
cb'
a
-> Text
-> FunPtr C_GestureStylusDownCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"proximity" FunPtr C_GestureStylusDownCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterGestureStylusProximity :: (IsGestureStylus a, MonadIO m) => a -> GestureStylusProximityCallback -> m SignalHandlerId
afterGestureStylusProximity :: forall a (m :: * -> *).
(IsGestureStylus a, MonadIO m) =>
a -> GestureStylusDownCallback -> m SignalHandlerId
afterGestureStylusProximity a
obj GestureStylusDownCallback
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_GestureStylusDownCallback
cb' = GestureStylusDownCallback -> C_GestureStylusDownCallback
wrap_GestureStylusProximityCallback GestureStylusDownCallback
cb
FunPtr C_GestureStylusDownCallback
cb'' <- C_GestureStylusDownCallback
-> IO (FunPtr C_GestureStylusDownCallback)
mk_GestureStylusProximityCallback C_GestureStylusDownCallback
cb'
a
-> Text
-> FunPtr C_GestureStylusDownCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"proximity" FunPtr C_GestureStylusDownCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data GestureStylusProximitySignalInfo
instance SignalInfo GestureStylusProximitySignalInfo where
type HaskellCallbackType GestureStylusProximitySignalInfo = GestureStylusProximityCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_GestureStylusProximityCallback cb
cb'' <- mk_GestureStylusProximityCallback cb'
connectSignalFunPtr obj "proximity" cb'' connectMode detail
#endif
type GestureStylusUpCallback =
Double
-> Double
-> IO ()
noGestureStylusUpCallback :: Maybe GestureStylusUpCallback
noGestureStylusUpCallback :: Maybe GestureStylusDownCallback
noGestureStylusUpCallback = Maybe GestureStylusDownCallback
forall a. Maybe a
Nothing
type C_GestureStylusUpCallback =
Ptr () ->
CDouble ->
CDouble ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_GestureStylusUpCallback :: C_GestureStylusUpCallback -> IO (FunPtr C_GestureStylusUpCallback)
genClosure_GestureStylusUp :: MonadIO m => GestureStylusUpCallback -> m (GClosure C_GestureStylusUpCallback)
genClosure_GestureStylusUp :: forall (m :: * -> *).
MonadIO m =>
GestureStylusDownCallback
-> m (GClosure C_GestureStylusDownCallback)
genClosure_GestureStylusUp GestureStylusDownCallback
cb = IO (GClosure C_GestureStylusDownCallback)
-> m (GClosure C_GestureStylusDownCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_GestureStylusDownCallback)
-> m (GClosure C_GestureStylusDownCallback))
-> IO (GClosure C_GestureStylusDownCallback)
-> m (GClosure C_GestureStylusDownCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_GestureStylusDownCallback
cb' = GestureStylusDownCallback -> C_GestureStylusDownCallback
wrap_GestureStylusUpCallback GestureStylusDownCallback
cb
C_GestureStylusDownCallback
-> IO (FunPtr C_GestureStylusDownCallback)
mk_GestureStylusUpCallback C_GestureStylusDownCallback
cb' IO (FunPtr C_GestureStylusDownCallback)
-> (FunPtr C_GestureStylusDownCallback
-> IO (GClosure C_GestureStylusDownCallback))
-> IO (GClosure C_GestureStylusDownCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_GestureStylusDownCallback
-> IO (GClosure C_GestureStylusDownCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_GestureStylusUpCallback ::
GestureStylusUpCallback ->
C_GestureStylusUpCallback
wrap_GestureStylusUpCallback :: GestureStylusDownCallback -> C_GestureStylusDownCallback
wrap_GestureStylusUpCallback GestureStylusDownCallback
_cb Ptr ()
_ CDouble
object CDouble
p0 Ptr ()
_ = do
let object' :: Double
object' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
object
let p0' :: Double
p0' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
p0
GestureStylusDownCallback
_cb Double
object' Double
p0'
onGestureStylusUp :: (IsGestureStylus a, MonadIO m) => a -> GestureStylusUpCallback -> m SignalHandlerId
onGestureStylusUp :: forall a (m :: * -> *).
(IsGestureStylus a, MonadIO m) =>
a -> GestureStylusDownCallback -> m SignalHandlerId
onGestureStylusUp a
obj GestureStylusDownCallback
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_GestureStylusDownCallback
cb' = GestureStylusDownCallback -> C_GestureStylusDownCallback
wrap_GestureStylusUpCallback GestureStylusDownCallback
cb
FunPtr C_GestureStylusDownCallback
cb'' <- C_GestureStylusDownCallback
-> IO (FunPtr C_GestureStylusDownCallback)
mk_GestureStylusUpCallback C_GestureStylusDownCallback
cb'
a
-> Text
-> FunPtr C_GestureStylusDownCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"up" FunPtr C_GestureStylusDownCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterGestureStylusUp :: (IsGestureStylus a, MonadIO m) => a -> GestureStylusUpCallback -> m SignalHandlerId
afterGestureStylusUp :: forall a (m :: * -> *).
(IsGestureStylus a, MonadIO m) =>
a -> GestureStylusDownCallback -> m SignalHandlerId
afterGestureStylusUp a
obj GestureStylusDownCallback
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_GestureStylusDownCallback
cb' = GestureStylusDownCallback -> C_GestureStylusDownCallback
wrap_GestureStylusUpCallback GestureStylusDownCallback
cb
FunPtr C_GestureStylusDownCallback
cb'' <- C_GestureStylusDownCallback
-> IO (FunPtr C_GestureStylusDownCallback)
mk_GestureStylusUpCallback C_GestureStylusDownCallback
cb'
a
-> Text
-> FunPtr C_GestureStylusDownCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"up" FunPtr C_GestureStylusDownCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data GestureStylusUpSignalInfo
instance SignalInfo GestureStylusUpSignalInfo where
type HaskellCallbackType GestureStylusUpSignalInfo = GestureStylusUpCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_GestureStylusUpCallback cb
cb'' <- mk_GestureStylusUpCallback cb'
connectSignalFunPtr obj "up" cb'' connectMode detail
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList GestureStylus
type instance O.AttributeList GestureStylus = GestureStylusAttributeList
type GestureStylusAttributeList = ('[ '("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 defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList GestureStylus = GestureStylusSignalList
type GestureStylusSignalList = ('[ '("begin", Gtk.Gesture.GestureBeginSignalInfo), '("cancel", Gtk.Gesture.GestureCancelSignalInfo), '("down", GestureStylusDownSignalInfo), '("end", Gtk.Gesture.GestureEndSignalInfo), '("motion", GestureStylusMotionSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("proximity", GestureStylusProximitySignalInfo), '("sequenceStateChanged", Gtk.Gesture.GestureSequenceStateChangedSignalInfo), '("up", GestureStylusUpSignalInfo), '("update", Gtk.Gesture.GestureUpdateSignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gtk_gesture_stylus_new" gtk_gesture_stylus_new ::
Ptr Gtk.Widget.Widget ->
IO (Ptr GestureStylus)
gestureStylusNew ::
(B.CallStack.HasCallStack, MonadIO m, Gtk.Widget.IsWidget a) =>
a
-> m GestureStylus
gestureStylusNew :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsWidget a) =>
a -> m GestureStylus
gestureStylusNew a
widget = IO GestureStylus -> m GestureStylus
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GestureStylus -> m GestureStylus)
-> IO GestureStylus -> m GestureStylus
forall a b. (a -> b) -> a -> b
$ do
Ptr Widget
widget' <- a -> IO (Ptr Widget)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
widget
Ptr GestureStylus
result <- Ptr Widget -> IO (Ptr GestureStylus)
gtk_gesture_stylus_new Ptr Widget
widget'
Text -> Ptr GestureStylus -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"gestureStylusNew" Ptr GestureStylus
result
GestureStylus
result' <- ((ManagedPtr GestureStylus -> GestureStylus)
-> Ptr GestureStylus -> IO GestureStylus
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr GestureStylus -> GestureStylus
GestureStylus) Ptr GestureStylus
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
widget
GestureStylus -> IO GestureStylus
forall (m :: * -> *) a. Monad m => a -> m a
return GestureStylus
result'
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
data GestureStylusGetAxesMethodInfo
instance (p ~ (), o ~ O.UnsupportedMethodError "getAxes" GestureStylus) => O.OverloadedMethod GestureStylusGetAxesMethodInfo o p where
overloadedMethod = undefined
instance (o ~ O.UnsupportedMethodError "getAxes" GestureStylus) => O.OverloadedMethodInfo GestureStylusGetAxesMethodInfo o where
overloadedMethodInfo = undefined
#endif
foreign import ccall "gtk_gesture_stylus_get_axis" gtk_gesture_stylus_get_axis ::
Ptr GestureStylus ->
CUInt ->
Ptr CDouble ->
IO CInt
gestureStylusGetAxis ::
(B.CallStack.HasCallStack, MonadIO m, IsGestureStylus a) =>
a
-> Gdk.Enums.AxisUse
-> m ((Bool, Double))
gestureStylusGetAxis :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsGestureStylus a) =>
a -> AxisUse -> m (Bool, Double)
gestureStylusGetAxis a
gesture AxisUse
axis = IO (Bool, Double) -> m (Bool, Double)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, Double) -> m (Bool, Double))
-> IO (Bool, Double) -> m (Bool, Double)
forall a b. (a -> b) -> a -> b
$ do
Ptr GestureStylus
gesture' <- a -> IO (Ptr GestureStylus)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
gesture
let axis' :: CUInt
axis' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt) -> (AxisUse -> Int) -> AxisUse -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. AxisUse -> Int
forall a. Enum a => a -> Int
fromEnum) AxisUse
axis
Ptr CDouble
value <- IO (Ptr CDouble)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CDouble)
CInt
result <- Ptr GestureStylus -> CUInt -> Ptr CDouble -> IO CInt
gtk_gesture_stylus_get_axis Ptr GestureStylus
gesture' CUInt
axis' Ptr CDouble
value
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
CDouble
value' <- Ptr CDouble -> IO CDouble
forall a. Storable a => Ptr a -> IO a
peek Ptr CDouble
value
let value'' :: Double
value'' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
value'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
gesture
Ptr CDouble -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CDouble
value
(Bool, Double) -> IO (Bool, Double)
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', Double
value'')
#if defined(ENABLE_OVERLOADING)
data GestureStylusGetAxisMethodInfo
instance (signature ~ (Gdk.Enums.AxisUse -> m ((Bool, Double))), MonadIO m, IsGestureStylus a) => O.OverloadedMethod GestureStylusGetAxisMethodInfo a signature where
overloadedMethod = gestureStylusGetAxis
instance O.OverloadedMethodInfo GestureStylusGetAxisMethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.Gtk.Objects.GestureStylus.gestureStylusGetAxis",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-gtk-3.0.37/docs/GI-Gtk-Objects-GestureStylus.html#v:gestureStylusGetAxis"
}
#endif
foreign import ccall "gtk_gesture_stylus_get_device_tool" gtk_gesture_stylus_get_device_tool ::
Ptr GestureStylus ->
IO (Ptr Gdk.DeviceTool.DeviceTool)
gestureStylusGetDeviceTool ::
(B.CallStack.HasCallStack, MonadIO m, IsGestureStylus a) =>
a
-> m (Maybe Gdk.DeviceTool.DeviceTool)
gestureStylusGetDeviceTool :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsGestureStylus a) =>
a -> m (Maybe DeviceTool)
gestureStylusGetDeviceTool a
gesture = IO (Maybe DeviceTool) -> m (Maybe DeviceTool)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe DeviceTool) -> m (Maybe DeviceTool))
-> IO (Maybe DeviceTool) -> m (Maybe DeviceTool)
forall a b. (a -> b) -> a -> b
$ do
Ptr GestureStylus
gesture' <- a -> IO (Ptr GestureStylus)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
gesture
Ptr DeviceTool
result <- Ptr GestureStylus -> IO (Ptr DeviceTool)
gtk_gesture_stylus_get_device_tool Ptr GestureStylus
gesture'
Maybe DeviceTool
maybeResult <- Ptr DeviceTool
-> (Ptr DeviceTool -> IO DeviceTool) -> IO (Maybe DeviceTool)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr DeviceTool
result ((Ptr DeviceTool -> IO DeviceTool) -> IO (Maybe DeviceTool))
-> (Ptr DeviceTool -> IO DeviceTool) -> IO (Maybe DeviceTool)
forall a b. (a -> b) -> a -> b
$ \Ptr DeviceTool
result' -> do
DeviceTool
result'' <- ((ManagedPtr DeviceTool -> DeviceTool)
-> Ptr DeviceTool -> IO DeviceTool
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr DeviceTool -> DeviceTool
Gdk.DeviceTool.DeviceTool) Ptr DeviceTool
result'
DeviceTool -> IO DeviceTool
forall (m :: * -> *) a. Monad m => a -> m a
return DeviceTool
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
gesture
Maybe DeviceTool -> IO (Maybe DeviceTool)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DeviceTool
maybeResult
#if defined(ENABLE_OVERLOADING)
data GestureStylusGetDeviceToolMethodInfo
instance (signature ~ (m (Maybe Gdk.DeviceTool.DeviceTool)), MonadIO m, IsGestureStylus a) => O.OverloadedMethod GestureStylusGetDeviceToolMethodInfo a signature where
overloadedMethod = gestureStylusGetDeviceTool
instance O.OverloadedMethodInfo GestureStylusGetDeviceToolMethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.Gtk.Objects.GestureStylus.gestureStylusGetDeviceTool",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-gtk-3.0.37/docs/GI-Gtk-Objects-GestureStylus.html#v:gestureStylusGetDeviceTool"
}
#endif