{- |
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(..)                            ,
    IsDOMTouch                              ,
    toDOMTouch                              ,
    noDOMTouch                              ,


 -- * Methods
-- ** getClientX #method:getClientX#
    DOMTouchGetClientXMethodInfo            ,
    dOMTouchGetClientX                      ,


-- ** getClientY #method:getClientY#
    DOMTouchGetClientYMethodInfo            ,
    dOMTouchGetClientY                      ,


-- ** getIdentifier #method:getIdentifier#
    DOMTouchGetIdentifierMethodInfo         ,
    dOMTouchGetIdentifier                   ,


-- ** getPageX #method:getPageX#
    DOMTouchGetPageXMethodInfo              ,
    dOMTouchGetPageX                        ,


-- ** getPageY #method:getPageY#
    DOMTouchGetPageYMethodInfo              ,
    dOMTouchGetPageY                        ,


-- ** getScreenX #method:getScreenX#
    DOMTouchGetScreenXMethodInfo            ,
    dOMTouchGetScreenX                      ,


-- ** getScreenY #method:getScreenY#
    DOMTouchGetScreenYMethodInfo            ,
    dOMTouchGetScreenY                      ,


-- ** getTarget #method:getTarget#
    DOMTouchGetTargetMethodInfo             ,
    dOMTouchGetTarget                       ,


-- ** getWebkitForce #method:getWebkitForce#
    DOMTouchGetWebkitForceMethodInfo        ,
    dOMTouchGetWebkitForce                  ,


-- ** getWebkitRadiusX #method:getWebkitRadiusX#
    DOMTouchGetWebkitRadiusXMethodInfo      ,
    dOMTouchGetWebkitRadiusX                ,


-- ** getWebkitRadiusY #method:getWebkitRadiusY#
    DOMTouchGetWebkitRadiusYMethodInfo      ,
    dOMTouchGetWebkitRadiusY                ,


-- ** getWebkitRotationAngle #method:getWebkitRotationAngle#
    DOMTouchGetWebkitRotationAngleMethodInfo,
    dOMTouchGetWebkitRotationAngle          ,




 -- * Properties
-- ** clientX #attr:clientX#
    DOMTouchClientXPropertyInfo             ,
    dOMTouchClientX                         ,
    getDOMTouchClientX                      ,


-- ** clientY #attr:clientY#
    DOMTouchClientYPropertyInfo             ,
    dOMTouchClientY                         ,
    getDOMTouchClientY                      ,


-- ** identifier #attr:identifier#
    DOMTouchIdentifierPropertyInfo          ,
    dOMTouchIdentifier                      ,
    getDOMTouchIdentifier                   ,


-- ** pageX #attr:pageX#
    DOMTouchPageXPropertyInfo               ,
    dOMTouchPageX                           ,
    getDOMTouchPageX                        ,


-- ** pageY #attr:pageY#
    DOMTouchPageYPropertyInfo               ,
    dOMTouchPageY                           ,
    getDOMTouchPageY                        ,


-- ** screenX #attr:screenX#
    DOMTouchScreenXPropertyInfo             ,
    dOMTouchScreenX                         ,
    getDOMTouchScreenX                      ,


-- ** screenY #attr:screenY#
    DOMTouchScreenYPropertyInfo             ,
    dOMTouchScreenY                         ,
    getDOMTouchScreenY                      ,


-- ** target #attr:target#
    DOMTouchTargetPropertyInfo              ,
    dOMTouchTarget                          ,
    getDOMTouchTarget                       ,


-- ** webkitForce #attr:webkitForce#
    DOMTouchWebkitForcePropertyInfo         ,
    dOMTouchWebkitForce                     ,
    getDOMTouchWebkitForce                  ,


-- ** webkitRadiusX #attr:webkitRadiusX#
    DOMTouchWebkitRadiusXPropertyInfo       ,
    dOMTouchWebkitRadiusX                   ,
    getDOMTouchWebkitRadiusX                ,


-- ** webkitRadiusY #attr:webkitRadiusY#
    DOMTouchWebkitRadiusYPropertyInfo       ,
    dOMTouchWebkitRadiusY                   ,
    getDOMTouchWebkitRadiusY                ,


-- ** webkitRotationAngle #attr:webkitRotationAngle#
    DOMTouchWebkitRotationAnglePropertyInfo ,
    dOMTouchWebkitRotationAngle             ,
    getDOMTouchWebkitRotationAngle          ,




    ) 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.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP

