{- |
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.WebKit.Objects.DOMTouch
    ( 

-- * Exported types
    DOMTouch(..)                            ,
    DOMTouchK                               ,
    toDOMTouch                              ,
    noDOMTouch                              ,


 -- * Methods
-- ** dOMTouchGetClientX
    dOMTouchGetClientX                      ,


-- ** dOMTouchGetClientY
    dOMTouchGetClientY                      ,


-- ** dOMTouchGetIdentifier
    dOMTouchGetIdentifier                   ,


-- ** dOMTouchGetPageX
    dOMTouchGetPageX                        ,


-- ** dOMTouchGetPageY
    dOMTouchGetPageY                        ,


-- ** dOMTouchGetScreenX
    dOMTouchGetScreenX                      ,


-- ** dOMTouchGetScreenY
    dOMTouchGetScreenY                      ,


-- ** dOMTouchGetTarget
    dOMTouchGetTarget                       ,


-- ** dOMTouchGetWebkitForce
    dOMTouchGetWebkitForce                  ,


-- ** dOMTouchGetWebkitRadiusX
    dOMTouchGetWebkitRadiusX                ,


-- ** dOMTouchGetWebkitRadiusY
    dOMTouchGetWebkitRadiusY                ,


-- ** dOMTouchGetWebkitRotationAngle
    dOMTouchGetWebkitRotationAngle          ,




 -- * Properties
-- ** ClientX
    DOMTouchClientXPropertyInfo             ,
    getDOMTouchClientX                      ,


-- ** ClientY
    DOMTouchClientYPropertyInfo             ,
    getDOMTouchClientY                      ,


-- ** Identifier
    DOMTouchIdentifierPropertyInfo          ,
    getDOMTouchIdentifier                   ,


-- ** PageX
    DOMTouchPageXPropertyInfo               ,
    getDOMTouchPageX                        ,


-- ** PageY
    DOMTouchPageYPropertyInfo               ,
    getDOMTouchPageY                        ,


-- ** ScreenX
    DOMTouchScreenXPropertyInfo             ,
    getDOMTouchScreenX                      ,


-- ** ScreenY
    DOMTouchScreenYPropertyInfo             ,
    getDOMTouchScreenY                      ,


-- ** Target
    DOMTouchTargetPropertyInfo              ,
    getDOMTouchTarget                       ,


-- ** WebkitForce
    DOMTouchWebkitForcePropertyInfo         ,
    getDOMTouchWebkitForce                  ,


-- ** WebkitRadiusX
    DOMTouchWebkitRadiusXPropertyInfo       ,
    getDOMTouchWebkitRadiusX                ,


-- ** WebkitRadiusY
    DOMTouchWebkitRadiusYPropertyInfo       ,
    getDOMTouchWebkitRadiusY                ,


-- ** WebkitRotationAngle
    DOMTouchWebkitRotationAnglePropertyInfo ,
    getDOMTouchWebkitRotationAngle          ,




    ) 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.WebKit.Types
import GI.WebKit.Callbacks
import qualified GI.GObject as GObject

newtype DOMTouch = DOMTouch (ForeignPtr DOMTouch)
foreign import ccall "webkit_dom_touch_get_type"
    c_webkit_dom_touch_get_type :: IO GType

type instance ParentTypes DOMTouch = DOMTouchParentTypes
type DOMTouchParentTypes = '[DOMObject, GObject.Object]

instance GObject DOMTouch where
    gobjectIsInitiallyUnowned _ = False
    gobjectType _ = c_webkit_dom_touch_get_type
    

class GObject o => DOMTouchK o
instance (GObject o, IsDescendantOf DOMTouch o) => DOMTouchK o

toDOMTouch :: DOMTouchK o => o -> IO DOMTouch
toDOMTouch = unsafeCastTo DOMTouch

noDOMTouch :: Maybe DOMTouch
noDOMTouch = Nothing

-- VVV Prop "client-x"
   -- Type: TBasicType TInt64
   -- Flags: [PropertyReadable]

getDOMTouchClientX :: (MonadIO m, DOMTouchK o) => o -> m Int64
getDOMTouchClientX obj = liftIO $ getObjectPropertyInt64 obj "client-x"

data DOMTouchClientXPropertyInfo
instance AttrInfo DOMTouchClientXPropertyInfo where
    type AttrAllowedOps DOMTouchClientXPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMTouchClientXPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMTouchClientXPropertyInfo = DOMTouchK
    type AttrGetType DOMTouchClientXPropertyInfo = Int64
    type AttrLabel DOMTouchClientXPropertyInfo = "DOMTouch::client-x"
    attrGet _ = getDOMTouchClientX
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "client-y"
   -- Type: TBasicType TInt64
   -- Flags: [PropertyReadable]

getDOMTouchClientY :: (MonadIO m, DOMTouchK o) => o -> m Int64
getDOMTouchClientY obj = liftIO $ getObjectPropertyInt64 obj "client-y"

data DOMTouchClientYPropertyInfo
instance AttrInfo DOMTouchClientYPropertyInfo where
    type AttrAllowedOps DOMTouchClientYPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMTouchClientYPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMTouchClientYPropertyInfo = DOMTouchK
    type AttrGetType DOMTouchClientYPropertyInfo = Int64
    type AttrLabel DOMTouchClientYPropertyInfo = "DOMTouch::client-y"
    attrGet _ = getDOMTouchClientY
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "identifier"
   -- Type: TBasicType TUInt64
   -- Flags: [PropertyReadable]

getDOMTouchIdentifier :: (MonadIO m, DOMTouchK o) => o -> m Word64
getDOMTouchIdentifier obj = liftIO $ getObjectPropertyUInt64 obj "identifier"

data DOMTouchIdentifierPropertyInfo
instance AttrInfo DOMTouchIdentifierPropertyInfo where
    type AttrAllowedOps DOMTouchIdentifierPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMTouchIdentifierPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMTouchIdentifierPropertyInfo = DOMTouchK
    type AttrGetType DOMTouchIdentifierPropertyInfo = Word64
    type AttrLabel DOMTouchIdentifierPropertyInfo = "DOMTouch::identifier"
    attrGet _ = getDOMTouchIdentifier
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "page-x"
   -- Type: TBasicType TInt64
   -- Flags: [PropertyReadable]

getDOMTouchPageX :: (MonadIO m, DOMTouchK o) => o -> m Int64
getDOMTouchPageX obj = liftIO $ getObjectPropertyInt64 obj "page-x"

data DOMTouchPageXPropertyInfo
instance AttrInfo DOMTouchPageXPropertyInfo where
    type AttrAllowedOps DOMTouchPageXPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMTouchPageXPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMTouchPageXPropertyInfo = DOMTouchK
    type AttrGetType DOMTouchPageXPropertyInfo = Int64
    type AttrLabel DOMTouchPageXPropertyInfo = "DOMTouch::page-x"
    attrGet _ = getDOMTouchPageX
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "page-y"
   -- Type: TBasicType TInt64
   -- Flags: [PropertyReadable]

getDOMTouchPageY :: (MonadIO m, DOMTouchK o) => o -> m Int64
getDOMTouchPageY obj = liftIO $ getObjectPropertyInt64 obj "page-y"

data DOMTouchPageYPropertyInfo
instance AttrInfo DOMTouchPageYPropertyInfo where
    type AttrAllowedOps DOMTouchPageYPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMTouchPageYPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMTouchPageYPropertyInfo = DOMTouchK
    type AttrGetType DOMTouchPageYPropertyInfo = Int64
    type AttrLabel DOMTouchPageYPropertyInfo = "DOMTouch::page-y"
    attrGet _ = getDOMTouchPageY
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "screen-x"
   -- Type: TBasicType TInt64
   -- Flags: [PropertyReadable]

getDOMTouchScreenX :: (MonadIO m, DOMTouchK o) => o -> m Int64
getDOMTouchScreenX obj = liftIO $ getObjectPropertyInt64 obj "screen-x"

data DOMTouchScreenXPropertyInfo
instance AttrInfo DOMTouchScreenXPropertyInfo where
    type AttrAllowedOps DOMTouchScreenXPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMTouchScreenXPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMTouchScreenXPropertyInfo = DOMTouchK
    type AttrGetType DOMTouchScreenXPropertyInfo = Int64
    type AttrLabel DOMTouchScreenXPropertyInfo = "DOMTouch::screen-x"
    attrGet _ = getDOMTouchScreenX
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "screen-y"
   -- Type: TBasicType TInt64
   -- Flags: [PropertyReadable]

getDOMTouchScreenY :: (MonadIO m, DOMTouchK o) => o -> m Int64
getDOMTouchScreenY obj = liftIO $ getObjectPropertyInt64 obj "screen-y"

data DOMTouchScreenYPropertyInfo
instance AttrInfo DOMTouchScreenYPropertyInfo where
    type AttrAllowedOps DOMTouchScreenYPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMTouchScreenYPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMTouchScreenYPropertyInfo = DOMTouchK
    type AttrGetType DOMTouchScreenYPropertyInfo = Int64
    type AttrLabel DOMTouchScreenYPropertyInfo = "DOMTouch::screen-y"
    attrGet _ = getDOMTouchScreenY
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "target"
   -- Type: TInterface "WebKit" "DOMEventTarget"
   -- Flags: [PropertyReadable]

getDOMTouchTarget :: (MonadIO m, DOMTouchK o) => o -> m DOMEventTarget
getDOMTouchTarget obj = liftIO $ getObjectPropertyObject obj "target" DOMEventTarget

data DOMTouchTargetPropertyInfo
instance AttrInfo DOMTouchTargetPropertyInfo where
    type AttrAllowedOps DOMTouchTargetPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMTouchTargetPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMTouchTargetPropertyInfo = DOMTouchK
    type AttrGetType DOMTouchTargetPropertyInfo = DOMEventTarget
    type AttrLabel DOMTouchTargetPropertyInfo = "DOMTouch::target"
    attrGet _ = getDOMTouchTarget
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "webkit-force"
   -- Type: TBasicType TFloat
   -- Flags: [PropertyReadable]

getDOMTouchWebkitForce :: (MonadIO m, DOMTouchK o) => o -> m Float
getDOMTouchWebkitForce obj = liftIO $ getObjectPropertyFloat obj "webkit-force"

data DOMTouchWebkitForcePropertyInfo
instance AttrInfo DOMTouchWebkitForcePropertyInfo where
    type AttrAllowedOps DOMTouchWebkitForcePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMTouchWebkitForcePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMTouchWebkitForcePropertyInfo = DOMTouchK
    type AttrGetType DOMTouchWebkitForcePropertyInfo = Float
    type AttrLabel DOMTouchWebkitForcePropertyInfo = "DOMTouch::webkit-force"
    attrGet _ = getDOMTouchWebkitForce
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "webkit-radius-x"
   -- Type: TBasicType TInt64
   -- Flags: [PropertyReadable]

getDOMTouchWebkitRadiusX :: (MonadIO m, DOMTouchK o) => o -> m Int64
getDOMTouchWebkitRadiusX obj = liftIO $ getObjectPropertyInt64 obj "webkit-radius-x"

data DOMTouchWebkitRadiusXPropertyInfo
instance AttrInfo DOMTouchWebkitRadiusXPropertyInfo where
    type AttrAllowedOps DOMTouchWebkitRadiusXPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMTouchWebkitRadiusXPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMTouchWebkitRadiusXPropertyInfo = DOMTouchK
    type AttrGetType DOMTouchWebkitRadiusXPropertyInfo = Int64
    type AttrLabel DOMTouchWebkitRadiusXPropertyInfo = "DOMTouch::webkit-radius-x"
    attrGet _ = getDOMTouchWebkitRadiusX
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "webkit-radius-y"
   -- Type: TBasicType TInt64
   -- Flags: [PropertyReadable]

getDOMTouchWebkitRadiusY :: (MonadIO m, DOMTouchK o) => o -> m Int64
getDOMTouchWebkitRadiusY obj = liftIO $ getObjectPropertyInt64 obj "webkit-radius-y"

data DOMTouchWebkitRadiusYPropertyInfo
instance AttrInfo DOMTouchWebkitRadiusYPropertyInfo where
    type AttrAllowedOps DOMTouchWebkitRadiusYPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMTouchWebkitRadiusYPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMTouchWebkitRadiusYPropertyInfo = DOMTouchK
    type AttrGetType DOMTouchWebkitRadiusYPropertyInfo = Int64
    type AttrLabel DOMTouchWebkitRadiusYPropertyInfo = "DOMTouch::webkit-radius-y"
    attrGet _ = getDOMTouchWebkitRadiusY
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "webkit-rotation-angle"
   -- Type: TBasicType TFloat
   -- Flags: [PropertyReadable]

getDOMTouchWebkitRotationAngle :: (MonadIO m, DOMTouchK o) => o -> m Float
getDOMTouchWebkitRotationAngle obj = liftIO $ getObjectPropertyFloat obj "webkit-rotation-angle"

data DOMTouchWebkitRotationAnglePropertyInfo
instance AttrInfo DOMTouchWebkitRotationAnglePropertyInfo where
    type AttrAllowedOps DOMTouchWebkitRotationAnglePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMTouchWebkitRotationAnglePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMTouchWebkitRotationAnglePropertyInfo = DOMTouchK
    type AttrGetType DOMTouchWebkitRotationAnglePropertyInfo = Float
    type AttrLabel DOMTouchWebkitRotationAnglePropertyInfo = "DOMTouch::webkit-rotation-angle"
    attrGet _ = getDOMTouchWebkitRotationAngle
    attrSet _ = undefined
    attrConstruct _ = undefined

type instance AttributeList DOMTouch = DOMTouchAttributeList
type DOMTouchAttributeList = ('[ '("client-x", DOMTouchClientXPropertyInfo), '("client-y", DOMTouchClientYPropertyInfo), '("core-object", DOMObjectCoreObjectPropertyInfo), '("identifier", DOMTouchIdentifierPropertyInfo), '("page-x", DOMTouchPageXPropertyInfo), '("page-y", DOMTouchPageYPropertyInfo), '("screen-x", DOMTouchScreenXPropertyInfo), '("screen-y", DOMTouchScreenYPropertyInfo), '("target", DOMTouchTargetPropertyInfo), '("webkit-force", DOMTouchWebkitForcePropertyInfo), '("webkit-radius-x", DOMTouchWebkitRadiusXPropertyInfo), '("webkit-radius-y", DOMTouchWebkitRadiusYPropertyInfo), '("webkit-rotation-angle", DOMTouchWebkitRotationAnglePropertyInfo)] :: [(Symbol, *)])

