{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)

/No description available in the introspection data./
-}

module GI.WebKit2WebExtension.Objects.DOMClientRect
    ( 

-- * Exported types
    DOMClientRect(..)                       ,
    IsDOMClientRect                         ,
    toDOMClientRect                         ,
    noDOMClientRect                         ,


 -- * Methods
-- ** getBottom #method:getBottom#

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMClientRectGetBottomMethodInfo        ,
#endif
    dOMClientRectGetBottom                  ,


-- ** getHeight #method:getHeight#

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMClientRectGetHeightMethodInfo        ,
#endif
    dOMClientRectGetHeight                  ,


-- ** getLeft #method:getLeft#

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMClientRectGetLeftMethodInfo          ,
#endif
    dOMClientRectGetLeft                    ,


-- ** getRight #method:getRight#

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMClientRectGetRightMethodInfo         ,
#endif
    dOMClientRectGetRight                   ,


-- ** getTop #method:getTop#

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMClientRectGetTopMethodInfo           ,
#endif
    dOMClientRectGetTop                     ,


-- ** getWidth #method:getWidth#

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMClientRectGetWidthMethodInfo         ,
#endif
    dOMClientRectGetWidth                   ,




 -- * Properties
-- ** bottom #attr:bottom#
{- | /No description available in the introspection data./
-}
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMClientRectBottomPropertyInfo         ,
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    dOMClientRectBottom                     ,
#endif
    getDOMClientRectBottom                  ,


-- ** height #attr:height#
{- | /No description available in the introspection data./
-}
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMClientRectHeightPropertyInfo         ,
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    dOMClientRectHeight                     ,
#endif
    getDOMClientRectHeight                  ,


-- ** left #attr:left#
{- | /No description available in the introspection data./
-}
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMClientRectLeftPropertyInfo           ,
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    dOMClientRectLeft                       ,
#endif
    getDOMClientRectLeft                    ,


-- ** right #attr:right#
{- | /No description available in the introspection data./
-}
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMClientRectRightPropertyInfo          ,
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    dOMClientRectRight                      ,
#endif
    getDOMClientRectRight                   ,


-- ** top #attr:top#
{- | /No description available in the introspection data./
-}
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMClientRectTopPropertyInfo            ,
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    dOMClientRectTop                        ,
#endif
    getDOMClientRectTop                     ,


-- ** width #attr:width#
{- | /No description available in the introspection data./
-}
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    DOMClientRectWidthPropertyInfo          ,
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
    dOMClientRectWidth                      ,
#endif
    getDOMClientRectWidth                   ,




    ) 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.WebKit2WebExtension.Objects.DOMObject as WebKit2WebExtension.DOMObject

-- | Memory-managed wrapper type.
newtype DOMClientRect = DOMClientRect (ManagedPtr DOMClientRect)
foreign import ccall "webkit_dom_client_rect_get_type"
    c_webkit_dom_client_rect_get_type :: IO GType

instance GObject DOMClientRect where
    gobjectType _ = c_webkit_dom_client_rect_get_type
    

-- | Type class for types which can be safely cast to `DOMClientRect`, for instance with `toDOMClientRect`.
class GObject o => IsDOMClientRect o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError DOMClientRect a) =>
    IsDOMClientRect a
#endif
instance IsDOMClientRect DOMClientRect
instance WebKit2WebExtension.DOMObject.IsDOMObject DOMClientRect
instance GObject.Object.IsObject DOMClientRect

-- | Cast to `DOMClientRect`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toDOMClientRect :: (MonadIO m, IsDOMClientRect o) => o -> m DOMClientRect
toDOMClientRect = liftIO . unsafeCastTo DOMClientRect

