gi-gdk-0.3.16.12: GI/Gdk/Objects/Device.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.Gdk.Objects.Device
(
-- * Exported types
Device(..) ,
DeviceK ,
toDevice ,
noDevice ,
-- * Methods
-- ** deviceGetAssociatedDevice
deviceGetAssociatedDevice ,
-- ** deviceGetAxisUse
deviceGetAxisUse ,
-- ** deviceGetDeviceType
deviceGetDeviceType ,
-- ** deviceGetDisplay
deviceGetDisplay ,
-- ** deviceGetHasCursor
deviceGetHasCursor ,
-- ** deviceGetKey
deviceGetKey ,
-- ** deviceGetLastEventWindow
deviceGetLastEventWindow ,
-- ** deviceGetMode
deviceGetMode ,
-- ** deviceGetNAxes
deviceGetNAxes ,
-- ** deviceGetNKeys
deviceGetNKeys ,
-- ** deviceGetName
deviceGetName ,
-- ** deviceGetPosition
deviceGetPosition ,
-- ** deviceGetPositionDouble
deviceGetPositionDouble ,
-- ** deviceGetProductId
deviceGetProductId ,
-- ** deviceGetSource
deviceGetSource ,
-- ** deviceGetVendorId
deviceGetVendorId ,
-- ** deviceGetWindowAtPosition
deviceGetWindowAtPosition ,
-- ** deviceGetWindowAtPositionDouble
deviceGetWindowAtPositionDouble ,
-- ** deviceGrab
deviceGrab ,
-- ** deviceGrabInfoLibgtkOnly
deviceGrabInfoLibgtkOnly ,
-- ** deviceListAxes
deviceListAxes ,
-- ** deviceListSlaveDevices
deviceListSlaveDevices ,
-- ** deviceSetAxisUse
deviceSetAxisUse ,
-- ** deviceSetKey
deviceSetKey ,
-- ** deviceSetMode
deviceSetMode ,
-- ** deviceUngrab
deviceUngrab ,
-- ** deviceWarp
deviceWarp ,
-- * Properties
-- ** AssociatedDevice
DeviceAssociatedDevicePropertyInfo ,
getDeviceAssociatedDevice ,
-- ** DeviceManager
DeviceDeviceManagerPropertyInfo ,
constructDeviceDeviceManager ,
getDeviceDeviceManager ,
-- ** Display
DeviceDisplayPropertyInfo ,
constructDeviceDisplay ,
getDeviceDisplay ,
-- ** HasCursor
DeviceHasCursorPropertyInfo ,
constructDeviceHasCursor ,
getDeviceHasCursor ,
-- ** InputMode
DeviceInputModePropertyInfo ,
constructDeviceInputMode ,
getDeviceInputMode ,
setDeviceInputMode ,
-- ** InputSource
DeviceInputSourcePropertyInfo ,
constructDeviceInputSource ,
getDeviceInputSource ,
-- ** NAxes
DeviceNAxesPropertyInfo ,
getDeviceNAxes ,
-- ** Name
DeviceNamePropertyInfo ,
constructDeviceName ,
getDeviceName ,
-- ** ProductId
DeviceProductIdPropertyInfo ,
constructDeviceProductId ,
getDeviceProductId ,
-- ** Type
DeviceTypePropertyInfo ,
constructDeviceType ,
getDeviceType ,
-- ** VendorId
DeviceVendorIdPropertyInfo ,
constructDeviceVendorId ,
getDeviceVendorId ,
-- * Signals
-- ** Changed
DeviceChangedCallback ,
DeviceChangedCallbackC ,
DeviceChangedSignalInfo ,
afterDeviceChanged ,
deviceChangedCallbackWrapper ,
deviceChangedClosure ,
mkDeviceChangedCallback ,
noDeviceChangedCallback ,
onDeviceChanged ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Gdk.Types
import GI.Gdk.Callbacks
import qualified GI.GObject as GObject
newtype Device = Device (ForeignPtr Device)
foreign import ccall "gdk_device_get_type"
c_gdk_device_get_type :: IO GType
type instance ParentTypes Device = DeviceParentTypes
type DeviceParentTypes = '[GObject.Object]
instance GObject Device where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_gdk_device_get_type
class GObject o => DeviceK o
instance (GObject o, IsDescendantOf Device o) => DeviceK o
toDevice :: DeviceK o => o -> IO Device
toDevice = unsafeCastTo Device
noDevice :: Maybe Device
noDevice = Nothing
-- signal Device::changed
type DeviceChangedCallback =
IO ()
noDeviceChangedCallback :: Maybe DeviceChangedCallback
noDeviceChangedCallback = Nothing
type DeviceChangedCallbackC =
Ptr () -> -- object
Ptr () -> -- user_data
IO ()
foreign import ccall "wrapper"
mkDeviceChangedCallback :: DeviceChangedCallbackC -> IO (FunPtr DeviceChangedCallbackC)
deviceChangedClosure :: DeviceChangedCallback -> IO Closure
deviceChangedClosure cb = newCClosure =<< mkDeviceChangedCallback wrapped
where wrapped = deviceChangedCallbackWrapper cb
deviceChangedCallbackWrapper ::
DeviceChangedCallback ->
Ptr () ->
Ptr () ->
IO ()
deviceChangedCallbackWrapper _cb _ _ = do
_cb
onDeviceChanged :: (GObject a, MonadIO m) => a -> DeviceChangedCallback -> m SignalHandlerId
onDeviceChanged obj cb = liftIO $ connectDeviceChanged obj cb SignalConnectBefore
afterDeviceChanged :: (GObject a, MonadIO m) => a -> DeviceChangedCallback -> m SignalHandlerId
afterDeviceChanged obj cb = connectDeviceChanged obj cb SignalConnectAfter
connectDeviceChanged :: (GObject a, MonadIO m) =>
a -> DeviceChangedCallback -> SignalConnectMode -> m SignalHandlerId
connectDeviceChanged obj cb after = liftIO $ do
cb' <- mkDeviceChangedCallback (deviceChangedCallbackWrapper cb)
connectSignalFunPtr obj "changed" cb' after
-- VVV Prop "associated-device"
-- Type: TInterface "Gdk" "Device"
-- Flags: [PropertyReadable]
getDeviceAssociatedDevice :: (MonadIO m, DeviceK o) => o -> m Device
getDeviceAssociatedDevice obj = liftIO $ getObjectPropertyObject obj "associated-device" Device
data DeviceAssociatedDevicePropertyInfo
instance AttrInfo DeviceAssociatedDevicePropertyInfo where
type AttrAllowedOps DeviceAssociatedDevicePropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint DeviceAssociatedDevicePropertyInfo = (~) ()
type AttrBaseTypeConstraint DeviceAssociatedDevicePropertyInfo = DeviceK
type AttrGetType DeviceAssociatedDevicePropertyInfo = Device
type AttrLabel DeviceAssociatedDevicePropertyInfo = "Device::associated-device"
attrGet _ = getDeviceAssociatedDevice
attrSet _ = undefined
attrConstruct _ = undefined
-- VVV Prop "device-manager"
-- Type: TInterface "Gdk" "DeviceManager"
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getDeviceDeviceManager :: (MonadIO m, DeviceK o) => o -> m DeviceManager
getDeviceDeviceManager obj = liftIO $ getObjectPropertyObject obj "device-manager" DeviceManager
constructDeviceDeviceManager :: (DeviceManagerK a) => a -> IO ([Char], GValue)
constructDeviceDeviceManager val = constructObjectPropertyObject "device-manager" val
data DeviceDeviceManagerPropertyInfo
instance AttrInfo DeviceDeviceManagerPropertyInfo where
type AttrAllowedOps DeviceDeviceManagerPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint DeviceDeviceManagerPropertyInfo = DeviceManagerK
type AttrBaseTypeConstraint DeviceDeviceManagerPropertyInfo = DeviceK
type AttrGetType DeviceDeviceManagerPropertyInfo = DeviceManager
type AttrLabel DeviceDeviceManagerPropertyInfo = "Device::device-manager"
attrGet _ = getDeviceDeviceManager
attrSet _ = undefined
attrConstruct _ = constructDeviceDeviceManager
-- VVV Prop "display"
-- Type: TInterface "Gdk" "Display"
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getDeviceDisplay :: (MonadIO m, DeviceK o) => o -> m Display
getDeviceDisplay obj = liftIO $ getObjectPropertyObject obj "display" Display
constructDeviceDisplay :: (DisplayK a) => a -> IO ([Char], GValue)
constructDeviceDisplay val = constructObjectPropertyObject "display" val
data DeviceDisplayPropertyInfo
instance AttrInfo DeviceDisplayPropertyInfo where
type AttrAllowedOps DeviceDisplayPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint DeviceDisplayPropertyInfo = DisplayK
type AttrBaseTypeConstraint DeviceDisplayPropertyInfo = DeviceK
type AttrGetType DeviceDisplayPropertyInfo = Display
type AttrLabel DeviceDisplayPropertyInfo = "Device::display"
attrGet _ = getDeviceDisplay
attrSet _ = undefined
attrConstruct _ = constructDeviceDisplay
-- VVV Prop "has-cursor"
-- Type: TBasicType TBoolean
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getDeviceHasCursor :: (MonadIO m, DeviceK o) => o -> m Bool
getDeviceHasCursor obj = liftIO $ getObjectPropertyBool obj "has-cursor"
constructDeviceHasCursor :: Bool -> IO ([Char], GValue)
constructDeviceHasCursor val = constructObjectPropertyBool "has-cursor" val
data DeviceHasCursorPropertyInfo
instance AttrInfo DeviceHasCursorPropertyInfo where
type AttrAllowedOps DeviceHasCursorPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint DeviceHasCursorPropertyInfo = (~) Bool
type AttrBaseTypeConstraint DeviceHasCursorPropertyInfo = DeviceK
type AttrGetType DeviceHasCursorPropertyInfo = Bool
type AttrLabel DeviceHasCursorPropertyInfo = "Device::has-cursor"
attrGet _ = getDeviceHasCursor
attrSet _ = undefined
attrConstruct _ = constructDeviceHasCursor
-- VVV Prop "input-mode"
-- Type: TInterface "Gdk" "InputMode"
-- Flags: [PropertyReadable,PropertyWritable]
getDeviceInputMode :: (MonadIO m, DeviceK o) => o -> m InputMode
getDeviceInputMode obj = liftIO $ getObjectPropertyEnum obj "input-mode"
setDeviceInputMode :: (MonadIO m, DeviceK o) => o -> InputMode -> m ()
setDeviceInputMode obj val = liftIO $ setObjectPropertyEnum obj "input-mode" val
constructDeviceInputMode :: InputMode -> IO ([Char], GValue)
constructDeviceInputMode val = constructObjectPropertyEnum "input-mode" val
data DeviceInputModePropertyInfo
instance AttrInfo DeviceInputModePropertyInfo where
type AttrAllowedOps DeviceInputModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint DeviceInputModePropertyInfo = (~) InputMode
type AttrBaseTypeConstraint DeviceInputModePropertyInfo = DeviceK
type AttrGetType DeviceInputModePropertyInfo = InputMode
type AttrLabel DeviceInputModePropertyInfo = "Device::input-mode"
attrGet _ = getDeviceInputMode
attrSet _ = setDeviceInputMode
attrConstruct _ = constructDeviceInputMode
-- VVV Prop "input-source"
-- Type: TInterface "Gdk" "InputSource"
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getDeviceInputSource :: (MonadIO m, DeviceK o) => o -> m InputSource
getDeviceInputSource obj = liftIO $ getObjectPropertyEnum obj "input-source"
constructDeviceInputSource :: InputSource -> IO ([Char], GValue)
constructDeviceInputSource val = constructObjectPropertyEnum "input-source" val
data DeviceInputSourcePropertyInfo
instance AttrInfo DeviceInputSourcePropertyInfo where
type AttrAllowedOps DeviceInputSourcePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint DeviceInputSourcePropertyInfo = (~) InputSource
type AttrBaseTypeConstraint DeviceInputSourcePropertyInfo = DeviceK
type AttrGetType DeviceInputSourcePropertyInfo = InputSource
type AttrLabel DeviceInputSourcePropertyInfo = "Device::input-source"
attrGet _ = getDeviceInputSource
attrSet _ = undefined
attrConstruct _ = constructDeviceInputSource
-- VVV Prop "n-axes"
-- Type: TBasicType TUInt32
-- Flags: [PropertyReadable]
getDeviceNAxes :: (MonadIO m, DeviceK o) => o -> m Word32
getDeviceNAxes obj = liftIO $ getObjectPropertyCUInt obj "n-axes"
data DeviceNAxesPropertyInfo
instance AttrInfo DeviceNAxesPropertyInfo where
type AttrAllowedOps DeviceNAxesPropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint DeviceNAxesPropertyInfo = (~) ()
type AttrBaseTypeConstraint DeviceNAxesPropertyInfo = DeviceK
type AttrGetType DeviceNAxesPropertyInfo = Word32
type AttrLabel DeviceNAxesPropertyInfo = "Device::n-axes"
attrGet _ = getDeviceNAxes
attrSet _ = undefined
attrConstruct _ = undefined
-- VVV Prop "name"
-- Type: TBasicType TUTF8
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getDeviceName :: (MonadIO m, DeviceK o) => o -> m T.Text
getDeviceName obj = liftIO $ getObjectPropertyString obj "name"
constructDeviceName :: T.Text -> IO ([Char], GValue)
constructDeviceName val = constructObjectPropertyString "name" val
data DeviceNamePropertyInfo
instance AttrInfo DeviceNamePropertyInfo where
type AttrAllowedOps DeviceNamePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint DeviceNamePropertyInfo = (~) T.Text
type AttrBaseTypeConstraint DeviceNamePropertyInfo = DeviceK
type AttrGetType DeviceNamePropertyInfo = T.Text
type AttrLabel DeviceNamePropertyInfo = "Device::name"
attrGet _ = getDeviceName
attrSet _ = undefined
attrConstruct _ = constructDeviceName
-- VVV Prop "product-id"
-- Type: TBasicType TUTF8
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getDeviceProductId :: (MonadIO m, DeviceK o) => o -> m T.Text
getDeviceProductId obj = liftIO $ getObjectPropertyString obj "product-id"
constructDeviceProductId :: T.Text -> IO ([Char], GValue)
constructDeviceProductId val = constructObjectPropertyString "product-id" val
data DeviceProductIdPropertyInfo
instance AttrInfo DeviceProductIdPropertyInfo where
type AttrAllowedOps DeviceProductIdPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint DeviceProductIdPropertyInfo = (~) T.Text
type AttrBaseTypeConstraint DeviceProductIdPropertyInfo = DeviceK
type AttrGetType DeviceProductIdPropertyInfo = T.Text
type AttrLabel DeviceProductIdPropertyInfo = "Device::product-id"
attrGet _ = getDeviceProductId
attrSet _ = undefined
attrConstruct _ = constructDeviceProductId
-- VVV Prop "type"
-- Type: TInterface "Gdk" "DeviceType"
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getDeviceType :: (MonadIO m, DeviceK o) => o -> m DeviceType
getDeviceType obj = liftIO $ getObjectPropertyEnum obj "type"
constructDeviceType :: DeviceType -> IO ([Char], GValue)
constructDeviceType val = constructObjectPropertyEnum "type" val
data DeviceTypePropertyInfo
instance AttrInfo DeviceTypePropertyInfo where
type AttrAllowedOps DeviceTypePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint DeviceTypePropertyInfo = (~) DeviceType
type AttrBaseTypeConstraint DeviceTypePropertyInfo = DeviceK
type AttrGetType DeviceTypePropertyInfo = DeviceType
type AttrLabel DeviceTypePropertyInfo = "Device::type"
attrGet _ = getDeviceType
attrSet _ = undefined
attrConstruct _ = constructDeviceType
-- VVV Prop "vendor-id"
-- Type: TBasicType TUTF8
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getDeviceVendorId :: (MonadIO m, DeviceK o) => o -> m T.Text
getDeviceVendorId obj = liftIO $ getObjectPropertyString obj "vendor-id"
constructDeviceVendorId :: T.Text -> IO ([Char], GValue)
constructDeviceVendorId val = constructObjectPropertyString "vendor-id" val
data DeviceVendorIdPropertyInfo
instance AttrInfo DeviceVendorIdPropertyInfo where
type AttrAllowedOps DeviceVendorIdPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint DeviceVendorIdPropertyInfo = (~) T.Text
type AttrBaseTypeConstraint DeviceVendorIdPropertyInfo = DeviceK
type AttrGetType DeviceVendorIdPropertyInfo = T.Text
type AttrLabel DeviceVendorIdPropertyInfo = "Device::vendor-id"
attrGet _ = getDeviceVendorId
attrSet _ = undefined
attrConstruct _ = constructDeviceVendorId
type instance AttributeList Device = DeviceAttributeList
type DeviceAttributeList = ('[ '("associated-device", DeviceAssociatedDevicePropertyInfo), '("device-manager", DeviceDeviceManagerPropertyInfo), '("display", DeviceDisplayPropertyInfo), '("has-cursor", DeviceHasCursorPropertyInfo), '("input-mode", DeviceInputModePropertyInfo), '("input-source", DeviceInputSourcePropertyInfo), '("n-axes", DeviceNAxesPropertyInfo), '("name", DeviceNamePropertyInfo), '("product-id", DeviceProductIdPropertyInfo), '("type", DeviceTypePropertyInfo), '("vendor-id", DeviceVendorIdPropertyInfo)] :: [(Symbol, *)])
data DeviceChangedSignalInfo
instance SignalInfo DeviceChangedSignalInfo where
type HaskellCallbackType DeviceChangedSignalInfo = DeviceChangedCallback
connectSignal _ = connectDeviceChanged
type instance SignalList Device = DeviceSignalList
type DeviceSignalList = ('[ '("changed", DeviceChangedSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method Device::get_associated_device
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gdk" "Device"
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_get_associated_device" gdk_device_get_associated_device ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
IO (Ptr Device)
deviceGetAssociatedDevice ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
m Device
deviceGetAssociatedDevice _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gdk_device_get_associated_device _obj'
checkUnexpectedReturnNULL "gdk_device_get_associated_device" result
result' <- (newObject Device) result
touchManagedPtr _obj
return result'
-- method Device::get_axis_use
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gdk" "AxisUse"
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_get_axis_use" gdk_device_get_axis_use ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
Word32 -> -- index_ : TBasicType TUInt32
IO CUInt
deviceGetAxisUse ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
Word32 -> -- index_
m AxisUse
deviceGetAxisUse _obj index_ = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gdk_device_get_axis_use _obj' index_
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
-- method Device::get_device_type
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gdk" "DeviceType"
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_get_device_type" gdk_device_get_device_type ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
IO CUInt
deviceGetDeviceType ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
m DeviceType
deviceGetDeviceType _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gdk_device_get_device_type _obj'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
-- method Device::get_display
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gdk" "Display"
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_get_display" gdk_device_get_display ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
IO (Ptr Display)
deviceGetDisplay ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
m Display
deviceGetDisplay _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gdk_device_get_display _obj'
checkUnexpectedReturnNULL "gdk_device_get_display" result
result' <- (newObject Display) result
touchManagedPtr _obj
return result'
-- method Device::get_has_cursor
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_get_has_cursor" gdk_device_get_has_cursor ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
IO CInt
deviceGetHasCursor ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
m Bool
deviceGetHasCursor _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gdk_device_get_has_cursor _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
-- method Device::get_key
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_get_key" gdk_device_get_key ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
Word32 -> -- index_ : TBasicType TUInt32
Ptr Word32 -> -- keyval : TBasicType TUInt32
Ptr CUInt -> -- modifiers : TInterface "Gdk" "ModifierType"
IO CInt
deviceGetKey ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
Word32 -> -- index_
m (Bool,Word32,[ModifierType])
deviceGetKey _obj index_ = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
keyval <- allocMem :: IO (Ptr Word32)
modifiers <- allocMem :: IO (Ptr CUInt)
result <- gdk_device_get_key _obj' index_ keyval modifiers
let result' = (/= 0) result
keyval' <- peek keyval
modifiers' <- peek modifiers
let modifiers'' = wordToGFlags modifiers'
touchManagedPtr _obj
freeMem keyval
freeMem modifiers
return (result', keyval', modifiers'')
-- method Device::get_last_event_window
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gdk" "Window"
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_get_last_event_window" gdk_device_get_last_event_window ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
IO (Ptr Window)
deviceGetLastEventWindow ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
m Window
deviceGetLastEventWindow _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gdk_device_get_last_event_window _obj'
checkUnexpectedReturnNULL "gdk_device_get_last_event_window" result
result' <- (newObject Window) result
touchManagedPtr _obj
return result'
-- method Device::get_mode
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gdk" "InputMode"
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_get_mode" gdk_device_get_mode ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
IO CUInt
deviceGetMode ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
m InputMode
deviceGetMode _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gdk_device_get_mode _obj'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
-- method Device::get_n_axes
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_get_n_axes" gdk_device_get_n_axes ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
IO Int32
deviceGetNAxes ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
m Int32
deviceGetNAxes _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gdk_device_get_n_axes _obj'
touchManagedPtr _obj
return result
-- method Device::get_n_keys
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_get_n_keys" gdk_device_get_n_keys ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
IO Int32
deviceGetNKeys ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
m Int32
deviceGetNKeys _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gdk_device_get_n_keys _obj'
touchManagedPtr _obj
return result
-- method Device::get_name
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_get_name" gdk_device_get_name ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
IO CString
deviceGetName ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
m T.Text
deviceGetName _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gdk_device_get_name _obj'
checkUnexpectedReturnNULL "gdk_device_get_name" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
-- method Device::get_position
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_get_position" gdk_device_get_position ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
Ptr (Ptr Screen) -> -- screen : TInterface "Gdk" "Screen"
Ptr Int32 -> -- x : TBasicType TInt32
Ptr Int32 -> -- y : TBasicType TInt32
IO ()
deviceGetPosition ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
m (Screen,Int32,Int32)
deviceGetPosition _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
screen <- allocMem :: IO (Ptr (Ptr Screen))
x <- allocMem :: IO (Ptr Int32)
y <- allocMem :: IO (Ptr Int32)
gdk_device_get_position _obj' screen x y
screen' <- peek screen
screen'' <- (newObject Screen) screen'
x' <- peek x
y' <- peek y
touchManagedPtr _obj
freeMem screen
freeMem x
freeMem y
return (screen'', x', y')
-- method Device::get_position_double
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_get_position_double" gdk_device_get_position_double ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
Ptr (Ptr Screen) -> -- screen : TInterface "Gdk" "Screen"
Ptr CDouble -> -- x : TBasicType TDouble
Ptr CDouble -> -- y : TBasicType TDouble
IO ()
deviceGetPositionDouble ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
m (Screen,Double,Double)
deviceGetPositionDouble _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
screen <- allocMem :: IO (Ptr (Ptr Screen))
x <- allocMem :: IO (Ptr CDouble)
y <- allocMem :: IO (Ptr CDouble)
gdk_device_get_position_double _obj' screen x y
screen' <- peek screen
screen'' <- (newObject Screen) screen'
x' <- peek x
let x'' = realToFrac x'
y' <- peek y
let y'' = realToFrac y'
touchManagedPtr _obj
freeMem screen
freeMem x
freeMem y
return (screen'', x'', y'')
-- method Device::get_product_id
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_get_product_id" gdk_device_get_product_id ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
IO CString
deviceGetProductId ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
m T.Text
deviceGetProductId _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gdk_device_get_product_id _obj'
checkUnexpectedReturnNULL "gdk_device_get_product_id" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
-- method Device::get_source
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gdk" "InputSource"
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_get_source" gdk_device_get_source ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
IO CUInt
deviceGetSource ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
m InputSource
deviceGetSource _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gdk_device_get_source _obj'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
-- method Device::get_vendor_id
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_get_vendor_id" gdk_device_get_vendor_id ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
IO CString
deviceGetVendorId ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
m T.Text
deviceGetVendorId _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gdk_device_get_vendor_id _obj'
checkUnexpectedReturnNULL "gdk_device_get_vendor_id" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
-- method Device::get_window_at_position
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "win_x", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "win_y", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gdk" "Window"
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_get_window_at_position" gdk_device_get_window_at_position ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
Ptr Int32 -> -- win_x : TBasicType TInt32
Ptr Int32 -> -- win_y : TBasicType TInt32
IO (Ptr Window)
deviceGetWindowAtPosition ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
m (Window,Int32,Int32)
deviceGetWindowAtPosition _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
win_x <- allocMem :: IO (Ptr Int32)
win_y <- allocMem :: IO (Ptr Int32)
result <- gdk_device_get_window_at_position _obj' win_x win_y
checkUnexpectedReturnNULL "gdk_device_get_window_at_position" result
result' <- (newObject Window) result
win_x' <- peek win_x
win_y' <- peek win_y
touchManagedPtr _obj
freeMem win_x
freeMem win_y
return (result', win_x', win_y')
-- method Device::get_window_at_position_double
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "win_x", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "win_y", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gdk" "Window"
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_get_window_at_position_double" gdk_device_get_window_at_position_double ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
Ptr CDouble -> -- win_x : TBasicType TDouble
Ptr CDouble -> -- win_y : TBasicType TDouble
IO (Ptr Window)
deviceGetWindowAtPositionDouble ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
m (Window,Double,Double)
deviceGetWindowAtPositionDouble _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
win_x <- allocMem :: IO (Ptr CDouble)
win_y <- allocMem :: IO (Ptr CDouble)
result <- gdk_device_get_window_at_position_double _obj' win_x win_y
checkUnexpectedReturnNULL "gdk_device_get_window_at_position_double" result
result' <- (newObject Window) result
win_x' <- peek win_x
let win_x'' = realToFrac win_x'
win_y' <- peek win_y
let win_y'' = realToFrac win_y'
touchManagedPtr _obj
freeMem win_x
freeMem win_y
return (result', win_x'', win_y'')
-- method Device::grab
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "grab_ownership", argType = TInterface "Gdk" "GrabOwnership", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "window", argType = TInterface "Gdk" "Window", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "grab_ownership", argType = TInterface "Gdk" "GrabOwnership", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "event_mask", argType = TInterface "Gdk" "EventMask", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cursor", argType = TInterface "Gdk" "Cursor", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gdk" "GrabStatus"
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_grab" gdk_device_grab ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
Ptr Window -> -- window : TInterface "Gdk" "Window"
CUInt -> -- grab_ownership : TInterface "Gdk" "GrabOwnership"
CInt -> -- owner_events : TBasicType TBoolean
CUInt -> -- event_mask : TInterface "Gdk" "EventMask"
Ptr Cursor -> -- cursor : TInterface "Gdk" "Cursor"
Word32 -> -- time_ : TBasicType TUInt32
IO CUInt
deviceGrab ::
(MonadIO m, DeviceK a, WindowK b, CursorK c) =>
a -> -- _obj
b -> -- window
GrabOwnership -> -- grab_ownership
Bool -> -- owner_events
[EventMask] -> -- event_mask
Maybe (c) -> -- cursor
Word32 -> -- time_
m GrabStatus
deviceGrab _obj window grab_ownership owner_events event_mask cursor time_ = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let window' = unsafeManagedPtrCastPtr window
let grab_ownership' = (fromIntegral . fromEnum) grab_ownership
let owner_events' = (fromIntegral . fromEnum) owner_events
let event_mask' = gflagsToWord event_mask
maybeCursor <- case cursor of
Nothing -> return nullPtr
Just jCursor -> do
let jCursor' = unsafeManagedPtrCastPtr jCursor
return jCursor'
result <- gdk_device_grab _obj' window' grab_ownership' owner_events' event_mask' maybeCursor time_
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
touchManagedPtr window
whenJust cursor touchManagedPtr
return result'
-- method Device::list_axes
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TGList (TInterface "Gdk" "Atom")
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_list_axes" gdk_device_list_axes ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
IO (Ptr (GList (Ptr Atom)))
deviceListAxes ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
m [Atom]
deviceListAxes _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gdk_device_list_axes _obj'
checkUnexpectedReturnNULL "gdk_device_list_axes" result
-- XXX Wrapping a foreign struct/union with no known destructor, leak?
result' <- unpackGList result
result'' <- mapM (\x -> Atom <$> newForeignPtr_ x) result'
g_list_free result
touchManagedPtr _obj
return result''
-- method Device::list_slave_devices
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TGList (TInterface "Gdk" "Device")
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_list_slave_devices" gdk_device_list_slave_devices ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
IO (Ptr (GList (Ptr Device)))
deviceListSlaveDevices ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
m [Device]
deviceListSlaveDevices _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gdk_device_list_slave_devices _obj'
checkUnexpectedReturnNULL "gdk_device_list_slave_devices" result
result' <- unpackGList result
result'' <- mapM (newObject Device) result'
g_list_free result
touchManagedPtr _obj
return result''
-- method Device::set_axis_use
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "use", argType = TInterface "Gdk" "AxisUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "use", argType = TInterface "Gdk" "AxisUse", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_set_axis_use" gdk_device_set_axis_use ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
Word32 -> -- index_ : TBasicType TUInt32
CUInt -> -- use : TInterface "Gdk" "AxisUse"
IO ()
deviceSetAxisUse ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
Word32 -> -- index_
AxisUse -> -- use
m ()
deviceSetAxisUse _obj index_ use = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let use' = (fromIntegral . fromEnum) use
gdk_device_set_axis_use _obj' index_ use'
touchManagedPtr _obj
return ()
-- method Device::set_key
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "index_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keyval", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "modifiers", argType = TInterface "Gdk" "ModifierType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_set_key" gdk_device_set_key ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
Word32 -> -- index_ : TBasicType TUInt32
Word32 -> -- keyval : TBasicType TUInt32
CUInt -> -- modifiers : TInterface "Gdk" "ModifierType"
IO ()
deviceSetKey ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
Word32 -> -- index_
Word32 -> -- keyval
[ModifierType] -> -- modifiers
m ()
deviceSetKey _obj index_ keyval modifiers = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let modifiers' = gflagsToWord modifiers
gdk_device_set_key _obj' index_ keyval modifiers'
touchManagedPtr _obj
return ()
-- method Device::set_mode
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mode", argType = TInterface "Gdk" "InputMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "mode", argType = TInterface "Gdk" "InputMode", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_set_mode" gdk_device_set_mode ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
CUInt -> -- mode : TInterface "Gdk" "InputMode"
IO CInt
deviceSetMode ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
InputMode -> -- mode
m Bool
deviceSetMode _obj mode = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let mode' = (fromIntegral . fromEnum) mode
result <- gdk_device_set_mode _obj' mode'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
-- method Device::ungrab
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "time_", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_ungrab" gdk_device_ungrab ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
Word32 -> -- time_ : TBasicType TUInt32
IO ()
deviceUngrab ::
(MonadIO m, DeviceK a) =>
a -> -- _obj
Word32 -> -- time_
m ()
deviceUngrab _obj time_ = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gdk_device_ungrab _obj' time_
touchManagedPtr _obj
return ()
-- method Device::warp
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screen", argType = TInterface "Gdk" "Screen", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "x", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "y", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_warp" gdk_device_warp ::
Ptr Device -> -- _obj : TInterface "Gdk" "Device"
Ptr Screen -> -- screen : TInterface "Gdk" "Screen"
Int32 -> -- x : TBasicType TInt32
Int32 -> -- y : TBasicType TInt32
IO ()
deviceWarp ::
(MonadIO m, DeviceK a, ScreenK b) =>
a -> -- _obj
b -> -- screen
Int32 -> -- x
Int32 -> -- y
m ()
deviceWarp _obj screen x y = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let screen' = unsafeManagedPtrCastPtr screen
gdk_device_warp _obj' screen' x y
touchManagedPtr _obj
touchManagedPtr screen
return ()
-- method Device::grab_info_libgtk_only
-- method type : MemberFunction
-- Args : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "grab_window", argType = TInterface "Gdk" "Window", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "owner_events", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
-- Lengths : []
-- hInArgs : [Arg {argName = "display", argType = TInterface "Gdk" "Display", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "device", argType = TInterface "Gdk" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gdk_device_grab_info_libgtk_only" gdk_device_grab_info_libgtk_only ::
Ptr Display -> -- display : TInterface "Gdk" "Display"
Ptr Device -> -- device : TInterface "Gdk" "Device"
Ptr (Ptr Window) -> -- grab_window : TInterface "Gdk" "Window"
Ptr CInt -> -- owner_events : TBasicType TBoolean
IO CInt
{-# DEPRECATED deviceGrabInfoLibgtkOnly ["(Since version 3.16)","The symbol was never meant to be used outside"," of GTK+"]#-}
deviceGrabInfoLibgtkOnly ::
(MonadIO m, DisplayK a, DeviceK b) =>
a -> -- display
b -> -- device
m (Bool,Window,Bool)
deviceGrabInfoLibgtkOnly display device = liftIO $ do
let display' = unsafeManagedPtrCastPtr display
let device' = unsafeManagedPtrCastPtr device
grab_window <- allocMem :: IO (Ptr (Ptr Window))
owner_events <- allocMem :: IO (Ptr CInt)
result <- gdk_device_grab_info_libgtk_only display' device' grab_window owner_events
let result' = (/= 0) result
grab_window' <- peek grab_window
grab_window'' <- (newObject Window) grab_window'
owner_events' <- peek owner_events
let owner_events'' = (/= 0) owner_events'
touchManagedPtr display
touchManagedPtr device
freeMem grab_window
freeMem owner_events
return (result', grab_window'', owner_events'')