type instance SignalList DOMTouch = DOMTouchSignalList
type DOMTouchSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])

-- method DOMTouch::get_client_x
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_touch_get_client_x" webkit_dom_touch_get_client_x :: 
    Ptr DOMTouch ->                         -- _obj : TInterface "WebKit" "DOMTouch"
    IO Int64


dOMTouchGetClientX ::
    (MonadIO m, DOMTouchK a) =>
    a ->                                    -- _obj
    m Int64
dOMTouchGetClientX _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_touch_get_client_x _obj'
    touchManagedPtr _obj
    return result

-- method DOMTouch::get_client_y
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_touch_get_client_y" webkit_dom_touch_get_client_y :: 
    Ptr DOMTouch ->                         -- _obj : TInterface "WebKit" "DOMTouch"
    IO Int64


dOMTouchGetClientY ::
    (MonadIO m, DOMTouchK a) =>
    a ->                                    -- _obj
    m Int64
dOMTouchGetClientY _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_touch_get_client_y _obj'
    touchManagedPtr _obj
    return result

-- method DOMTouch::get_identifier
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_touch_get_identifier" webkit_dom_touch_get_identifier :: 
    Ptr DOMTouch ->                         -- _obj : TInterface "WebKit" "DOMTouch"
    IO Word64


dOMTouchGetIdentifier ::
    (MonadIO m, DOMTouchK a) =>
    a ->                                    -- _obj
    m Word64