-- | A convenience alias for `Nothing` :: `Maybe` `DOMClientRect`.
noDOMClientRect :: Maybe DOMClientRect
noDOMClientRect = Nothing

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
type family ResolveDOMClientRectMethod (t :: Symbol) (o :: *) :: * where
    ResolveDOMClientRectMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveDOMClientRectMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveDOMClientRectMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveDOMClientRectMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveDOMClientRectMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveDOMClientRectMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveDOMClientRectMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveDOMClientRectMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveDOMClientRectMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveDOMClientRectMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveDOMClientRectMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
    ResolveDOMClientRectMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
    ResolveDOMClientRectMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveDOMClientRectMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveDOMClientRectMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveDOMClientRectMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveDOMClientRectMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveDOMClientRectMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveDOMClientRectMethod "getBottom" o = DOMClientRectGetBottomMethodInfo
    ResolveDOMClientRectMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveDOMClientRectMethod "getHeight" o = DOMClientRectGetHeightMethodInfo
    ResolveDOMClientRectMethod "getLeft" o = DOMClientRectGetLeftMethodInfo
    ResolveDOMClientRectMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveDOMClientRectMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveDOMClientRectMethod "getRight" o = DOMClientRectGetRightMethodInfo
    ResolveDOMClientRectMethod "getTop" o = DOMClientRectGetTopMethodInfo
    ResolveDOMClientRectMethod "getWidth" o = DOMClientRectGetWidthMethodInfo
    ResolveDOMClientRectMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveDOMClientRectMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveDOMClientRectMethod l o = O.MethodResolutionFailed l o

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

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

#endif

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

{- |
Get the value of the “@bottom@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMClientRect #bottom
@
-}
getDOMClientRectBottom :: (MonadIO m, IsDOMClientRect o) => o -> m Float
getDOMClientRectBottom obj = liftIO $ getObjectPropertyFloat obj "bottom"

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMClientRectBottomPropertyInfo
instance AttrInfo DOMClientRectBottomPropertyInfo where
    type AttrAllowedOps DOMClientRectBottomPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMClientRectBottomPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMClientRectBottomPropertyInfo = IsDOMClientRect
    type AttrGetType DOMClientRectBottomPropertyInfo = Float
    type AttrLabel DOMClientRectBottomPropertyInfo = "bottom"
    type AttrOrigin DOMClientRectBottomPropertyInfo = DOMClientRect
    attrGet _ = getDOMClientRectBottom
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

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

{- |
Get the value of the “@height@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMClientRect #height
@
-}
getDOMClientRectHeight :: (MonadIO m, IsDOMClientRect o) => o -> m Float
getDOMClientRectHeight obj = liftIO $ getObjectPropertyFloat obj "height"

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMClientRectHeightPropertyInfo
instance AttrInfo DOMClientRectHeightPropertyInfo where
    type AttrAllowedOps DOMClientRectHeightPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMClientRectHeightPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMClientRectHeightPropertyInfo = IsDOMClientRect
    type AttrGetType DOMClientRectHeightPropertyInfo = Float
    type AttrLabel DOMClientRectHeightPropertyInfo = "height"
    type AttrOrigin DOMClientRectHeightPropertyInfo = DOMClientRect
    attrGet _ = getDOMClientRectHeight
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

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

{- |
Get the value of the “@left@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMClientRect #left
@
-}
getDOMClientRectLeft :: (MonadIO m, IsDOMClientRect o) => o -> m Float
getDOMClientRectLeft obj = liftIO $ getObjectPropertyFloat obj "left"

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMClientRectLeftPropertyInfo
instance AttrInfo DOMClientRectLeftPropertyInfo where
    type AttrAllowedOps DOMClientRectLeftPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMClientRectLeftPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMClientRectLeftPropertyInfo = IsDOMClientRect
    type AttrGetType DOMClientRectLeftPropertyInfo = Float
    type AttrLabel DOMClientRectLeftPropertyInfo = "left"
    type AttrOrigin DOMClientRectLeftPropertyInfo = DOMClientRect
    attrGet _ = getDOMClientRectLeft
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

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

{- |
Get the value of the “@right@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMClientRect #right
@
-}
getDOMClientRectRight :: (MonadIO m, IsDOMClientRect o) => o -> m Float
getDOMClientRectRight obj = liftIO $ getObjectPropertyFloat obj "right"

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMClientRectRightPropertyInfo
instance AttrInfo DOMClientRectRightPropertyInfo where
    type AttrAllowedOps DOMClientRectRightPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMClientRectRightPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMClientRectRightPropertyInfo = IsDOMClientRect
    type AttrGetType DOMClientRectRightPropertyInfo = Float
    type AttrLabel DOMClientRectRightPropertyInfo = "right"
    type AttrOrigin DOMClientRectRightPropertyInfo = DOMClientRect
    attrGet _ = getDOMClientRectRight
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

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

