{-# LANGUAGE ImplicitParams, RankNTypes, 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 ,
GestureStylusDownCallback ,
#if defined(ENABLE_OVERLOADING)
GestureStylusDownSignalInfo ,
#endif
afterGestureStylusDown ,
onGestureStylusDown ,
GestureStylusMotionCallback ,
#if defined(ENABLE_OVERLOADING)
GestureStylusMotionSignalInfo ,
#endif
afterGestureStylusMotion ,
onGestureStylusMotion ,
GestureStylusProximityCallback ,
#if defined(ENABLE_OVERLOADING)
GestureStylusProximitySignalInfo ,
#endif
afterGestureStylusProximity ,
onGestureStylusProximity ,
GestureStylusUpCallback ,
#if defined(ENABLE_OVERLOADING)
GestureStylusUpSignalInfo ,
#endif
afterGestureStylusUp ,
onGestureStylusUp ,
) 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.GHashTable as B.GHT
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.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
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
$c== :: GestureStylus -> GestureStylus -> Bool
== :: GestureStylus -> GestureStylus -> Bool
$c/= :: GestureStylus -> GestureStylus -> Bool
/= :: 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 a. IO a -> m a
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 a. a -> IO a
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 :: DK.Type) :: DK.Type 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 ()
type C_GestureStylusDownCallback =
Ptr GestureStylus ->
CDouble ->
CDouble ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_GestureStylusDownCallback :: C_GestureStylusDownCallback -> IO (FunPtr C_GestureStylusDownCallback)
wrap_GestureStylusDownCallback ::
GObject a => (a -> GestureStylusDownCallback) ->
C_GestureStylusDownCallback
wrap_GestureStylusDownCallback :: forall a.
GObject a =>
(a -> GestureStylusDownCallback) -> C_GestureStylusDownCallback
wrap_GestureStylusDownCallback a -> GestureStylusDownCallback
gi'cb Ptr GestureStylus
gi'selfPtr 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
Ptr GestureStylus -> (GestureStylus -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr GestureStylus
gi'selfPtr ((GestureStylus -> IO ()) -> IO ())
-> (GestureStylus -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \GestureStylus
gi'self -> a -> GestureStylusDownCallback
gi'cb (GestureStylus -> a
forall a b. Coercible a b => a -> b
Coerce.coerce GestureStylus
gi'self) Double
object' Double
p0'
onGestureStylusDown :: (IsGestureStylus a, MonadIO m) => a -> ((?self :: a) => GestureStylusDownCallback) -> m SignalHandlerId
onGestureStylusDown :: forall a (m :: * -> *).
(IsGestureStylus a, MonadIO m) =>
a -> ((?self::a) => GestureStylusDownCallback) -> m SignalHandlerId
onGestureStylusDown a
obj (?self::a) => GestureStylusDownCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
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 wrapped :: a -> GestureStylusDownCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => GestureStylusDownCallback
GestureStylusDownCallback
cb
let wrapped' :: C_GestureStylusDownCallback
wrapped' = (a -> GestureStylusDownCallback) -> C_GestureStylusDownCallback
forall a.
GObject a =>
(a -> GestureStylusDownCallback) -> C_GestureStylusDownCallback
wrap_GestureStylusDownCallback a -> GestureStylusDownCallback
wrapped
FunPtr C_GestureStylusDownCallback
wrapped'' <- C_GestureStylusDownCallback
-> IO (FunPtr C_GestureStylusDownCallback)
mk_GestureStylusDownCallback C_GestureStylusDownCallback
wrapped'
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
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterGestureStylusDown :: (IsGestureStylus a, MonadIO m) => a -> ((?self :: a) => GestureStylusDownCallback) -> m SignalHandlerId
afterGestureStylusDown :: forall a (m :: * -> *).
(IsGestureStylus a, MonadIO m) =>
a -> ((?self::a) => GestureStylusDownCallback) -> m SignalHandlerId
afterGestureStylusDown a
obj (?self::a) => GestureStylusDownCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
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 wrapped :: a -> GestureStylusDownCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => GestureStylusDownCallback
GestureStylusDownCallback
cb
let wrapped' :: C_GestureStylusDownCallback
wrapped' = (a -> GestureStylusDownCallback) -> C_GestureStylusDownCallback
forall a.
GObject a =>
(a -> GestureStylusDownCallback) -> C_GestureStylusDownCallback
wrap_GestureStylusDownCallback a -> GestureStylusDownCallback
wrapped
FunPtr C_GestureStylusDownCallback
wrapped'' <- C_GestureStylusDownCallback
-> IO (FunPtr C_GestureStylusDownCallback)
mk_GestureStylusDownCallback C_GestureStylusDownCallback
wrapped'
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
wrapped'' 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
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.GestureStylus::down"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Objects-GestureStylus.html#g:signal:down"})
#endif
type GestureStylusMotionCallback =
Double
-> Double
-> IO ()
type C_GestureStylusMotionCallback =
Ptr GestureStylus ->
CDouble ->
CDouble ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_GestureStylusMotionCallback :: C_GestureStylusMotionCallback -> IO (FunPtr C_GestureStylusMotionCallback)
wrap_GestureStylusMotionCallback ::
GObject a => (a -> GestureStylusMotionCallback) ->
C_GestureStylusMotionCallback
wrap_GestureStylusMotionCallback :: forall a.
GObject a =>
(a -> GestureStylusDownCallback) -> C_GestureStylusDownCallback
wrap_GestureStylusMotionCallback a -> GestureStylusDownCallback
gi'cb Ptr GestureStylus
gi'selfPtr 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
Ptr GestureStylus -> (GestureStylus -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr GestureStylus
gi'selfPtr ((GestureStylus -> IO ()) -> IO ())
-> (GestureStylus -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \GestureStylus
gi'self -> a -> GestureStylusDownCallback
gi'cb (GestureStylus -> a
forall a b. Coercible a b => a -> b
Coerce.coerce GestureStylus
gi'self) Double
object' Double
p0'
onGestureStylusMotion :: (IsGestureStylus a, MonadIO m) => a -> ((?self :: a) => GestureStylusMotionCallback) -> m SignalHandlerId
onGestureStylusMotion :: forall a (m :: * -> *).
(IsGestureStylus a, MonadIO m) =>
a -> ((?self::a) => GestureStylusDownCallback) -> m SignalHandlerId
onGestureStylusMotion a
obj (?self::a) => GestureStylusDownCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
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 wrapped :: a -> GestureStylusDownCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => GestureStylusDownCallback
GestureStylusDownCallback
cb
let wrapped' :: C_GestureStylusDownCallback
wrapped' = (a -> GestureStylusDownCallback) -> C_GestureStylusDownCallback
forall a.
GObject a =>
(a -> GestureStylusDownCallback) -> C_GestureStylusDownCallback
wrap_GestureStylusMotionCallback a -> GestureStylusDownCallback
wrapped
FunPtr C_GestureStylusDownCallback
wrapped'' <- C_GestureStylusDownCallback
-> IO (FunPtr C_GestureStylusDownCallback)
mk_GestureStylusMotionCallback C_GestureStylusDownCallback
wrapped'
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
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterGestureStylusMotion :: (IsGestureStylus a, MonadIO m) => a -> ((?self :: a) => GestureStylusMotionCallback) -> m SignalHandlerId
afterGestureStylusMotion :: forall a (m :: * -> *).
(IsGestureStylus a, MonadIO m) =>
a -> ((?self::a) => GestureStylusDownCallback) -> m SignalHandlerId
afterGestureStylusMotion a
obj (?self::a) => GestureStylusDownCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
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 wrapped :: a -> GestureStylusDownCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => GestureStylusDownCallback
GestureStylusDownCallback
cb
let wrapped' :: C_GestureStylusDownCallback
wrapped' = (a -> GestureStylusDownCallback) -> C_GestureStylusDownCallback
forall a.
GObject a =>
(a -> GestureStylusDownCallback) -> C_GestureStylusDownCallback
wrap_GestureStylusMotionCallback a -> GestureStylusDownCallback
wrapped
FunPtr C_GestureStylusDownCallback
wrapped'' <- C_GestureStylusDownCallback
-> IO (FunPtr C_GestureStylusDownCallback)
mk_GestureStylusMotionCallback C_GestureStylusDownCallback
wrapped'
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
wrapped'' 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
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.GestureStylus::motion"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Objects-GestureStylus.html#g:signal:motion"})
#endif
type GestureStylusProximityCallback =
Double
-> Double
-> IO ()
type C_GestureStylusProximityCallback =
Ptr GestureStylus ->
CDouble ->
CDouble ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_GestureStylusProximityCallback :: C_GestureStylusProximityCallback -> IO (FunPtr C_GestureStylusProximityCallback)
wrap_GestureStylusProximityCallback ::
GObject a => (a -> GestureStylusProximityCallback) ->
C_GestureStylusProximityCallback
wrap_GestureStylusProximityCallback :: forall a.
GObject a =>
(a -> GestureStylusDownCallback) -> C_GestureStylusDownCallback
wrap_GestureStylusProximityCallback a -> GestureStylusDownCallback
gi'cb Ptr GestureStylus
gi'selfPtr 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
Ptr GestureStylus -> (GestureStylus -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr GestureStylus
gi'selfPtr ((GestureStylus -> IO ()) -> IO ())
-> (GestureStylus -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \GestureStylus
gi'self -> a -> GestureStylusDownCallback
gi'cb (GestureStylus -> a
forall a b. Coercible a b => a -> b
Coerce.coerce GestureStylus
gi'self) Double
object' Double
p0'
onGestureStylusProximity :: (IsGestureStylus a, MonadIO m) => a -> ((?self :: a) => GestureStylusProximityCallback) -> m SignalHandlerId
onGestureStylusProximity :: forall a (m :: * -> *).
(IsGestureStylus a, MonadIO m) =>
a -> ((?self::a) => GestureStylusDownCallback) -> m SignalHandlerId
onGestureStylusProximity a
obj (?self::a) => GestureStylusDownCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
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 wrapped :: a -> GestureStylusDownCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => GestureStylusDownCallback
GestureStylusDownCallback
cb
let wrapped' :: C_GestureStylusDownCallback
wrapped' = (a -> GestureStylusDownCallback) -> C_GestureStylusDownCallback
forall a.
GObject a =>
(a -> GestureStylusDownCallback) -> C_GestureStylusDownCallback
wrap_GestureStylusProximityCallback a -> GestureStylusDownCallback
wrapped
FunPtr C_GestureStylusDownCallback
wrapped'' <- C_GestureStylusDownCallback
-> IO (FunPtr C_GestureStylusDownCallback)
mk_GestureStylusProximityCallback C_GestureStylusDownCallback
wrapped'
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
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterGestureStylusProximity :: (IsGestureStylus a, MonadIO m) => a -> ((?self :: a) => GestureStylusProximityCallback) -> m SignalHandlerId
afterGestureStylusProximity :: forall a (m :: * -> *).
(IsGestureStylus a, MonadIO m) =>
a -> ((?self::a) => GestureStylusDownCallback) -> m SignalHandlerId
afterGestureStylusProximity a
obj (?self::a) => GestureStylusDownCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
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 wrapped :: a -> GestureStylusDownCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => GestureStylusDownCallback
GestureStylusDownCallback
cb
let wrapped' :: C_GestureStylusDownCallback
wrapped' = (a -> GestureStylusDownCallback) -> C_GestureStylusDownCallback
forall a.
GObject a =>
(a -> GestureStylusDownCallback) -> C_GestureStylusDownCallback
wrap_GestureStylusProximityCallback a -> GestureStylusDownCallback
wrapped
FunPtr C_GestureStylusDownCallback
wrapped'' <- C_GestureStylusDownCallback
-> IO (FunPtr C_GestureStylusDownCallback)
mk_GestureStylusProximityCallback C_GestureStylusDownCallback
wrapped'
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
wrapped'' 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
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.GestureStylus::proximity"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Objects-GestureStylus.html#g:signal:proximity"})
#endif
type GestureStylusUpCallback =
Double
-> Double
-> IO ()
type C_GestureStylusUpCallback =
Ptr GestureStylus ->
CDouble ->
CDouble ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_GestureStylusUpCallback :: C_GestureStylusUpCallback -> IO (FunPtr C_GestureStylusUpCallback)
wrap_GestureStylusUpCallback ::
GObject a => (a -> GestureStylusUpCallback) ->
C_GestureStylusUpCallback
wrap_GestureStylusUpCallback :: forall a.
GObject a =>
(a -> GestureStylusDownCallback) -> C_GestureStylusDownCallback
wrap_GestureStylusUpCallback a -> GestureStylusDownCallback
gi'cb Ptr GestureStylus
gi'selfPtr 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
Ptr GestureStylus -> (GestureStylus -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr GestureStylus
gi'selfPtr ((GestureStylus -> IO ()) -> IO ())
-> (GestureStylus -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \GestureStylus
gi'self -> a -> GestureStylusDownCallback
gi'cb (GestureStylus -> a
forall a b. Coercible a b => a -> b
Coerce.coerce GestureStylus
gi'self) Double
object' Double
p0'
onGestureStylusUp :: (IsGestureStylus a, MonadIO m) => a -> ((?self :: a) => GestureStylusUpCallback) -> m SignalHandlerId
onGestureStylusUp :: forall a (m :: * -> *).
(IsGestureStylus a, MonadIO m) =>
a -> ((?self::a) => GestureStylusDownCallback) -> m SignalHandlerId
onGestureStylusUp a
obj (?self::a) => GestureStylusDownCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
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 wrapped :: a -> GestureStylusDownCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => GestureStylusDownCallback
GestureStylusDownCallback
cb
let wrapped' :: C_GestureStylusDownCallback
wrapped' = (a -> GestureStylusDownCallback) -> C_GestureStylusDownCallback
forall a.
GObject a =>
(a -> GestureStylusDownCallback) -> C_GestureStylusDownCallback
wrap_GestureStylusUpCallback a -> GestureStylusDownCallback
wrapped
FunPtr C_GestureStylusDownCallback
wrapped'' <- C_GestureStylusDownCallback
-> IO (FunPtr C_GestureStylusDownCallback)
mk_GestureStylusUpCallback C_GestureStylusDownCallback
wrapped'
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
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterGestureStylusUp :: (IsGestureStylus a, MonadIO m) => a -> ((?self :: a) => GestureStylusUpCallback) -> m SignalHandlerId
afterGestureStylusUp :: forall a (m :: * -> *).
(IsGestureStylus a, MonadIO m) =>
a -> ((?self::a) => GestureStylusDownCallback) -> m SignalHandlerId
afterGestureStylusUp a
obj (?self::a) => GestureStylusDownCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
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 wrapped :: a -> GestureStylusDownCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => GestureStylusDownCallback
GestureStylusDownCallback
cb
let wrapped' :: C_GestureStylusDownCallback
wrapped' = (a -> GestureStylusDownCallback) -> C_GestureStylusDownCallback
forall a.
GObject a =>
(a -> GestureStylusDownCallback) -> C_GestureStylusDownCallback
wrap_GestureStylusUpCallback a -> GestureStylusDownCallback
wrapped
FunPtr C_GestureStylusDownCallback
wrapped'' <- C_GestureStylusDownCallback
-> IO (FunPtr C_GestureStylusDownCallback)
mk_GestureStylusUpCallback C_GestureStylusDownCallback
wrapped'
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
wrapped'' 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
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.GestureStylus::up"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Objects-GestureStylus.html#g:signal:up"})
#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, DK.Type)])
#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, DK.Type)])
#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 a. IO a -> m a
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 a. a -> IO a
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 a. IO a -> m a
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 a. a -> IO a
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 = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.GestureStylus.gestureStylusGetAxis",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/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 a. IO a -> m a
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 a. a -> IO a
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 a. a -> IO a
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 = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gtk.Objects.GestureStylus.gestureStylusGetDeviceTool",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-3.0.41/docs/GI-Gtk-Objects-GestureStylus.html#v:gestureStylusGetDeviceTool"
})
#endif