dOMTouchGetIdentifier _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_touch_get_identifier _obj'
    touchManagedPtr _obj
    return result

-- method DOMTouch::get_page_x
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_touch_get_page_x" webkit_dom_touch_get_page_x :: 
    Ptr DOMTouch ->                         -- _obj : TInterface "WebKit" "DOMTouch"
    IO Int64


dOMTouchGetPageX ::
    (MonadIO m, DOMTouchK a) =>
    a ->                                    -- _obj
    m Int64
dOMTouchGetPageX _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_touch_get_page_x _obj'
    touchManagedPtr _obj
    return result

-- method DOMTouch::get_page_y
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_touch_get_page_y" webkit_dom_touch_get_page_y :: 
    Ptr DOMTouch ->                         -- _obj : TInterface "WebKit" "DOMTouch"
    IO Int64


dOMTouchGetPageY ::
    (MonadIO m, DOMTouchK a) =>
    a ->                                    -- _obj
    m Int64
dOMTouchGetPageY _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_touch_get_page_y _obj'
    touchManagedPtr _obj
    return result

-- method DOMTouch::get_screen_x
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_touch_get_screen_x" webkit_dom_touch_get_screen_x :: 
    Ptr DOMTouch ->                         -- _obj : TInterface "WebKit" "DOMTouch"
    IO Int64