{- |
Get the value of the “@top@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMClientRect #top
@
-}
getDOMClientRectTop :: (MonadIO m, IsDOMClientRect o) => o -> m Float
getDOMClientRectTop obj = liftIO $ getObjectPropertyFloat obj "top"

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMClientRectTopPropertyInfo
instance AttrInfo DOMClientRectTopPropertyInfo where
    type AttrAllowedOps DOMClientRectTopPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMClientRectTopPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMClientRectTopPropertyInfo = IsDOMClientRect
    type AttrGetType DOMClientRectTopPropertyInfo = Float
    type AttrLabel DOMClientRectTopPropertyInfo = "top"
    type AttrOrigin DOMClientRectTopPropertyInfo = DOMClientRect
    attrGet _ = getDOMClientRectTop
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

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

{- |
Get the value of the “@width@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMClientRect #width
@
-}
getDOMClientRectWidth :: (MonadIO m, IsDOMClientRect o) => o -> m Float
getDOMClientRectWidth obj = liftIO $ getObjectPropertyFloat obj "width"

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMClientRectWidthPropertyInfo
instance AttrInfo DOMClientRectWidthPropertyInfo where
    type AttrAllowedOps DOMClientRectWidthPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMClientRectWidthPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMClientRectWidthPropertyInfo = IsDOMClientRect
    type AttrGetType DOMClientRectWidthPropertyInfo = Float
    type AttrLabel DOMClientRectWidthPropertyInfo = "width"
    type AttrOrigin DOMClientRectWidthPropertyInfo = DOMClientRect
    attrGet _ = getDOMClientRectWidth
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined
#endif

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
instance O.HasAttributeList DOMClientRect
type instance O.AttributeList DOMClientRect = DOMClientRectAttributeList
type DOMClientRectAttributeList = ('[ '("bottom", DOMClientRectBottomPropertyInfo), '("coreObject", WebKit2WebExtension.DOMObject.DOMObjectCoreObjectPropertyInfo), '("height", DOMClientRectHeightPropertyInfo), '("left", DOMClientRectLeftPropertyInfo), '("right", DOMClientRectRightPropertyInfo), '("top", DOMClientRectTopPropertyInfo), '("width", DOMClientRectWidthPropertyInfo)] :: [(Symbol, *)])
#endif

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
dOMClientRectBottom :: AttrLabelProxy "bottom"
dOMClientRectBottom = AttrLabelProxy

dOMClientRectHeight :: AttrLabelProxy "height"
dOMClientRectHeight = AttrLabelProxy

dOMClientRectLeft :: AttrLabelProxy "left"
dOMClientRectLeft = AttrLabelProxy

dOMClientRectRight :: AttrLabelProxy "right"
dOMClientRectRight = AttrLabelProxy

dOMClientRectTop :: AttrLabelProxy "top"
dOMClientRectTop = AttrLabelProxy

dOMClientRectWidth :: AttrLabelProxy "width"
dOMClientRectWidth = AttrLabelProxy

#endif

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
type instance O.SignalList DOMClientRect = DOMClientRectSignalList
type DOMClientRectSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])

#endif

-- method DOMClientRect::get_bottom
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMClientRect"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMClientRect", 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_client_rect_get_bottom" webkit_dom_client_rect_get_bottom :: 
    Ptr DOMClientRect ->                    -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMClientRect"})
    IO CFloat

{- |
Returns the bottom coordinate of /@self@/, relative to the viewport.

@since 2.18
-}
dOMClientRectGetBottom ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMClientRect a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMClientRect.DOMClientRect' -}
    -> m Float
    {- ^ __Returns:__ A @/gfloat/@ -}
dOMClientRectGetBottom self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_client_rect_get_bottom self'
    let result' = realToFrac result
    touchManagedPtr self
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMClientRectGetBottomMethodInfo
instance (signature ~ (m Float), MonadIO m, IsDOMClientRect a) => O.MethodInfo DOMClientRectGetBottomMethodInfo a signature where
    overloadedMethod _ = dOMClientRectGetBottom

#endif

-- method DOMClientRect::get_height
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMClientRect"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMClientRect", 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_client_rect_get_height" webkit_dom_client_rect_get_height :: 
    Ptr DOMClientRect ->                    -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMClientRect"})
    IO CFloat

