{-# LANGUAGE ImplicitParams, RankNTypes, TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gdk.Objects.Device
(
Device(..) ,
IsDevice ,
toDevice ,
#if defined(ENABLE_OVERLOADING)
ResolveDeviceMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
DeviceGetCapsLockStateMethodInfo ,
#endif
deviceGetCapsLockState ,
#if defined(ENABLE_OVERLOADING)
DeviceGetDeviceToolMethodInfo ,
#endif
deviceGetDeviceTool ,
#if defined(ENABLE_OVERLOADING)
DeviceGetDirectionMethodInfo ,
#endif
deviceGetDirection ,
#if defined(ENABLE_OVERLOADING)
DeviceGetDisplayMethodInfo ,
#endif
deviceGetDisplay ,
#if defined(ENABLE_OVERLOADING)
DeviceGetHasCursorMethodInfo ,
#endif
deviceGetHasCursor ,
#if defined(ENABLE_OVERLOADING)
DeviceGetModifierStateMethodInfo ,
#endif
deviceGetModifierState ,
#if defined(ENABLE_OVERLOADING)
DeviceGetNameMethodInfo ,
#endif
deviceGetName ,
#if defined(ENABLE_OVERLOADING)
DeviceGetNumLockStateMethodInfo ,
#endif
deviceGetNumLockState ,
#if defined(ENABLE_OVERLOADING)
DeviceGetNumTouchesMethodInfo ,
#endif
deviceGetNumTouches ,
#if defined(ENABLE_OVERLOADING)
DeviceGetProductIdMethodInfo ,
#endif
deviceGetProductId ,
#if defined(ENABLE_OVERLOADING)
DeviceGetScrollLockStateMethodInfo ,
#endif
deviceGetScrollLockState ,
#if defined(ENABLE_OVERLOADING)
DeviceGetSeatMethodInfo ,
#endif
deviceGetSeat ,
#if defined(ENABLE_OVERLOADING)
DeviceGetSourceMethodInfo ,
#endif
deviceGetSource ,
#if defined(ENABLE_OVERLOADING)
DeviceGetSurfaceAtPositionMethodInfo ,
#endif
deviceGetSurfaceAtPosition ,
#if defined(ENABLE_OVERLOADING)
DeviceGetTimestampMethodInfo ,
#endif
deviceGetTimestamp ,
#if defined(ENABLE_OVERLOADING)
DeviceGetVendorIdMethodInfo ,
#endif
deviceGetVendorId ,
#if defined(ENABLE_OVERLOADING)
DeviceHasBidiLayoutsMethodInfo ,
#endif
deviceHasBidiLayouts ,
#if defined(ENABLE_OVERLOADING)
DeviceCapsLockStatePropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
deviceCapsLockState ,
#endif
getDeviceCapsLockState ,
#if defined(ENABLE_OVERLOADING)
DeviceDirectionPropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
deviceDirection ,
#endif
getDeviceDirection ,
#if defined(ENABLE_OVERLOADING)
DeviceDisplayPropertyInfo ,
#endif
constructDeviceDisplay ,
#if defined(ENABLE_OVERLOADING)
deviceDisplay ,
#endif
getDeviceDisplay ,
#if defined(ENABLE_OVERLOADING)
DeviceHasBidiLayoutsPropertyInfo ,
#endif
getDeviceHasBidiLayouts ,
#if defined(ENABLE_OVERLOADING)
DeviceHasCursorPropertyInfo ,
#endif
constructDeviceHasCursor ,
#if defined(ENABLE_OVERLOADING)
deviceHasCursor ,
#endif
getDeviceHasCursor ,
#if defined(ENABLE_OVERLOADING)
DeviceModifierStatePropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
deviceModifierState ,
#endif
getDeviceModifierState ,
#if defined(ENABLE_OVERLOADING)
DeviceNAxesPropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
deviceNAxes ,
#endif
getDeviceNAxes ,
#if defined(ENABLE_OVERLOADING)
DeviceNamePropertyInfo ,
#endif
constructDeviceName ,
#if defined(ENABLE_OVERLOADING)
deviceName ,
#endif
getDeviceName ,
#if defined(ENABLE_OVERLOADING)
DeviceNumLockStatePropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
deviceNumLockState ,
#endif
getDeviceNumLockState ,
#if defined(ENABLE_OVERLOADING)
DeviceNumTouchesPropertyInfo ,
#endif
constructDeviceNumTouches ,
#if defined(ENABLE_OVERLOADING)
deviceNumTouches ,
#endif
getDeviceNumTouches ,
#if defined(ENABLE_OVERLOADING)
DeviceProductIdPropertyInfo ,
#endif
constructDeviceProductId ,
#if defined(ENABLE_OVERLOADING)
deviceProductId ,
#endif
getDeviceProductId ,
#if defined(ENABLE_OVERLOADING)
DeviceScrollLockStatePropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
deviceScrollLockState ,
#endif
getDeviceScrollLockState ,
#if defined(ENABLE_OVERLOADING)
DeviceSeatPropertyInfo ,
#endif
clearDeviceSeat ,
constructDeviceSeat ,
#if defined(ENABLE_OVERLOADING)
deviceSeat ,
#endif
getDeviceSeat ,
setDeviceSeat ,
#if defined(ENABLE_OVERLOADING)
DeviceSourcePropertyInfo ,
#endif
constructDeviceSource ,
#if defined(ENABLE_OVERLOADING)
deviceSource ,
#endif
getDeviceSource ,
#if defined(ENABLE_OVERLOADING)
DeviceToolPropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
deviceTool ,
#endif
getDeviceTool ,
#if defined(ENABLE_OVERLOADING)
DeviceVendorIdPropertyInfo ,
#endif
constructDeviceVendorId ,
#if defined(ENABLE_OVERLOADING)
deviceVendorId ,
#endif
getDeviceVendorId ,
DeviceChangedCallback ,
#if defined(ENABLE_OVERLOADING)
DeviceChangedSignalInfo ,
#endif
afterDeviceChanged ,
onDeviceChanged ,
DeviceToolChangedCallback ,
#if defined(ENABLE_OVERLOADING)
DeviceToolChangedSignalInfo ,
#endif
afterDeviceToolChanged ,
onDeviceToolChanged ,
) 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 Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT
#if MIN_VERSION_base(4,18,0)
import qualified GI.Cairo.Enums as Cairo.Enums
import qualified GI.Cairo.Structs.Context as Cairo.Context
import qualified GI.Cairo.Structs.Region as Cairo.Region
import qualified GI.Cairo.Structs.Surface as Cairo.Surface
import qualified GI.GLib.Structs.Bytes as GLib.Bytes
import qualified GI.GLib.Structs.String as GLib.String
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums
import {-# SOURCE #-} qualified GI.Gdk.Flags as Gdk.Flags
import {-# SOURCE #-} qualified GI.Gdk.Interfaces.Paintable as Gdk.Paintable
import {-# SOURCE #-} qualified GI.Gdk.Objects.AppLaunchContext as Gdk.AppLaunchContext
import {-# SOURCE #-} qualified GI.Gdk.Objects.CairoContext as Gdk.CairoContext
import {-# SOURCE #-} qualified GI.Gdk.Objects.Clipboard as Gdk.Clipboard
import {-# SOURCE #-} qualified GI.Gdk.Objects.ContentProvider as Gdk.ContentProvider
import {-# SOURCE #-} qualified GI.Gdk.Objects.Cursor as Gdk.Cursor
import {-# SOURCE #-} qualified GI.Gdk.Objects.DeviceTool as Gdk.DeviceTool
import {-# SOURCE #-} qualified GI.Gdk.Objects.Display as Gdk.Display
import {-# SOURCE #-} qualified GI.Gdk.Objects.DrawContext as Gdk.DrawContext
import {-# SOURCE #-} qualified GI.Gdk.Objects.Event as Gdk.Event
import {-# SOURCE #-} qualified GI.Gdk.Objects.FrameClock as Gdk.FrameClock
import {-# SOURCE #-} qualified GI.Gdk.Objects.GLContext as Gdk.GLContext
import {-# SOURCE #-} qualified GI.Gdk.Objects.Monitor as Gdk.Monitor
import {-# SOURCE #-} qualified GI.Gdk.Objects.Seat as Gdk.Seat
import {-# SOURCE #-} qualified GI.Gdk.Objects.Snapshot as Gdk.Snapshot
import {-# SOURCE #-} qualified GI.Gdk.Objects.Surface as Gdk.Surface
import {-# SOURCE #-} qualified GI.Gdk.Objects.Texture as Gdk.Texture
import {-# SOURCE #-} qualified GI.Gdk.Objects.VulkanContext as Gdk.VulkanContext
import {-# SOURCE #-} qualified GI.Gdk.Structs.ContentFormats as Gdk.ContentFormats
import {-# SOURCE #-} qualified GI.Gdk.Structs.DmabufFormats as Gdk.DmabufFormats
import {-# SOURCE #-} qualified GI.Gdk.Structs.EventSequence as Gdk.EventSequence
import {-# SOURCE #-} qualified GI.Gdk.Structs.FrameTimings as Gdk.FrameTimings
import {-# SOURCE #-} qualified GI.Gdk.Structs.KeymapKey as Gdk.KeymapKey
import {-# SOURCE #-} qualified GI.Gdk.Structs.Rectangle as Gdk.Rectangle
import {-# SOURCE #-} qualified GI.Gdk.Structs.TimeCoord as Gdk.TimeCoord
import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
import qualified GI.Gio.Callbacks as Gio.Callbacks
import qualified GI.Gio.Interfaces.AsyncResult as Gio.AsyncResult
import qualified GI.Gio.Interfaces.File as Gio.File
import qualified GI.Gio.Interfaces.Icon as Gio.Icon
import qualified GI.Gio.Interfaces.Initable as Gio.Initable
import qualified GI.Gio.Interfaces.ListModel as Gio.ListModel
import qualified GI.Gio.Interfaces.LoadableIcon as Gio.LoadableIcon
import qualified GI.Gio.Objects.AppLaunchContext as Gio.AppLaunchContext
import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable
import qualified GI.Gio.Objects.InputStream as Gio.InputStream
import qualified GI.Gio.Objects.OutputStream as Gio.OutputStream
import qualified GI.Pango.Enums as Pango.Enums
#else
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gdk.Enums as Gdk.Enums
import {-# SOURCE #-} qualified GI.Gdk.Flags as Gdk.Flags
import {-# SOURCE #-} qualified GI.Gdk.Objects.DeviceTool as Gdk.DeviceTool
import {-# SOURCE #-} qualified GI.Gdk.Objects.Display as Gdk.Display
import {-# SOURCE #-} qualified GI.Gdk.Objects.Seat as Gdk.Seat
import {-# SOURCE #-} qualified GI.Gdk.Objects.Surface as Gdk.Surface
import qualified GI.Pango.Enums as Pango.Enums
#endif
newtype Device = Device (SP.ManagedPtr Device)
deriving (Device -> Device -> Bool
(Device -> Device -> Bool)
-> (Device -> Device -> Bool) -> Eq Device
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Device -> Device -> Bool
== :: Device -> Device -> Bool
$c/= :: Device -> Device -> Bool
/= :: Device -> Device -> Bool
Eq)
instance SP.ManagedPtrNewtype Device where
toManagedPtr :: Device -> ManagedPtr Device
toManagedPtr (Device ManagedPtr Device
p) = ManagedPtr Device
p
foreign import ccall "gdk_device_get_type"
c_gdk_device_get_type :: IO B.Types.GType
instance B.Types.TypedObject Device where
glibType :: IO GType
glibType = IO GType
c_gdk_device_get_type
instance B.Types.GObject Device
class (SP.GObject o, O.IsDescendantOf Device o) => IsDevice o
instance (SP.GObject o, O.IsDescendantOf Device o) => IsDevice o
instance O.HasParentTypes Device
type instance O.ParentTypes Device = '[GObject.Object.Object]
toDevice :: (MIO.MonadIO m, IsDevice o) => o -> m Device
toDevice :: forall (m :: * -> *) o. (MonadIO m, IsDevice o) => o -> m Device
toDevice = IO Device -> m Device
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Device -> m Device) -> (o -> IO Device) -> o -> m Device
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Device -> Device) -> o -> IO Device
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr Device -> Device
Device
instance B.GValue.IsGValue (Maybe Device) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gdk_device_get_type
gvalueSet_ :: Ptr GValue -> Maybe Device -> IO ()
gvalueSet_ Ptr GValue
gv Maybe Device
P.Nothing = Ptr GValue -> Ptr Device -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr Device
forall a. Ptr a
FP.nullPtr :: FP.Ptr Device)
gvalueSet_ Ptr GValue
gv (P.Just Device
obj) = Device -> (Ptr Device -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Device
obj (Ptr GValue -> Ptr Device -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe Device)
gvalueGet_ Ptr GValue
gv = do
ptr <- Ptr GValue -> IO (Ptr Device)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr Device)
if ptr /= FP.nullPtr
then P.Just <$> B.ManagedPtr.newObject Device ptr
else return P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveDeviceMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveDeviceMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveDeviceMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveDeviceMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveDeviceMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveDeviceMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveDeviceMethod "hasBidiLayouts" o = DeviceHasBidiLayoutsMethodInfo
ResolveDeviceMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveDeviceMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveDeviceMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveDeviceMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveDeviceMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveDeviceMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveDeviceMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveDeviceMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveDeviceMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveDeviceMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveDeviceMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveDeviceMethod "getCapsLockState" o = DeviceGetCapsLockStateMethodInfo
ResolveDeviceMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveDeviceMethod "getDeviceTool" o = DeviceGetDeviceToolMethodInfo
ResolveDeviceMethod "getDirection" o = DeviceGetDirectionMethodInfo
ResolveDeviceMethod "getDisplay" o = DeviceGetDisplayMethodInfo
ResolveDeviceMethod "getHasCursor" o = DeviceGetHasCursorMethodInfo
ResolveDeviceMethod "getModifierState" o = DeviceGetModifierStateMethodInfo
ResolveDeviceMethod "getName" o = DeviceGetNameMethodInfo
ResolveDeviceMethod "getNumLockState" o = DeviceGetNumLockStateMethodInfo
ResolveDeviceMethod "getNumTouches" o = DeviceGetNumTouchesMethodInfo
ResolveDeviceMethod "getProductId" o = DeviceGetProductIdMethodInfo
ResolveDeviceMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveDeviceMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveDeviceMethod "getScrollLockState" o = DeviceGetScrollLockStateMethodInfo
ResolveDeviceMethod "getSeat" o = DeviceGetSeatMethodInfo
ResolveDeviceMethod "getSource" o = DeviceGetSourceMethodInfo
ResolveDeviceMethod "getSurfaceAtPosition" o = DeviceGetSurfaceAtPositionMethodInfo
ResolveDeviceMethod "getTimestamp" o = DeviceGetTimestampMethodInfo
ResolveDeviceMethod "getVendorId" o = DeviceGetVendorIdMethodInfo
ResolveDeviceMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveDeviceMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveDeviceMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveDeviceMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveDeviceMethod t Device, O.OverloadedMethod info Device p) => OL.IsLabel t (Device -> 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 ~ ResolveDeviceMethod t Device, O.OverloadedMethod info Device p, R.HasField t Device p) => R.HasField t Device p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveDeviceMethod t Device, O.OverloadedMethodInfo info Device) => OL.IsLabel t (O.MethodProxy info Device) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
type DeviceChangedCallback =
IO ()
type C_DeviceChangedCallback =
Ptr Device ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_DeviceChangedCallback :: C_DeviceChangedCallback -> IO (FunPtr C_DeviceChangedCallback)
wrap_DeviceChangedCallback ::
GObject a => (a -> DeviceChangedCallback) ->
C_DeviceChangedCallback
wrap_DeviceChangedCallback :: forall a. GObject a => (a -> IO ()) -> C_DeviceChangedCallback
wrap_DeviceChangedCallback a -> IO ()
gi'cb Ptr Device
gi'selfPtr Ptr ()
_ = do
Ptr Device -> (Device -> IO ()) -> IO ()
forall o b.
(HasCallStack, GObject o) =>
Ptr o -> (o -> IO b) -> IO b
B.ManagedPtr.withNewObject Ptr Device
gi'selfPtr ((Device -> IO ()) -> IO ()) -> (Device -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Device
gi'self -> a -> IO ()
gi'cb (Device -> a
forall a b. Coercible a b => a -> b
Coerce.coerce Device
gi'self)
onDeviceChanged :: (IsDevice a, MonadIO m) => a -> ((?self :: a) => DeviceChangedCallback) -> m SignalHandlerId
onDeviceChanged :: forall a (m :: * -> *).
(IsDevice a, MonadIO m) =>
a -> ((?self::a) => IO ()) -> m SignalHandlerId
onDeviceChanged a
obj (?self::a) => IO ()
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 -> IO ()
wrapped a
self = let ?self = a
?self::a
self in IO ()
(?self::a) => IO ()
cb
let wrapped' :: C_DeviceChangedCallback
wrapped' = (a -> IO ()) -> C_DeviceChangedCallback
forall a. GObject a => (a -> IO ()) -> C_DeviceChangedCallback
wrap_DeviceChangedCallback a -> IO ()
wrapped
wrapped'' <- C_DeviceChangedCallback -> IO (FunPtr C_DeviceChangedCallback)
mk_DeviceChangedCallback C_DeviceChangedCallback
wrapped'
connectSignalFunPtr obj "changed" wrapped'' SignalConnectBefore Nothing
afterDeviceChanged :: (IsDevice a, MonadIO m) => a -> ((?self :: a) => DeviceChangedCallback) -> m SignalHandlerId
afterDeviceChanged :: forall a (m :: * -> *).
(IsDevice a, MonadIO m) =>
a -> ((?self::a) => IO ()) -> m SignalHandlerId
afterDeviceChanged a
obj (?self::a) => IO ()
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 -> IO ()
wrapped a
self = let ?self = a
?self::a
self in IO ()
(?self::a) => IO ()
cb
let wrapped' :: C_DeviceChangedCallback
wrapped' = (a -> IO ()) -> C_DeviceChangedCallback
forall a. GObject a => (a -> IO ()) -> C_DeviceChangedCallback
wrap_DeviceChangedCallback a -> IO ()
wrapped
wrapped'' <- C_DeviceChangedCallback -> IO (FunPtr C_DeviceChangedCallback)
mk_DeviceChangedCallback C_DeviceChangedCallback
wrapped'
connectSignalFunPtr obj "changed" wrapped'' SignalConnectAfter Nothing
#if defined(ENABLE_OVERLOADING)
data DeviceChangedSignalInfo
instance SignalInfo DeviceChangedSignalInfo where
type HaskellCallbackType DeviceChangedSignalInfo = DeviceChangedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_DeviceChangedCallback cb
cb'' <- mk_DeviceChangedCallback cb'
connectSignalFunPtr obj "changed" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device::changed"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#g:signal:changed"})
#endif
type DeviceToolChangedCallback =
Gdk.DeviceTool.DeviceTool
-> IO ()
type C_DeviceToolChangedCallback =
Ptr Device ->
Ptr Gdk.DeviceTool.DeviceTool ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_DeviceToolChangedCallback :: C_DeviceToolChangedCallback -> IO (FunPtr C_DeviceToolChangedCallback)
wrap_DeviceToolChangedCallback ::
GObject a => (a -> DeviceToolChangedCallback) ->
C_DeviceToolChangedCallback
wrap_DeviceToolChangedCallback :: forall a.
GObject a =>
(a -> DeviceToolChangedCallback) -> C_DeviceToolChangedCallback
wrap_DeviceToolChangedCallback a -> DeviceToolChangedCallback
gi'cb Ptr Device
gi'selfPtr Ptr DeviceTool
tool Ptr ()
_ = do
tool' <- ((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
tool
B.ManagedPtr.withNewObject gi'selfPtr $ \Device
gi'self -> a -> DeviceToolChangedCallback
gi'cb (Device -> a
forall a b. Coercible a b => a -> b
Coerce.coerce Device
gi'self) DeviceTool
tool'
onDeviceToolChanged :: (IsDevice a, MonadIO m) => a -> ((?self :: a) => DeviceToolChangedCallback) -> m SignalHandlerId
onDeviceToolChanged :: forall a (m :: * -> *).
(IsDevice a, MonadIO m) =>
a -> ((?self::a) => DeviceToolChangedCallback) -> m SignalHandlerId
onDeviceToolChanged a
obj (?self::a) => DeviceToolChangedCallback
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 -> DeviceToolChangedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => DeviceToolChangedCallback
DeviceToolChangedCallback
cb
let wrapped' :: C_DeviceToolChangedCallback
wrapped' = (a -> DeviceToolChangedCallback) -> C_DeviceToolChangedCallback
forall a.
GObject a =>
(a -> DeviceToolChangedCallback) -> C_DeviceToolChangedCallback
wrap_DeviceToolChangedCallback a -> DeviceToolChangedCallback
wrapped
wrapped'' <- C_DeviceToolChangedCallback
-> IO (FunPtr C_DeviceToolChangedCallback)
mk_DeviceToolChangedCallback C_DeviceToolChangedCallback
wrapped'
connectSignalFunPtr obj "tool-changed" wrapped'' SignalConnectBefore Nothing
afterDeviceToolChanged :: (IsDevice a, MonadIO m) => a -> ((?self :: a) => DeviceToolChangedCallback) -> m SignalHandlerId
afterDeviceToolChanged :: forall a (m :: * -> *).
(IsDevice a, MonadIO m) =>
a -> ((?self::a) => DeviceToolChangedCallback) -> m SignalHandlerId
afterDeviceToolChanged a
obj (?self::a) => DeviceToolChangedCallback
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 -> DeviceToolChangedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => DeviceToolChangedCallback
DeviceToolChangedCallback
cb
let wrapped' :: C_DeviceToolChangedCallback
wrapped' = (a -> DeviceToolChangedCallback) -> C_DeviceToolChangedCallback
forall a.
GObject a =>
(a -> DeviceToolChangedCallback) -> C_DeviceToolChangedCallback
wrap_DeviceToolChangedCallback a -> DeviceToolChangedCallback
wrapped
wrapped'' <- C_DeviceToolChangedCallback
-> IO (FunPtr C_DeviceToolChangedCallback)
mk_DeviceToolChangedCallback C_DeviceToolChangedCallback
wrapped'
connectSignalFunPtr obj "tool-changed" wrapped'' SignalConnectAfter Nothing
#if defined(ENABLE_OVERLOADING)
data DeviceToolChangedSignalInfo
instance SignalInfo DeviceToolChangedSignalInfo where
type HaskellCallbackType DeviceToolChangedSignalInfo = DeviceToolChangedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_DeviceToolChangedCallback cb
cb'' <- mk_DeviceToolChangedCallback cb'
connectSignalFunPtr obj "tool-changed" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device::tool-changed"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#g:signal:toolChanged"})
#endif
getDeviceCapsLockState :: (MonadIO m, IsDevice o) => o -> m Bool
getDeviceCapsLockState :: forall (m :: * -> *) o. (MonadIO m, IsDevice o) => o -> m Bool
getDeviceCapsLockState o
obj = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"caps-lock-state"
#if defined(ENABLE_OVERLOADING)
data DeviceCapsLockStatePropertyInfo
instance AttrInfo DeviceCapsLockStatePropertyInfo where
type AttrAllowedOps DeviceCapsLockStatePropertyInfo = '[ 'AttrGet]
type AttrBaseTypeConstraint DeviceCapsLockStatePropertyInfo = IsDevice
type AttrSetTypeConstraint DeviceCapsLockStatePropertyInfo = (~) ()
type AttrTransferTypeConstraint DeviceCapsLockStatePropertyInfo = (~) ()
type AttrTransferType DeviceCapsLockStatePropertyInfo = ()
type AttrGetType DeviceCapsLockStatePropertyInfo = Bool
type AttrLabel DeviceCapsLockStatePropertyInfo = "caps-lock-state"
type AttrOrigin DeviceCapsLockStatePropertyInfo = Device
attrGet = getDeviceCapsLockState
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.capsLockState"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#g:attr:capsLockState"
})
#endif
getDeviceDirection :: (MonadIO m, IsDevice o) => o -> m Pango.Enums.Direction
getDeviceDirection :: forall (m :: * -> *) o. (MonadIO m, IsDevice o) => o -> m Direction
getDeviceDirection o
obj = IO Direction -> m Direction
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Direction -> m Direction) -> IO Direction -> m Direction
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Direction
forall a b. (GObject a, Enum b, BoxedEnum b) => a -> String -> IO b
B.Properties.getObjectPropertyEnum o
obj String
"direction"
#if defined(ENABLE_OVERLOADING)
data DeviceDirectionPropertyInfo
instance AttrInfo DeviceDirectionPropertyInfo where
type AttrAllowedOps DeviceDirectionPropertyInfo = '[ 'AttrGet]
type AttrBaseTypeConstraint DeviceDirectionPropertyInfo = IsDevice
type AttrSetTypeConstraint DeviceDirectionPropertyInfo = (~) ()
type AttrTransferTypeConstraint DeviceDirectionPropertyInfo = (~) ()
type AttrTransferType DeviceDirectionPropertyInfo = ()
type AttrGetType DeviceDirectionPropertyInfo = Pango.Enums.Direction
type AttrLabel DeviceDirectionPropertyInfo = "direction"
type AttrOrigin DeviceDirectionPropertyInfo = Device
attrGet = getDeviceDirection
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.direction"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#g:attr:direction"
})
#endif
getDeviceDisplay :: (MonadIO m, IsDevice o) => o -> m Gdk.Display.Display
getDeviceDisplay :: forall (m :: * -> *) o. (MonadIO m, IsDevice o) => o -> m Display
getDeviceDisplay o
obj = IO Display -> m Display
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Display -> m Display) -> IO Display -> m Display
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Display) -> IO Display
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getDeviceDisplay" (IO (Maybe Display) -> IO Display)
-> IO (Maybe Display) -> IO Display
forall a b. (a -> b) -> a -> b
$ o
-> String -> (ManagedPtr Display -> Display) -> IO (Maybe Display)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"display" ManagedPtr Display -> Display
Gdk.Display.Display
constructDeviceDisplay :: (IsDevice o, MIO.MonadIO m, Gdk.Display.IsDisplay a) => a -> m (GValueConstruct o)
constructDeviceDisplay :: forall o (m :: * -> *) a.
(IsDevice o, MonadIO m, IsDisplay a) =>
a -> m (GValueConstruct o)
constructDeviceDisplay a
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe a -> IO (GValueConstruct o)
forall a o.
GObject a =>
String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyObject String
"display" (a -> Maybe a
forall a. a -> Maybe a
P.Just a
val)
#if defined(ENABLE_OVERLOADING)
data DeviceDisplayPropertyInfo
instance AttrInfo DeviceDisplayPropertyInfo where
type AttrAllowedOps DeviceDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint DeviceDisplayPropertyInfo = IsDevice
type AttrSetTypeConstraint DeviceDisplayPropertyInfo = Gdk.Display.IsDisplay
type AttrTransferTypeConstraint DeviceDisplayPropertyInfo = Gdk.Display.IsDisplay
type AttrTransferType DeviceDisplayPropertyInfo = Gdk.Display.Display
type AttrGetType DeviceDisplayPropertyInfo = Gdk.Display.Display
type AttrLabel DeviceDisplayPropertyInfo = "display"
type AttrOrigin DeviceDisplayPropertyInfo = Device
attrGet = getDeviceDisplay
attrSet = undefined
attrTransfer _ v = do
unsafeCastTo Gdk.Display.Display v
attrConstruct = constructDeviceDisplay
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.display"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#g:attr:display"
})
#endif
getDeviceHasBidiLayouts :: (MonadIO m, IsDevice o) => o -> m Bool
getDeviceHasBidiLayouts :: forall (m :: * -> *) o. (MonadIO m, IsDevice o) => o -> m Bool
getDeviceHasBidiLayouts o
obj = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"has-bidi-layouts"
#if defined(ENABLE_OVERLOADING)
data DeviceHasBidiLayoutsPropertyInfo
instance AttrInfo DeviceHasBidiLayoutsPropertyInfo where
type AttrAllowedOps DeviceHasBidiLayoutsPropertyInfo = '[ 'AttrGet]
type AttrBaseTypeConstraint DeviceHasBidiLayoutsPropertyInfo = IsDevice
type AttrSetTypeConstraint DeviceHasBidiLayoutsPropertyInfo = (~) ()
type AttrTransferTypeConstraint DeviceHasBidiLayoutsPropertyInfo = (~) ()
type AttrTransferType DeviceHasBidiLayoutsPropertyInfo = ()
type AttrGetType DeviceHasBidiLayoutsPropertyInfo = Bool
type AttrLabel DeviceHasBidiLayoutsPropertyInfo = "has-bidi-layouts"
type AttrOrigin DeviceHasBidiLayoutsPropertyInfo = Device
attrGet = getDeviceHasBidiLayouts
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.hasBidiLayouts"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#g:attr:hasBidiLayouts"
})
#endif
getDeviceHasCursor :: (MonadIO m, IsDevice o) => o -> m Bool
getDeviceHasCursor :: forall (m :: * -> *) o. (MonadIO m, IsDevice o) => o -> m Bool
getDeviceHasCursor o
obj = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"has-cursor"
constructDeviceHasCursor :: (IsDevice o, MIO.MonadIO m) => Bool -> m (GValueConstruct o)
constructDeviceHasCursor :: forall o (m :: * -> *).
(IsDevice o, MonadIO m) =>
Bool -> m (GValueConstruct o)
constructDeviceHasCursor Bool
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool String
"has-cursor" Bool
val
#if defined(ENABLE_OVERLOADING)
data DeviceHasCursorPropertyInfo
instance AttrInfo DeviceHasCursorPropertyInfo where
type AttrAllowedOps DeviceHasCursorPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint DeviceHasCursorPropertyInfo = IsDevice
type AttrSetTypeConstraint DeviceHasCursorPropertyInfo = (~) Bool
type AttrTransferTypeConstraint DeviceHasCursorPropertyInfo = (~) Bool
type AttrTransferType DeviceHasCursorPropertyInfo = Bool
type AttrGetType DeviceHasCursorPropertyInfo = Bool
type AttrLabel DeviceHasCursorPropertyInfo = "has-cursor"
type AttrOrigin DeviceHasCursorPropertyInfo = Device
attrGet = getDeviceHasCursor
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructDeviceHasCursor
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.hasCursor"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#g:attr:hasCursor"
})
#endif
getDeviceModifierState :: (MonadIO m, IsDevice o) => o -> m [Gdk.Flags.ModifierType]
getDeviceModifierState :: forall (m :: * -> *) o.
(MonadIO m, IsDevice o) =>
o -> m [ModifierType]
getDeviceModifierState o
obj = IO [ModifierType] -> m [ModifierType]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO [ModifierType] -> m [ModifierType])
-> IO [ModifierType] -> m [ModifierType]
forall a b. (a -> b) -> a -> b
$ o -> String -> IO [ModifierType]
forall a b.
(GObject a, IsGFlag b, BoxedFlags b) =>
a -> String -> IO [b]
B.Properties.getObjectPropertyFlags o
obj String
"modifier-state"
#if defined(ENABLE_OVERLOADING)
data DeviceModifierStatePropertyInfo
instance AttrInfo DeviceModifierStatePropertyInfo where
type AttrAllowedOps DeviceModifierStatePropertyInfo = '[ 'AttrGet]
type AttrBaseTypeConstraint DeviceModifierStatePropertyInfo = IsDevice
type AttrSetTypeConstraint DeviceModifierStatePropertyInfo = (~) ()
type AttrTransferTypeConstraint DeviceModifierStatePropertyInfo = (~) ()
type AttrTransferType DeviceModifierStatePropertyInfo = ()
type AttrGetType DeviceModifierStatePropertyInfo = [Gdk.Flags.ModifierType]
type AttrLabel DeviceModifierStatePropertyInfo = "modifier-state"
type AttrOrigin DeviceModifierStatePropertyInfo = Device
attrGet = getDeviceModifierState
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.modifierState"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#g:attr:modifierState"
})
#endif
getDeviceNAxes :: (MonadIO m, IsDevice o) => o -> m Word32
getDeviceNAxes :: forall (m :: * -> *) o. (MonadIO m, IsDevice o) => o -> m Word32
getDeviceNAxes o
obj = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Word32
forall a. GObject a => a -> String -> IO Word32
B.Properties.getObjectPropertyUInt32 o
obj String
"n-axes"
#if defined(ENABLE_OVERLOADING)
data DeviceNAxesPropertyInfo
instance AttrInfo DeviceNAxesPropertyInfo where
type AttrAllowedOps DeviceNAxesPropertyInfo = '[ 'AttrGet]
type AttrBaseTypeConstraint DeviceNAxesPropertyInfo = IsDevice
type AttrSetTypeConstraint DeviceNAxesPropertyInfo = (~) ()
type AttrTransferTypeConstraint DeviceNAxesPropertyInfo = (~) ()
type AttrTransferType DeviceNAxesPropertyInfo = ()
type AttrGetType DeviceNAxesPropertyInfo = Word32
type AttrLabel DeviceNAxesPropertyInfo = "n-axes"
type AttrOrigin DeviceNAxesPropertyInfo = Device
attrGet = getDeviceNAxes
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.nAxes"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#g:attr:nAxes"
})
#endif
getDeviceName :: (MonadIO m, IsDevice o) => o -> m T.Text
getDeviceName :: forall (m :: * -> *) o. (MonadIO m, IsDevice o) => o -> m Text
getDeviceName o
obj = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Text) -> IO Text
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getDeviceName" (IO (Maybe Text) -> IO Text) -> IO (Maybe Text) -> IO Text
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"name"
constructDeviceName :: (IsDevice o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructDeviceName :: forall o (m :: * -> *).
(IsDevice o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructDeviceName Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"name" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)
#if defined(ENABLE_OVERLOADING)
data DeviceNamePropertyInfo
instance AttrInfo DeviceNamePropertyInfo where
type AttrAllowedOps DeviceNamePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint DeviceNamePropertyInfo = IsDevice
type AttrSetTypeConstraint DeviceNamePropertyInfo = (~) T.Text
type AttrTransferTypeConstraint DeviceNamePropertyInfo = (~) T.Text
type AttrTransferType DeviceNamePropertyInfo = T.Text
type AttrGetType DeviceNamePropertyInfo = T.Text
type AttrLabel DeviceNamePropertyInfo = "name"
type AttrOrigin DeviceNamePropertyInfo = Device
attrGet = getDeviceName
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructDeviceName
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.name"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#g:attr:name"
})
#endif
getDeviceNumLockState :: (MonadIO m, IsDevice o) => o -> m Bool
getDeviceNumLockState :: forall (m :: * -> *) o. (MonadIO m, IsDevice o) => o -> m Bool
getDeviceNumLockState o
obj = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"num-lock-state"
#if defined(ENABLE_OVERLOADING)
data DeviceNumLockStatePropertyInfo
instance AttrInfo DeviceNumLockStatePropertyInfo where
type AttrAllowedOps DeviceNumLockStatePropertyInfo = '[ 'AttrGet]
type AttrBaseTypeConstraint DeviceNumLockStatePropertyInfo = IsDevice
type AttrSetTypeConstraint DeviceNumLockStatePropertyInfo = (~) ()
type AttrTransferTypeConstraint DeviceNumLockStatePropertyInfo = (~) ()
type AttrTransferType DeviceNumLockStatePropertyInfo = ()
type AttrGetType DeviceNumLockStatePropertyInfo = Bool
type AttrLabel DeviceNumLockStatePropertyInfo = "num-lock-state"
type AttrOrigin DeviceNumLockStatePropertyInfo = Device
attrGet = getDeviceNumLockState
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.numLockState"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#g:attr:numLockState"
})
#endif
getDeviceNumTouches :: (MonadIO m, IsDevice o) => o -> m Word32
getDeviceNumTouches :: forall (m :: * -> *) o. (MonadIO m, IsDevice o) => o -> m Word32
getDeviceNumTouches o
obj = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Word32
forall a. GObject a => a -> String -> IO Word32
B.Properties.getObjectPropertyUInt32 o
obj String
"num-touches"
constructDeviceNumTouches :: (IsDevice o, MIO.MonadIO m) => Word32 -> m (GValueConstruct o)
constructDeviceNumTouches :: forall o (m :: * -> *).
(IsDevice o, MonadIO m) =>
Word32 -> m (GValueConstruct o)
constructDeviceNumTouches Word32
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Word32 -> IO (GValueConstruct o)
forall o. String -> Word32 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyUInt32 String
"num-touches" Word32
val
#if defined(ENABLE_OVERLOADING)
data DeviceNumTouchesPropertyInfo
instance AttrInfo DeviceNumTouchesPropertyInfo where
type AttrAllowedOps DeviceNumTouchesPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint DeviceNumTouchesPropertyInfo = IsDevice
type AttrSetTypeConstraint DeviceNumTouchesPropertyInfo = (~) Word32
type AttrTransferTypeConstraint DeviceNumTouchesPropertyInfo = (~) Word32
type AttrTransferType DeviceNumTouchesPropertyInfo = Word32
type AttrGetType DeviceNumTouchesPropertyInfo = Word32
type AttrLabel DeviceNumTouchesPropertyInfo = "num-touches"
type AttrOrigin DeviceNumTouchesPropertyInfo = Device
attrGet = getDeviceNumTouches
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructDeviceNumTouches
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.numTouches"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#g:attr:numTouches"
})
#endif
getDeviceProductId :: (MonadIO m, IsDevice o) => o -> m (Maybe T.Text)
getDeviceProductId :: forall (m :: * -> *) o.
(MonadIO m, IsDevice o) =>
o -> m (Maybe Text)
getDeviceProductId o
obj = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"product-id"
constructDeviceProductId :: (IsDevice o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructDeviceProductId :: forall o (m :: * -> *).
(IsDevice o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructDeviceProductId Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"product-id" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)
#if defined(ENABLE_OVERLOADING)
data DeviceProductIdPropertyInfo
instance AttrInfo DeviceProductIdPropertyInfo where
type AttrAllowedOps DeviceProductIdPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint DeviceProductIdPropertyInfo = IsDevice
type AttrSetTypeConstraint DeviceProductIdPropertyInfo = (~) T.Text
type AttrTransferTypeConstraint DeviceProductIdPropertyInfo = (~) T.Text
type AttrTransferType DeviceProductIdPropertyInfo = T.Text
type AttrGetType DeviceProductIdPropertyInfo = (Maybe T.Text)
type AttrLabel DeviceProductIdPropertyInfo = "product-id"
type AttrOrigin DeviceProductIdPropertyInfo = Device
attrGet = getDeviceProductId
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructDeviceProductId
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.productId"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#g:attr:productId"
})
#endif
getDeviceScrollLockState :: (MonadIO m, IsDevice o) => o -> m Bool
getDeviceScrollLockState :: forall (m :: * -> *) o. (MonadIO m, IsDevice o) => o -> m Bool
getDeviceScrollLockState o
obj = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"scroll-lock-state"
#if defined(ENABLE_OVERLOADING)
data DeviceScrollLockStatePropertyInfo
instance AttrInfo DeviceScrollLockStatePropertyInfo where
type AttrAllowedOps DeviceScrollLockStatePropertyInfo = '[ 'AttrGet]
type AttrBaseTypeConstraint DeviceScrollLockStatePropertyInfo = IsDevice
type AttrSetTypeConstraint DeviceScrollLockStatePropertyInfo = (~) ()
type AttrTransferTypeConstraint DeviceScrollLockStatePropertyInfo = (~) ()
type AttrTransferType DeviceScrollLockStatePropertyInfo = ()
type AttrGetType DeviceScrollLockStatePropertyInfo = Bool
type AttrLabel DeviceScrollLockStatePropertyInfo = "scroll-lock-state"
type AttrOrigin DeviceScrollLockStatePropertyInfo = Device
attrGet = getDeviceScrollLockState
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.scrollLockState"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#g:attr:scrollLockState"
})
#endif
getDeviceSeat :: (MonadIO m, IsDevice o) => o -> m Gdk.Seat.Seat
getDeviceSeat :: forall (m :: * -> *) o. (MonadIO m, IsDevice o) => o -> m Seat
getDeviceSeat o
obj = IO Seat -> m Seat
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Seat -> m Seat) -> IO Seat -> m Seat
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Seat) -> IO Seat
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getDeviceSeat" (IO (Maybe Seat) -> IO Seat) -> IO (Maybe Seat) -> IO Seat
forall a b. (a -> b) -> a -> b
$ o -> String -> (ManagedPtr Seat -> Seat) -> IO (Maybe Seat)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"seat" ManagedPtr Seat -> Seat
Gdk.Seat.Seat
setDeviceSeat :: (MonadIO m, IsDevice o, Gdk.Seat.IsSeat a) => o -> a -> m ()
setDeviceSeat :: forall (m :: * -> *) o a.
(MonadIO m, IsDevice o, IsSeat a) =>
o -> a -> m ()
setDeviceSeat o
obj a
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Maybe a -> IO ()
forall a b.
(GObject a, GObject b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyObject o
obj String
"seat" (a -> Maybe a
forall a. a -> Maybe a
Just a
val)
constructDeviceSeat :: (IsDevice o, MIO.MonadIO m, Gdk.Seat.IsSeat a) => a -> m (GValueConstruct o)
constructDeviceSeat :: forall o (m :: * -> *) a.
(IsDevice o, MonadIO m, IsSeat a) =>
a -> m (GValueConstruct o)
constructDeviceSeat a
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe a -> IO (GValueConstruct o)
forall a o.
GObject a =>
String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyObject String
"seat" (a -> Maybe a
forall a. a -> Maybe a
P.Just a
val)
clearDeviceSeat :: (MonadIO m, IsDevice o) => o -> m ()
clearDeviceSeat :: forall (m :: * -> *) o. (MonadIO m, IsDevice o) => o -> m ()
clearDeviceSeat o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Seat -> IO ()
forall a b.
(GObject a, GObject b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyObject o
obj String
"seat" (Maybe Seat
forall a. Maybe a
Nothing :: Maybe Gdk.Seat.Seat)
#if defined(ENABLE_OVERLOADING)
data DeviceSeatPropertyInfo
instance AttrInfo DeviceSeatPropertyInfo where
type AttrAllowedOps DeviceSeatPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint DeviceSeatPropertyInfo = IsDevice
type AttrSetTypeConstraint DeviceSeatPropertyInfo = Gdk.Seat.IsSeat
type AttrTransferTypeConstraint DeviceSeatPropertyInfo = Gdk.Seat.IsSeat
type AttrTransferType DeviceSeatPropertyInfo = Gdk.Seat.Seat
type AttrGetType DeviceSeatPropertyInfo = Gdk.Seat.Seat
type AttrLabel DeviceSeatPropertyInfo = "seat"
type AttrOrigin DeviceSeatPropertyInfo = Device
attrGet = getDeviceSeat
attrSet = setDeviceSeat
attrTransfer _ v = do
unsafeCastTo Gdk.Seat.Seat v
attrConstruct = constructDeviceSeat
attrClear = clearDeviceSeat
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.seat"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#g:attr:seat"
})
#endif
getDeviceSource :: (MonadIO m, IsDevice o) => o -> m Gdk.Enums.InputSource
getDeviceSource :: forall (m :: * -> *) o.
(MonadIO m, IsDevice o) =>
o -> m InputSource
getDeviceSource o
obj = IO InputSource -> m InputSource
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO InputSource -> m InputSource)
-> IO InputSource -> m InputSource
forall a b. (a -> b) -> a -> b
$ o -> String -> IO InputSource
forall a b. (GObject a, Enum b, BoxedEnum b) => a -> String -> IO b
B.Properties.getObjectPropertyEnum o
obj String
"source"
constructDeviceSource :: (IsDevice o, MIO.MonadIO m) => Gdk.Enums.InputSource -> m (GValueConstruct o)
constructDeviceSource :: forall o (m :: * -> *).
(IsDevice o, MonadIO m) =>
InputSource -> m (GValueConstruct o)
constructDeviceSource InputSource
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> InputSource -> IO (GValueConstruct o)
forall a o.
(Enum a, BoxedEnum a) =>
String -> a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyEnum String
"source" InputSource
val
#if defined(ENABLE_OVERLOADING)
data DeviceSourcePropertyInfo
instance AttrInfo DeviceSourcePropertyInfo where
type AttrAllowedOps DeviceSourcePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint DeviceSourcePropertyInfo = IsDevice
type AttrSetTypeConstraint DeviceSourcePropertyInfo = (~) Gdk.Enums.InputSource
type AttrTransferTypeConstraint DeviceSourcePropertyInfo = (~) Gdk.Enums.InputSource
type AttrTransferType DeviceSourcePropertyInfo = Gdk.Enums.InputSource
type AttrGetType DeviceSourcePropertyInfo = Gdk.Enums.InputSource
type AttrLabel DeviceSourcePropertyInfo = "source"
type AttrOrigin DeviceSourcePropertyInfo = Device
attrGet = getDeviceSource
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructDeviceSource
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.source"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#g:attr:source"
})
#endif
getDeviceTool :: (MonadIO m, IsDevice o) => o -> m (Maybe Gdk.DeviceTool.DeviceTool)
getDeviceTool :: forall (m :: * -> *) o.
(MonadIO m, IsDevice o) =>
o -> m (Maybe DeviceTool)
getDeviceTool o
obj = IO (Maybe DeviceTool) -> m (Maybe DeviceTool)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe DeviceTool) -> m (Maybe DeviceTool))
-> IO (Maybe DeviceTool) -> m (Maybe DeviceTool)
forall a b. (a -> b) -> a -> b
$ o
-> String
-> (ManagedPtr DeviceTool -> DeviceTool)
-> IO (Maybe DeviceTool)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"tool" ManagedPtr DeviceTool -> DeviceTool
Gdk.DeviceTool.DeviceTool
#if defined(ENABLE_OVERLOADING)
data DeviceToolPropertyInfo
instance AttrInfo DeviceToolPropertyInfo where
type AttrAllowedOps DeviceToolPropertyInfo = '[ 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint DeviceToolPropertyInfo = IsDevice
type AttrSetTypeConstraint DeviceToolPropertyInfo = (~) ()
type AttrTransferTypeConstraint DeviceToolPropertyInfo = (~) ()
type AttrTransferType DeviceToolPropertyInfo = ()
type AttrGetType DeviceToolPropertyInfo = (Maybe Gdk.DeviceTool.DeviceTool)
type AttrLabel DeviceToolPropertyInfo = "tool"
type AttrOrigin DeviceToolPropertyInfo = Device
attrGet = getDeviceTool
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.tool"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#g:attr:tool"
})
#endif
getDeviceVendorId :: (MonadIO m, IsDevice o) => o -> m (Maybe T.Text)
getDeviceVendorId :: forall (m :: * -> *) o.
(MonadIO m, IsDevice o) =>
o -> m (Maybe Text)
getDeviceVendorId o
obj = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"vendor-id"
constructDeviceVendorId :: (IsDevice o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructDeviceVendorId :: forall o (m :: * -> *).
(IsDevice o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructDeviceVendorId Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"vendor-id" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)
#if defined(ENABLE_OVERLOADING)
data DeviceVendorIdPropertyInfo
instance AttrInfo DeviceVendorIdPropertyInfo where
type AttrAllowedOps DeviceVendorIdPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint DeviceVendorIdPropertyInfo = IsDevice
type AttrSetTypeConstraint DeviceVendorIdPropertyInfo = (~) T.Text
type AttrTransferTypeConstraint DeviceVendorIdPropertyInfo = (~) T.Text
type AttrTransferType DeviceVendorIdPropertyInfo = T.Text
type AttrGetType DeviceVendorIdPropertyInfo = (Maybe T.Text)
type AttrLabel DeviceVendorIdPropertyInfo = "vendor-id"
type AttrOrigin DeviceVendorIdPropertyInfo = Device
attrGet = getDeviceVendorId
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructDeviceVendorId
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.vendorId"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#g:attr:vendorId"
})
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Device
type instance O.AttributeList Device = DeviceAttributeList
type DeviceAttributeList = ('[ '("capsLockState", DeviceCapsLockStatePropertyInfo), '("direction", DeviceDirectionPropertyInfo), '("display", DeviceDisplayPropertyInfo), '("hasBidiLayouts", DeviceHasBidiLayoutsPropertyInfo), '("hasCursor", DeviceHasCursorPropertyInfo), '("modifierState", DeviceModifierStatePropertyInfo), '("nAxes", DeviceNAxesPropertyInfo), '("name", DeviceNamePropertyInfo), '("numLockState", DeviceNumLockStatePropertyInfo), '("numTouches", DeviceNumTouchesPropertyInfo), '("productId", DeviceProductIdPropertyInfo), '("scrollLockState", DeviceScrollLockStatePropertyInfo), '("seat", DeviceSeatPropertyInfo), '("source", DeviceSourcePropertyInfo), '("tool", DeviceToolPropertyInfo), '("vendorId", DeviceVendorIdPropertyInfo)] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
deviceCapsLockState :: AttrLabelProxy "capsLockState"
deviceCapsLockState = AttrLabelProxy
deviceDirection :: AttrLabelProxy "direction"
deviceDirection = AttrLabelProxy
deviceDisplay :: AttrLabelProxy "display"
deviceDisplay = AttrLabelProxy
deviceHasCursor :: AttrLabelProxy "hasCursor"
deviceHasCursor = AttrLabelProxy
deviceModifierState :: AttrLabelProxy "modifierState"
deviceModifierState = AttrLabelProxy
deviceNAxes :: AttrLabelProxy "nAxes"
deviceNAxes = AttrLabelProxy
deviceName :: AttrLabelProxy "name"
deviceName = AttrLabelProxy
deviceNumLockState :: AttrLabelProxy "numLockState"
deviceNumLockState = AttrLabelProxy
deviceNumTouches :: AttrLabelProxy "numTouches"
deviceNumTouches = AttrLabelProxy
deviceProductId :: AttrLabelProxy "productId"
deviceProductId = AttrLabelProxy
deviceScrollLockState :: AttrLabelProxy "scrollLockState"
deviceScrollLockState = AttrLabelProxy
deviceSeat :: AttrLabelProxy "seat"
deviceSeat = AttrLabelProxy
deviceSource :: AttrLabelProxy "source"
deviceSource = AttrLabelProxy
deviceTool :: AttrLabelProxy "tool"
deviceTool = AttrLabelProxy
deviceVendorId :: AttrLabelProxy "vendorId"
deviceVendorId = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Device = DeviceSignalList
type DeviceSignalList = ('[ '("changed", DeviceChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("toolChanged", DeviceToolChangedSignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "gdk_device_get_caps_lock_state" gdk_device_get_caps_lock_state ::
Ptr Device ->
IO CInt
deviceGetCapsLockState ::
(B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>
a
-> m Bool
deviceGetCapsLockState :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDevice a) =>
a -> m Bool
deviceGetCapsLockState a
device = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
device' <- a -> IO (Ptr Device)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
device
result <- gdk_device_get_caps_lock_state device'
let result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
touchManagedPtr device
return result'
#if defined(ENABLE_OVERLOADING)
data DeviceGetCapsLockStateMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDevice a) => O.OverloadedMethod DeviceGetCapsLockStateMethodInfo a signature where
overloadedMethod = deviceGetCapsLockState
instance O.OverloadedMethodInfo DeviceGetCapsLockStateMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.deviceGetCapsLockState",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#v:deviceGetCapsLockState"
})
#endif
foreign import ccall "gdk_device_get_device_tool" gdk_device_get_device_tool ::
Ptr Device ->
IO (Ptr Gdk.DeviceTool.DeviceTool)
deviceGetDeviceTool ::
(B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>
a
-> m (Maybe Gdk.DeviceTool.DeviceTool)
deviceGetDeviceTool :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDevice a) =>
a -> m (Maybe DeviceTool)
deviceGetDeviceTool a
device = 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
device' <- a -> IO (Ptr Device)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
device
result <- gdk_device_get_device_tool device'
maybeResult <- convertIfNonNull result $ \Ptr DeviceTool
result' -> do
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'
return result''
touchManagedPtr device
return maybeResult
#if defined(ENABLE_OVERLOADING)
data DeviceGetDeviceToolMethodInfo
instance (signature ~ (m (Maybe Gdk.DeviceTool.DeviceTool)), MonadIO m, IsDevice a) => O.OverloadedMethod DeviceGetDeviceToolMethodInfo a signature where
overloadedMethod = deviceGetDeviceTool
instance O.OverloadedMethodInfo DeviceGetDeviceToolMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.deviceGetDeviceTool",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#v:deviceGetDeviceTool"
})
#endif
foreign import ccall "gdk_device_get_direction" gdk_device_get_direction ::
Ptr Device ->
IO CUInt
deviceGetDirection ::
(B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>
a
-> m Pango.Enums.Direction
deviceGetDirection :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDevice a) =>
a -> m Direction
deviceGetDirection a
device = IO Direction -> m Direction
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Direction -> m Direction) -> IO Direction -> m Direction
forall a b. (a -> b) -> a -> b
$ do
device' <- a -> IO (Ptr Device)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
device
result <- gdk_device_get_direction device'
let result' = (Int -> Direction
forall a. Enum a => Int -> a
toEnum (Int -> Direction) -> (CUInt -> Int) -> CUInt -> Direction
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
touchManagedPtr device
return result'
#if defined(ENABLE_OVERLOADING)
data DeviceGetDirectionMethodInfo
instance (signature ~ (m Pango.Enums.Direction), MonadIO m, IsDevice a) => O.OverloadedMethod DeviceGetDirectionMethodInfo a signature where
overloadedMethod = deviceGetDirection
instance O.OverloadedMethodInfo DeviceGetDirectionMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.deviceGetDirection",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#v:deviceGetDirection"
})
#endif
foreign import ccall "gdk_device_get_display" gdk_device_get_display ::
Ptr Device ->
IO (Ptr Gdk.Display.Display)
deviceGetDisplay ::
(B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>
a
-> m Gdk.Display.Display
deviceGetDisplay :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDevice a) =>
a -> m Display
deviceGetDisplay a
device = IO Display -> m Display
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Display -> m Display) -> IO Display -> m Display
forall a b. (a -> b) -> a -> b
$ do
device' <- a -> IO (Ptr Device)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
device
result <- gdk_device_get_display device'
checkUnexpectedReturnNULL "deviceGetDisplay" result
result' <- (newObject Gdk.Display.Display) result
touchManagedPtr device
return result'
#if defined(ENABLE_OVERLOADING)
data DeviceGetDisplayMethodInfo
instance (signature ~ (m Gdk.Display.Display), MonadIO m, IsDevice a) => O.OverloadedMethod DeviceGetDisplayMethodInfo a signature where
overloadedMethod = deviceGetDisplay
instance O.OverloadedMethodInfo DeviceGetDisplayMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.deviceGetDisplay",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#v:deviceGetDisplay"
})
#endif
foreign import ccall "gdk_device_get_has_cursor" gdk_device_get_has_cursor ::
Ptr Device ->
IO CInt
deviceGetHasCursor ::
(B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>
a
-> m Bool
deviceGetHasCursor :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDevice a) =>
a -> m Bool
deviceGetHasCursor a
device = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
device' <- a -> IO (Ptr Device)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
device
result <- gdk_device_get_has_cursor device'
let result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
touchManagedPtr device
return result'
#if defined(ENABLE_OVERLOADING)
data DeviceGetHasCursorMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDevice a) => O.OverloadedMethod DeviceGetHasCursorMethodInfo a signature where
overloadedMethod = deviceGetHasCursor
instance O.OverloadedMethodInfo DeviceGetHasCursorMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.deviceGetHasCursor",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#v:deviceGetHasCursor"
})
#endif
foreign import ccall "gdk_device_get_modifier_state" gdk_device_get_modifier_state ::
Ptr Device ->
IO CUInt
deviceGetModifierState ::
(B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>
a
-> m [Gdk.Flags.ModifierType]
deviceGetModifierState :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDevice a) =>
a -> m [ModifierType]
deviceGetModifierState a
device = IO [ModifierType] -> m [ModifierType]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [ModifierType] -> m [ModifierType])
-> IO [ModifierType] -> m [ModifierType]
forall a b. (a -> b) -> a -> b
$ do
device' <- a -> IO (Ptr Device)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
device
result <- gdk_device_get_modifier_state device'
let result' = CUInt -> [ModifierType]
forall a b. (Storable a, Integral a, Bits a, IsGFlag b) => a -> [b]
wordToGFlags CUInt
result
touchManagedPtr device
return result'
#if defined(ENABLE_OVERLOADING)
data DeviceGetModifierStateMethodInfo
instance (signature ~ (m [Gdk.Flags.ModifierType]), MonadIO m, IsDevice a) => O.OverloadedMethod DeviceGetModifierStateMethodInfo a signature where
overloadedMethod = deviceGetModifierState
instance O.OverloadedMethodInfo DeviceGetModifierStateMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.deviceGetModifierState",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#v:deviceGetModifierState"
})
#endif
foreign import ccall "gdk_device_get_name" gdk_device_get_name ::
Ptr Device ->
IO CString
deviceGetName ::
(B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>
a
-> m T.Text
deviceGetName :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDevice a) =>
a -> m Text
deviceGetName a
device = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
device' <- a -> IO (Ptr Device)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
device
result <- gdk_device_get_name device'
checkUnexpectedReturnNULL "deviceGetName" result
result' <- cstringToText result
touchManagedPtr device
return result'
#if defined(ENABLE_OVERLOADING)
data DeviceGetNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDevice a) => O.OverloadedMethod DeviceGetNameMethodInfo a signature where
overloadedMethod = deviceGetName
instance O.OverloadedMethodInfo DeviceGetNameMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.deviceGetName",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#v:deviceGetName"
})
#endif
foreign import ccall "gdk_device_get_num_lock_state" gdk_device_get_num_lock_state ::
Ptr Device ->
IO CInt
deviceGetNumLockState ::
(B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>
a
-> m Bool
deviceGetNumLockState :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDevice a) =>
a -> m Bool
deviceGetNumLockState a
device = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
device' <- a -> IO (Ptr Device)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
device
result <- gdk_device_get_num_lock_state device'
let result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
touchManagedPtr device
return result'
#if defined(ENABLE_OVERLOADING)
data DeviceGetNumLockStateMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDevice a) => O.OverloadedMethod DeviceGetNumLockStateMethodInfo a signature where
overloadedMethod = deviceGetNumLockState
instance O.OverloadedMethodInfo DeviceGetNumLockStateMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.deviceGetNumLockState",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#v:deviceGetNumLockState"
})
#endif
foreign import ccall "gdk_device_get_num_touches" gdk_device_get_num_touches ::
Ptr Device ->
IO Word32
deviceGetNumTouches ::
(B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>
a
-> m Word32
deviceGetNumTouches :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDevice a) =>
a -> m Word32
deviceGetNumTouches a
device = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
device' <- a -> IO (Ptr Device)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
device
result <- gdk_device_get_num_touches device'
touchManagedPtr device
return result
#if defined(ENABLE_OVERLOADING)
data DeviceGetNumTouchesMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsDevice a) => O.OverloadedMethod DeviceGetNumTouchesMethodInfo a signature where
overloadedMethod = deviceGetNumTouches
instance O.OverloadedMethodInfo DeviceGetNumTouchesMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.deviceGetNumTouches",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#v:deviceGetNumTouches"
})
#endif
foreign import ccall "gdk_device_get_product_id" gdk_device_get_product_id ::
Ptr Device ->
IO CString
deviceGetProductId ::
(B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>
a
-> m (Maybe T.Text)
deviceGetProductId :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDevice a) =>
a -> m (Maybe Text)
deviceGetProductId a
device = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
device' <- a -> IO (Ptr Device)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
device
result <- gdk_device_get_product_id device'
maybeResult <- convertIfNonNull result $ \CString
result' -> do
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
return result''
touchManagedPtr device
return maybeResult
#if defined(ENABLE_OVERLOADING)
data DeviceGetProductIdMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsDevice a) => O.OverloadedMethod DeviceGetProductIdMethodInfo a signature where
overloadedMethod = deviceGetProductId
instance O.OverloadedMethodInfo DeviceGetProductIdMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.deviceGetProductId",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#v:deviceGetProductId"
})
#endif
foreign import ccall "gdk_device_get_scroll_lock_state" gdk_device_get_scroll_lock_state ::
Ptr Device ->
IO CInt
deviceGetScrollLockState ::
(B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>
a
-> m Bool
deviceGetScrollLockState :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDevice a) =>
a -> m Bool
deviceGetScrollLockState a
device = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
device' <- a -> IO (Ptr Device)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
device
result <- gdk_device_get_scroll_lock_state device'
let result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
touchManagedPtr device
return result'
#if defined(ENABLE_OVERLOADING)
data DeviceGetScrollLockStateMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDevice a) => O.OverloadedMethod DeviceGetScrollLockStateMethodInfo a signature where
overloadedMethod = deviceGetScrollLockState
instance O.OverloadedMethodInfo DeviceGetScrollLockStateMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.deviceGetScrollLockState",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#v:deviceGetScrollLockState"
})
#endif
foreign import ccall "gdk_device_get_seat" gdk_device_get_seat ::
Ptr Device ->
IO (Ptr Gdk.Seat.Seat)
deviceGetSeat ::
(B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>
a
-> m Gdk.Seat.Seat
deviceGetSeat :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDevice a) =>
a -> m Seat
deviceGetSeat a
device = IO Seat -> m Seat
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Seat -> m Seat) -> IO Seat -> m Seat
forall a b. (a -> b) -> a -> b
$ do
device' <- a -> IO (Ptr Device)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
device
result <- gdk_device_get_seat device'
checkUnexpectedReturnNULL "deviceGetSeat" result
result' <- (newObject Gdk.Seat.Seat) result
touchManagedPtr device
return result'
#if defined(ENABLE_OVERLOADING)
data DeviceGetSeatMethodInfo
instance (signature ~ (m Gdk.Seat.Seat), MonadIO m, IsDevice a) => O.OverloadedMethod DeviceGetSeatMethodInfo a signature where
overloadedMethod = deviceGetSeat
instance O.OverloadedMethodInfo DeviceGetSeatMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.deviceGetSeat",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#v:deviceGetSeat"
})
#endif
foreign import ccall "gdk_device_get_source" gdk_device_get_source ::
Ptr Device ->
IO CUInt
deviceGetSource ::
(B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>
a
-> m Gdk.Enums.InputSource
deviceGetSource :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDevice a) =>
a -> m InputSource
deviceGetSource a
device = IO InputSource -> m InputSource
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO InputSource -> m InputSource)
-> IO InputSource -> m InputSource
forall a b. (a -> b) -> a -> b
$ do
device' <- a -> IO (Ptr Device)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
device
result <- gdk_device_get_source device'
let result' = (Int -> InputSource
forall a. Enum a => Int -> a
toEnum (Int -> InputSource) -> (CUInt -> Int) -> CUInt -> InputSource
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
touchManagedPtr device
return result'
#if defined(ENABLE_OVERLOADING)
data DeviceGetSourceMethodInfo
instance (signature ~ (m Gdk.Enums.InputSource), MonadIO m, IsDevice a) => O.OverloadedMethod DeviceGetSourceMethodInfo a signature where
overloadedMethod = deviceGetSource
instance O.OverloadedMethodInfo DeviceGetSourceMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.deviceGetSource",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#v:deviceGetSource"
})
#endif
foreign import ccall "gdk_device_get_surface_at_position" gdk_device_get_surface_at_position ::
Ptr Device ->
Ptr CDouble ->
Ptr CDouble ->
IO (Ptr Gdk.Surface.Surface)
deviceGetSurfaceAtPosition ::
(B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>
a
-> m ((Maybe Gdk.Surface.Surface, Double, Double))
deviceGetSurfaceAtPosition :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDevice a) =>
a -> m (Maybe Surface, Double, Double)
deviceGetSurfaceAtPosition a
device = IO (Maybe Surface, Double, Double)
-> m (Maybe Surface, Double, Double)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Surface, Double, Double)
-> m (Maybe Surface, Double, Double))
-> IO (Maybe Surface, Double, Double)
-> m (Maybe Surface, Double, Double)
forall a b. (a -> b) -> a -> b
$ do
device' <- a -> IO (Ptr Device)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
device
winX <- allocMem :: IO (Ptr CDouble)
winY <- allocMem :: IO (Ptr CDouble)
result <- gdk_device_get_surface_at_position device' winX winY
maybeResult <- convertIfNonNull result $ \Ptr Surface
result' -> do
result'' <- ((ManagedPtr Surface -> Surface) -> Ptr Surface -> IO Surface
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Surface -> Surface
Gdk.Surface.Surface) Ptr Surface
result'
return result''
winX' <- peek winX
let winX'' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
winX'
winY' <- peek winY
let winY'' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
winY'
touchManagedPtr device
freeMem winX
freeMem winY
return (maybeResult, winX'', winY'')
#if defined(ENABLE_OVERLOADING)
data DeviceGetSurfaceAtPositionMethodInfo
instance (signature ~ (m ((Maybe Gdk.Surface.Surface, Double, Double))), MonadIO m, IsDevice a) => O.OverloadedMethod DeviceGetSurfaceAtPositionMethodInfo a signature where
overloadedMethod = deviceGetSurfaceAtPosition
instance O.OverloadedMethodInfo DeviceGetSurfaceAtPositionMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.deviceGetSurfaceAtPosition",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#v:deviceGetSurfaceAtPosition"
})
#endif
foreign import ccall "gdk_device_get_timestamp" gdk_device_get_timestamp ::
Ptr Device ->
IO Word32
deviceGetTimestamp ::
(B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>
a
-> m Word32
deviceGetTimestamp :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDevice a) =>
a -> m Word32
deviceGetTimestamp a
device = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
device' <- a -> IO (Ptr Device)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
device
result <- gdk_device_get_timestamp device'
touchManagedPtr device
return result
#if defined(ENABLE_OVERLOADING)
data DeviceGetTimestampMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsDevice a) => O.OverloadedMethod DeviceGetTimestampMethodInfo a signature where
overloadedMethod = deviceGetTimestamp
instance O.OverloadedMethodInfo DeviceGetTimestampMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.deviceGetTimestamp",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#v:deviceGetTimestamp"
})
#endif
foreign import ccall "gdk_device_get_vendor_id" gdk_device_get_vendor_id ::
Ptr Device ->
IO CString
deviceGetVendorId ::
(B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>
a
-> m (Maybe T.Text)
deviceGetVendorId :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDevice a) =>
a -> m (Maybe Text)
deviceGetVendorId a
device = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
device' <- a -> IO (Ptr Device)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
device
result <- gdk_device_get_vendor_id device'
maybeResult <- convertIfNonNull result $ \CString
result' -> do
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
return result''
touchManagedPtr device
return maybeResult
#if defined(ENABLE_OVERLOADING)
data DeviceGetVendorIdMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsDevice a) => O.OverloadedMethod DeviceGetVendorIdMethodInfo a signature where
overloadedMethod = deviceGetVendorId
instance O.OverloadedMethodInfo DeviceGetVendorIdMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.deviceGetVendorId",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#v:deviceGetVendorId"
})
#endif
foreign import ccall "gdk_device_has_bidi_layouts" gdk_device_has_bidi_layouts ::
Ptr Device ->
IO CInt
deviceHasBidiLayouts ::
(B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>
a
-> m Bool
deviceHasBidiLayouts :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDevice a) =>
a -> m Bool
deviceHasBidiLayouts a
device = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
device' <- a -> IO (Ptr Device)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
device
result <- gdk_device_has_bidi_layouts device'
let result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
touchManagedPtr device
return result'
#if defined(ENABLE_OVERLOADING)
data DeviceHasBidiLayoutsMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDevice a) => O.OverloadedMethod DeviceHasBidiLayoutsMethodInfo a signature where
overloadedMethod = deviceHasBidiLayouts
instance O.OverloadedMethodInfo DeviceHasBidiLayoutsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.Device.deviceHasBidiLayouts",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.9/docs/GI-Gdk-Objects-Device.html#v:deviceHasBidiLayouts"
})
#endif