dOMTouchGetScreenX ::
    (MonadIO m, DOMTouchK a) =>
    a ->                                    -- _obj
    m Int64
dOMTouchGetScreenX _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_touch_get_screen_x _obj'
    touchManagedPtr _obj
    return result

-- method DOMTouch::get_screen_y
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_touch_get_screen_y" webkit_dom_touch_get_screen_y :: 
    Ptr DOMTouch ->                         -- _obj : TInterface "WebKit" "DOMTouch"
    IO Int64


dOMTouchGetScreenY ::
    (MonadIO m, DOMTouchK a) =>
    a ->                                    -- _obj
    m Int64
dOMTouchGetScreenY _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_touch_get_screen_y _obj'
    touchManagedPtr _obj
    return result

-- method DOMTouch::get_target
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMEventTarget"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_touch_get_target" webkit_dom_touch_get_target :: 
    Ptr DOMTouch ->                         -- _obj : TInterface "WebKit" "DOMTouch"
    IO (Ptr DOMEventTarget)


dOMTouchGetTarget ::
    (MonadIO m, DOMTouchK a) =>
    a ->                                    -- _obj
    m DOMEventTarget
dOMTouchGetTarget _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_touch_get_target _obj'
    checkUnexpectedReturnNULL "webkit_dom_touch_get_target" result
    result' <- (wrapObject DOMEventTarget) result
    touchManagedPtr _obj
    return result'