{- |
Returns the height of /@self@/.

@since 2.18
-}
dOMClientRectGetHeight ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMClientRect a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMClientRect.DOMClientRect' -}
    -> m Float
    {- ^ __Returns:__ A @/gfloat/@ -}
dOMClientRectGetHeight self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_client_rect_get_height self'
    let result' = realToFrac result
    touchManagedPtr self
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMClientRectGetHeightMethodInfo
instance (signature ~ (m Float), MonadIO m, IsDOMClientRect a) => O.MethodInfo DOMClientRectGetHeightMethodInfo a signature where
    overloadedMethod _ = dOMClientRectGetHeight

#endif

-- method DOMClientRect::get_left
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMClientRect"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMClientRect", 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_client_rect_get_left" webkit_dom_client_rect_get_left :: 
    Ptr DOMClientRect ->                    -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMClientRect"})
    IO CFloat

{- |
Returns the left coordinate of /@self@/, relative to the viewport.

@since 2.18
-}
dOMClientRectGetLeft ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMClientRect a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMClientRect.DOMClientRect' -}
    -> m Float
    {- ^ __Returns:__ A @/gfloat/@ -}
dOMClientRectGetLeft self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_client_rect_get_left self'
    let result' = realToFrac result
    touchManagedPtr self
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMClientRectGetLeftMethodInfo
instance (signature ~ (m Float), MonadIO m, IsDOMClientRect a) => O.MethodInfo DOMClientRectGetLeftMethodInfo a signature where
    overloadedMethod _ = dOMClientRectGetLeft

#endif

-- method DOMClientRect::get_right
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMClientRect"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMClientRect", 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_client_rect_get_right" webkit_dom_client_rect_get_right :: 
    Ptr DOMClientRect ->                    -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMClientRect"})
    IO CFloat

{- |
Returns the right coordinate of /@self@/, relative to the viewport.

@since 2.18
-}
dOMClientRectGetRight ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMClientRect a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMClientRect.DOMClientRect' -}
    -> m Float
    {- ^ __Returns:__ A @/gfloat/@ -}
dOMClientRectGetRight self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_client_rect_get_right self'
    let result' = realToFrac result
    touchManagedPtr self
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMClientRectGetRightMethodInfo
instance (signature ~ (m Float), MonadIO m, IsDOMClientRect a) => O.MethodInfo DOMClientRectGetRightMethodInfo a signature where
    overloadedMethod _ = dOMClientRectGetRight

#endif

-- method DOMClientRect::get_top
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMClientRect"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMClientRect", 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_client_rect_get_top" webkit_dom_client_rect_get_top :: 
    Ptr DOMClientRect ->                    -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMClientRect"})
    IO CFloat

{- |
Returns the top coordinate of /@self@/, relative to the viewport.

@since 2.18
-}
dOMClientRectGetTop ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMClientRect a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMClientRect.DOMClientRect' -}
    -> m Float
    {- ^ __Returns:__ A @/gfloat/@ -}
dOMClientRectGetTop self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_client_rect_get_top self'
    let result' = realToFrac result
    touchManagedPtr self
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMClientRectGetTopMethodInfo
instance (signature ~ (m Float), MonadIO m, IsDOMClientRect a) => O.MethodInfo DOMClientRectGetTopMethodInfo a signature where
    overloadedMethod _ = dOMClientRectGetTop

#endif

-- method DOMClientRect::get_width
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMClientRect"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMClientRect", 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_client_rect_get_width" webkit_dom_client_rect_get_width :: 
    Ptr DOMClientRect ->                    -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMClientRect"})
    IO CFloat

{- |
Returns the width of /@self@/.

@since 2.18
-}
dOMClientRectGetWidth ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMClientRect a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMClientRect.DOMClientRect' -}
    -> m Float
    {- ^ __Returns:__ A @/gfloat/@ -}
dOMClientRectGetWidth self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_client_rect_get_width self'
    let result' = realToFrac result
    touchManagedPtr self
    return result'

#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DOMClientRectGetWidthMethodInfo
instance (signature ~ (m Float), MonadIO m, IsDOMClientRect a) => O.MethodInfo DOMClientRectGetWidthMethodInfo a signature where
    overloadedMethod _ = dOMClientRectGetWidth

#endif