import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.WebKit.Interfaces.DOMEventTarget as WebKit.DOMEventTarget
import {-# SOURCE #-} qualified GI.WebKit.Objects.DOMObject as WebKit.DOMObject

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

instance GObject DOMTouch where
    gobjectType _ = c_webkit_dom_touch_get_type
    

class GObject o => IsDOMTouch o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError DOMTouch a) =>
    IsDOMTouch a
#endif
instance IsDOMTouch DOMTouch
instance WebKit.DOMObject.IsDOMObject DOMTouch
instance GObject.Object.IsObject DOMTouch

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

noDOMTouch :: Maybe DOMTouch
noDOMTouch = Nothing

type family ResolveDOMTouchMethod (t :: Symbol) (o :: *) :: * where
    ResolveDOMTouchMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveDOMTouchMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveDOMTouchMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveDOMTouchMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveDOMTouchMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveDOMTouchMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveDOMTouchMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveDOMTouchMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveDOMTouchMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveDOMTouchMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
    ResolveDOMTouchMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
    ResolveDOMTouchMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveDOMTouchMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveDOMTouchMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveDOMTouchMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveDOMTouchMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveDOMTouchMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveDOMTouchMethod "getClientX" o = DOMTouchGetClientXMethodInfo
    ResolveDOMTouchMethod "getClientY" o = DOMTouchGetClientYMethodInfo
    ResolveDOMTouchMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveDOMTouchMethod "getIdentifier" o = DOMTouchGetIdentifierMethodInfo
    ResolveDOMTouchMethod "getPageX" o = DOMTouchGetPageXMethodInfo
    ResolveDOMTouchMethod "getPageY" o = DOMTouchGetPageYMethodInfo
    ResolveDOMTouchMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveDOMTouchMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveDOMTouchMethod "getScreenX" o = DOMTouchGetScreenXMethodInfo
    ResolveDOMTouchMethod "getScreenY" o = DOMTouchGetScreenYMethodInfo
    ResolveDOMTouchMethod "getTarget" o = DOMTouchGetTargetMethodInfo
    ResolveDOMTouchMethod "getWebkitForce" o = DOMTouchGetWebkitForceMethodInfo
    ResolveDOMTouchMethod "getWebkitRadiusX" o = DOMTouchGetWebkitRadiusXMethodInfo
    ResolveDOMTouchMethod "getWebkitRadiusY" o = DOMTouchGetWebkitRadiusYMethodInfo
    ResolveDOMTouchMethod "getWebkitRotationAngle" o = DOMTouchGetWebkitRotationAngleMethodInfo
    ResolveDOMTouchMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveDOMTouchMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveDOMTouchMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveDOMTouchMethod t DOMTouch, O.MethodInfo info DOMTouch p) => O.IsLabelProxy t (DOMTouch -> p) where
    fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)

#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveDOMTouchMethod t DOMTouch, O.MethodInfo info DOMTouch p) => O.IsLabel t (DOMTouch -> p) where
    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif

-- VVV Prop "client-x"
   -- Type: TBasicType TLong
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMTouchClientX :: (MonadIO m, IsDOMTouch o) => o -> m CLong
getDOMTouchClientX obj = liftIO $ getObjectPropertyLong obj "client-x"

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

-- VVV Prop "client-y"
   -- Type: TBasicType TLong
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMTouchClientY :: (MonadIO m, IsDOMTouch o) => o -> m CLong
getDOMTouchClientY obj = liftIO $ getObjectPropertyLong obj "client-y"

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

-- VVV Prop "identifier"
   -- Type: TBasicType TULong
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMTouchIdentifier :: (MonadIO m, IsDOMTouch o) => o -> m CULong
getDOMTouchIdentifier obj = liftIO $ getObjectPropertyULong obj "identifier"

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

-- VVV Prop "page-x"
   -- Type: TBasicType TLong
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMTouchPageX :: (MonadIO m, IsDOMTouch o) => o -> m CLong
getDOMTouchPageX obj = liftIO $ getObjectPropertyLong obj "page-x"

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

-- VVV Prop "page-y"
   -- Type: TBasicType TLong
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMTouchPageY :: (MonadIO m, IsDOMTouch o) => o -> m CLong
getDOMTouchPageY obj = liftIO $ getObjectPropertyLong obj "page-y"

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