-- method DOMTouch::get_webkit_force
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TFloat
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_touch_get_webkit_force" webkit_dom_touch_get_webkit_force :: 
    Ptr DOMTouch ->                         -- _obj : TInterface "WebKit" "DOMTouch"
    IO CFloat


dOMTouchGetWebkitForce ::
    (MonadIO m, DOMTouchK a) =>
    a ->                                    -- _obj
    m Float
dOMTouchGetWebkitForce _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_touch_get_webkit_force _obj'
    let result' = realToFrac result
    touchManagedPtr _obj
    return result'

-- method DOMTouch::get_webkit_radius_x
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_touch_get_webkit_radius_x" webkit_dom_touch_get_webkit_radius_x :: 
    Ptr DOMTouch ->                         -- _obj : TInterface "WebKit" "DOMTouch"
    IO Int64


dOMTouchGetWebkitRadiusX ::
    (MonadIO m, DOMTouchK a) =>
    a ->                                    -- _obj
    m Int64
dOMTouchGetWebkitRadiusX _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_touch_get_webkit_radius_x _obj'
    touchManagedPtr _obj
    return result

-- method DOMTouch::get_webkit_radius_y
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_touch_get_webkit_radius_y" webkit_dom_touch_get_webkit_radius_y :: 
    Ptr DOMTouch ->                         -- _obj : TInterface "WebKit" "DOMTouch"
    IO Int64


dOMTouchGetWebkitRadiusY ::
    (MonadIO m, DOMTouchK a) =>
    a ->                                    -- _obj
    m Int64
dOMTouchGetWebkitRadiusY _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_touch_get_webkit_radius_y _obj'
    touchManagedPtr _obj
    return result

-- method DOMTouch::get_webkit_rotation_angle
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMTouch", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TFloat
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_touch_get_webkit_rotation_angle" webkit_dom_touch_get_webkit_rotation_angle :: 
    Ptr DOMTouch ->                         -- _obj : TInterface "WebKit" "DOMTouch"
    IO CFloat


dOMTouchGetWebkitRotationAngle ::
    (MonadIO m, DOMTouchK a) =>
    a ->                                    -- _obj
    m Float
dOMTouchGetWebkitRotationAngle _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_touch_get_webkit_rotation_angle _obj'
    let result' = realToFrac result
    touchManagedPtr _obj
    return result'