-- VVV Prop "screen-x"
   -- Type: TBasicType TLong
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMTouchScreenX :: (MonadIO m, IsDOMTouch o) => o -> m CLong
getDOMTouchScreenX obj = liftIO $ getObjectPropertyLong obj "screen-x"

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

-- VVV Prop "screen-y"
   -- Type: TBasicType TLong
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMTouchScreenY :: (MonadIO m, IsDOMTouch o) => o -> m CLong
getDOMTouchScreenY obj = liftIO $ getObjectPropertyLong obj "screen-y"

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

-- VVV Prop "target"
   -- Type: TInterface (Name {namespace = "WebKit", name = "DOMEventTarget"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMTouchTarget :: (MonadIO m, IsDOMTouch o) => o -> m (Maybe WebKit.DOMEventTarget.DOMEventTarget)
getDOMTouchTarget obj = liftIO $ getObjectPropertyObject obj "target" WebKit.DOMEventTarget.DOMEventTarget

data DOMTouchTargetPropertyInfo
instance AttrInfo DOMTouchTargetPropertyInfo where
    type AttrAllowedOps DOMTouchTargetPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMTouchTargetPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMTouchTargetPropertyInfo = IsDOMTouch
    type AttrGetType DOMTouchTargetPropertyInfo = (Maybe WebKit.DOMEventTarget.DOMEventTarget)
    type AttrLabel DOMTouchTargetPropertyInfo = "target"
    type AttrOrigin DOMTouchTargetPropertyInfo = DOMTouch
    attrGet _ = getDOMTouchTarget
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "webkit-force"
   -- Type: TBasicType TFloat
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMTouchWebkitForce :: (MonadIO m, IsDOMTouch 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 = IsDOMTouch
    type AttrGetType DOMTouchWebkitForcePropertyInfo = Float
    type AttrLabel DOMTouchWebkitForcePropertyInfo = "webkit-force"
    type AttrOrigin DOMTouchWebkitForcePropertyInfo = DOMTouch
    attrGet _ = getDOMTouchWebkitForce
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "webkit-radius-x"
   -- Type: TBasicType TLong
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMTouchWebkitRadiusX :: (MonadIO m, IsDOMTouch o) => o -> m CLong
getDOMTouchWebkitRadiusX obj = liftIO $ getObjectPropertyLong obj "webkit-radius-x"

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

-- VVV Prop "webkit-radius-y"
   -- Type: TBasicType TLong
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMTouchWebkitRadiusY :: (MonadIO m, IsDOMTouch o) => o -> m CLong
getDOMTouchWebkitRadiusY obj = liftIO $ getObjectPropertyLong obj "webkit-radius-y"

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

-- VVV Prop "webkit-rotation-angle"
   -- Type: TBasicType TFloat
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMTouchWebkitRotationAngle :: (MonadIO m, IsDOMTouch 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 = IsDOMTouch
    type AttrGetType DOMTouchWebkitRotationAnglePropertyInfo = Float
    type AttrLabel DOMTouchWebkitRotationAnglePropertyInfo = "webkit-rotation-angle"
    type AttrOrigin DOMTouchWebkitRotationAnglePropertyInfo = DOMTouch
    attrGet _ = getDOMTouchWebkitRotationAngle
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

instance O.HasAttributeList DOMTouch
type instance O.AttributeList DOMTouch = DOMTouchAttributeList
type DOMTouchAttributeList = ('[ '("clientX", DOMTouchClientXPropertyInfo), '("clientY", DOMTouchClientYPropertyInfo), '("coreObject", WebKit.DOMObject.DOMObjectCoreObjectPropertyInfo), '("identifier", DOMTouchIdentifierPropertyInfo), '("pageX", DOMTouchPageXPropertyInfo), '("pageY", DOMTouchPageYPropertyInfo), '("screenX", DOMTouchScreenXPropertyInfo), '("screenY", DOMTouchScreenYPropertyInfo), '("target", DOMTouchTargetPropertyInfo), '("webkitForce", DOMTouchWebkitForcePropertyInfo), '("webkitRadiusX", DOMTouchWebkitRadiusXPropertyInfo), '("webkitRadiusY", DOMTouchWebkitRadiusYPropertyInfo), '("webkitRotationAngle", DOMTouchWebkitRotationAnglePropertyInfo)] :: [(Symbol, *)])

dOMTouchClientX :: AttrLabelProxy "clientX"
dOMTouchClientX = AttrLabelProxy

dOMTouchClientY :: AttrLabelProxy "clientY"
dOMTouchClientY = AttrLabelProxy

dOMTouchIdentifier :: AttrLabelProxy "identifier"
dOMTouchIdentifier = AttrLabelProxy

dOMTouchPageX :: AttrLabelProxy "pageX"
dOMTouchPageX = AttrLabelProxy

dOMTouchPageY :: AttrLabelProxy "pageY"
dOMTouchPageY = AttrLabelProxy

dOMTouchScreenX :: AttrLabelProxy "screenX"
dOMTouchScreenX = AttrLabelProxy

dOMTouchScreenY :: AttrLabelProxy "screenY"
dOMTouchScreenY = AttrLabelProxy

dOMTouchTarget :: AttrLabelProxy "target"
dOMTouchTarget = AttrLabelProxy

dOMTouchWebkitForce :: AttrLabelProxy "webkitForce"
dOMTouchWebkitForce = AttrLabelProxy

dOMTouchWebkitRadiusX :: AttrLabelProxy "webkitRadiusX"
dOMTouchWebkitRadiusX = AttrLabelProxy

dOMTouchWebkitRadiusY :: AttrLabelProxy "webkitRadiusY"
dOMTouchWebkitRadiusY = AttrLabelProxy

dOMTouchWebkitRotationAngle :: AttrLabelProxy "webkitRotationAngle"
dOMTouchWebkitRotationAngle = AttrLabelProxy

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

-- method DOMTouch::get_client_x
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMTouch"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMTouch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TLong)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_touch_get_client_x" webkit_dom_touch_get_client_x :: 
    Ptr DOMTouch ->                         -- self : TInterface (Name {namespace = "WebKit", name = "DOMTouch"})
    IO CLong

{- |
/No description available in the introspection data./
-}
dOMTouchGetClientX ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMTouch a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMTouch.DOMTouch' -}
    -> m CLong
    {- ^ __Returns:__ A @/glong/@ -}
dOMTouchGetClientX self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_touch_get_client_x self'
    touchManagedPtr self
    return result

data DOMTouchGetClientXMethodInfo
instance (signature ~ (m CLong), MonadIO m, IsDOMTouch a) => O.MethodInfo DOMTouchGetClientXMethodInfo a signature where
    overloadedMethod _ = dOMTouchGetClientX

-- method DOMTouch::get_client_y
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMTouch"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMTouch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TLong)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_touch_get_client_y" webkit_dom_touch_get_client_y :: 
    Ptr DOMTouch ->                         -- self : TInterface (Name {namespace = "WebKit", name = "DOMTouch"})
    IO CLong

{- |
/No description available in the introspection data./
-}
dOMTouchGetClientY ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMTouch a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMTouch.DOMTouch' -}
    -> m CLong
    {- ^ __Returns:__ A @/glong/@ -}
dOMTouchGetClientY self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_touch_get_client_y self'
    touchManagedPtr self
    return result

data DOMTouchGetClientYMethodInfo
instance (signature ~ (m CLong), MonadIO m, IsDOMTouch a) => O.MethodInfo DOMTouchGetClientYMethodInfo a signature where
    overloadedMethod _ = dOMTouchGetClientY

-- method DOMTouch::get_identifier
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMTouch"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMTouch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TULong)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_touch_get_identifier" webkit_dom_touch_get_identifier :: 
    Ptr DOMTouch ->                         -- self : TInterface (Name {namespace = "WebKit", name = "DOMTouch"})
    IO CULong

{- |
/No description available in the introspection data./
-}
dOMTouchGetIdentifier ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMTouch a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMTouch.DOMTouch' -}
    -> m CULong
    {- ^ __Returns:__ A @/gulong/@ -}
dOMTouchGetIdentifier self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_touch_get_identifier self'
    touchManagedPtr self
    return result

data DOMTouchGetIdentifierMethodInfo
instance (signature ~ (m CULong), MonadIO m, IsDOMTouch a) => O.MethodInfo DOMTouchGetIdentifierMethodInfo a signature where
    overloadedMethod _ = dOMTouchGetIdentifier

-- method DOMTouch::get_page_x
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMTouch"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMTouch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TLong)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_touch_get_page_x" webkit_dom_touch_get_page_x :: 
    Ptr DOMTouch ->                         -- self : TInterface (Name {namespace = "WebKit", name = "DOMTouch"})
    IO CLong

{- |
/No description available in the introspection data./
-}
dOMTouchGetPageX ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMTouch a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMTouch.DOMTouch' -}
    -> m CLong
    {- ^ __Returns:__ A @/glong/@ -}
dOMTouchGetPageX self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_touch_get_page_x self'
    touchManagedPtr self
    return result

data DOMTouchGetPageXMethodInfo
instance (signature ~ (m CLong), MonadIO m, IsDOMTouch a) => O.MethodInfo DOMTouchGetPageXMethodInfo a signature where
    overloadedMethod _ = dOMTouchGetPageX

-- method DOMTouch::get_page_y
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMTouch"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMTouch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TLong)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_touch_get_page_y" webkit_dom_touch_get_page_y :: 
    Ptr DOMTouch ->                         -- self : TInterface (Name {namespace = "WebKit", name = "DOMTouch"})
    IO CLong

{- |
/No description available in the introspection data./
-}
dOMTouchGetPageY ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMTouch a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMTouch.DOMTouch' -}
    -> m CLong
    {- ^ __Returns:__ A @/glong/@ -}
dOMTouchGetPageY self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_touch_get_page_y self'
    touchManagedPtr self
    return result

data DOMTouchGetPageYMethodInfo
instance (signature ~ (m CLong), MonadIO m, IsDOMTouch a) => O.MethodInfo DOMTouchGetPageYMethodInfo a signature where
    overloadedMethod _ = dOMTouchGetPageY

-- method DOMTouch::get_screen_x
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMTouch"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMTouch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TLong)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_touch_get_screen_x" webkit_dom_touch_get_screen_x :: 
    Ptr DOMTouch ->                         -- self : TInterface (Name {namespace = "WebKit", name = "DOMTouch"})
    IO CLong

{- |
/No description available in the introspection data./
-}
dOMTouchGetScreenX ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMTouch a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMTouch.DOMTouch' -}
    -> m CLong
    {- ^ __Returns:__ A @/glong/@ -}
dOMTouchGetScreenX self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_touch_get_screen_x self'
    touchManagedPtr self
    return result

data DOMTouchGetScreenXMethodInfo
instance (signature ~ (m CLong), MonadIO m, IsDOMTouch a) => O.MethodInfo DOMTouchGetScreenXMethodInfo a signature where
    overloadedMethod _ = dOMTouchGetScreenX

-- method DOMTouch::get_screen_y
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMTouch"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMTouch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TLong)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_touch_get_screen_y" webkit_dom_touch_get_screen_y :: 
    Ptr DOMTouch ->                         -- self : TInterface (Name {namespace = "WebKit", name = "DOMTouch"})
    IO CLong

{- |
/No description available in the introspection data./
-}
dOMTouchGetScreenY ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMTouch a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMTouch.DOMTouch' -}
    -> m CLong
    {- ^ __Returns:__ A @/glong/@ -}
dOMTouchGetScreenY self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_touch_get_screen_y self'
    touchManagedPtr self
    return result

data DOMTouchGetScreenYMethodInfo
instance (signature ~ (m CLong), MonadIO m, IsDOMTouch a) => O.MethodInfo DOMTouchGetScreenYMethodInfo a signature where
    overloadedMethod _ = dOMTouchGetScreenY

-- method DOMTouch::get_target
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMTouch"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMTouch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "WebKit", name = "DOMEventTarget"}))
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_touch_get_target" webkit_dom_touch_get_target :: 
    Ptr DOMTouch ->                         -- self : TInterface (Name {namespace = "WebKit", name = "DOMTouch"})
    IO (Ptr WebKit.DOMEventTarget.DOMEventTarget)

{- |
/No description available in the introspection data./
-}
dOMTouchGetTarget ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMTouch a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMTouch.DOMTouch' -}
    -> m WebKit.DOMEventTarget.DOMEventTarget
    {- ^ __Returns:__ A 'GI.WebKit.Interfaces.DOMEventTarget.DOMEventTarget' -}
dOMTouchGetTarget self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_touch_get_target self'
    checkUnexpectedReturnNULL "dOMTouchGetTarget" result
    result' <- (wrapObject WebKit.DOMEventTarget.DOMEventTarget) result
    touchManagedPtr self
    return result'

data DOMTouchGetTargetMethodInfo
instance (signature ~ (m WebKit.DOMEventTarget.DOMEventTarget), MonadIO m, IsDOMTouch a) => O.MethodInfo DOMTouchGetTargetMethodInfo a signature where
    overloadedMethod _ = dOMTouchGetTarget

-- method DOMTouch::get_webkit_force
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMTouch"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMTouch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TFloat)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_touch_get_webkit_force" webkit_dom_touch_get_webkit_force :: 
    Ptr DOMTouch ->                         -- self : TInterface (Name {namespace = "WebKit", name = "DOMTouch"})
    IO CFloat

{- |
/No description available in the introspection data./
-}
dOMTouchGetWebkitForce ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMTouch a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMTouch.DOMTouch' -}
    -> m Float
    {- ^ __Returns:__ A @/gfloat/@ -}
dOMTouchGetWebkitForce self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_touch_get_webkit_force self'
    let result' = realToFrac result
    touchManagedPtr self
    return result'

data DOMTouchGetWebkitForceMethodInfo
instance (signature ~ (m Float), MonadIO m, IsDOMTouch a) => O.MethodInfo DOMTouchGetWebkitForceMethodInfo a signature where
    overloadedMethod _ = dOMTouchGetWebkitForce

-- method DOMTouch::get_webkit_radius_x
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMTouch"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMTouch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TLong)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_touch_get_webkit_radius_x" webkit_dom_touch_get_webkit_radius_x :: 
    Ptr DOMTouch ->                         -- self : TInterface (Name {namespace = "WebKit", name = "DOMTouch"})
    IO CLong

{- |
/No description available in the introspection data./
-}
dOMTouchGetWebkitRadiusX ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMTouch a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMTouch.DOMTouch' -}
    -> m CLong
    {- ^ __Returns:__ A @/glong/@ -}
dOMTouchGetWebkitRadiusX self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_touch_get_webkit_radius_x self'
    touchManagedPtr self
    return result

data DOMTouchGetWebkitRadiusXMethodInfo
instance (signature ~ (m CLong), MonadIO m, IsDOMTouch a) => O.MethodInfo DOMTouchGetWebkitRadiusXMethodInfo a signature where
    overloadedMethod _ = dOMTouchGetWebkitRadiusX

-- method DOMTouch::get_webkit_radius_y
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMTouch"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMTouch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TLong)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_touch_get_webkit_radius_y" webkit_dom_touch_get_webkit_radius_y :: 
    Ptr DOMTouch ->                         -- self : TInterface (Name {namespace = "WebKit", name = "DOMTouch"})
    IO CLong

{- |
/No description available in the introspection data./
-}
dOMTouchGetWebkitRadiusY ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMTouch a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMTouch.DOMTouch' -}
    -> m CLong
    {- ^ __Returns:__ A @/glong/@ -}
dOMTouchGetWebkitRadiusY self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_touch_get_webkit_radius_y self'
    touchManagedPtr self
    return result

data DOMTouchGetWebkitRadiusYMethodInfo
instance (signature ~ (m CLong), MonadIO m, IsDOMTouch a) => O.MethodInfo DOMTouchGetWebkitRadiusYMethodInfo a signature where
    overloadedMethod _ = dOMTouchGetWebkitRadiusY

-- method DOMTouch::get_webkit_rotation_angle
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMTouch"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMTouch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (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 ->                         -- self : TInterface (Name {namespace = "WebKit", name = "DOMTouch"})
    IO CFloat

{- |
/No description available in the introspection data./
-}
dOMTouchGetWebkitRotationAngle ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMTouch a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMTouch.DOMTouch' -}
    -> m Float
    {- ^ __Returns:__ A @/gfloat/@ -}
dOMTouchGetWebkitRotationAngle self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_touch_get_webkit_rotation_angle self'
    let result' = realToFrac result
    touchManagedPtr self
    return result'

data DOMTouchGetWebkitRotationAngleMethodInfo
instance (signature ~ (m Float), MonadIO m, IsDOMTouch a) => O.MethodInfo DOMTouchGetWebkitRotationAngleMethodInfo a signature where
    overloadedMethod _ = dOMTouchGetWebkitRotationAngle