{- |
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.DOMScreen
    ( 

-- * Exported types
    DOMScreen(..)                           ,
    IsDOMScreen                             ,
    toDOMScreen                             ,
    noDOMScreen                             ,


 -- * Methods
-- ** getAvailHeight #method:getAvailHeight#
    DOMScreenGetAvailHeightMethodInfo       ,
    dOMScreenGetAvailHeight                 ,


-- ** getAvailLeft #method:getAvailLeft#
    DOMScreenGetAvailLeftMethodInfo         ,
    dOMScreenGetAvailLeft                   ,


-- ** getAvailTop #method:getAvailTop#
    DOMScreenGetAvailTopMethodInfo          ,
    dOMScreenGetAvailTop                    ,


-- ** getAvailWidth #method:getAvailWidth#
    DOMScreenGetAvailWidthMethodInfo        ,
    dOMScreenGetAvailWidth                  ,


-- ** getColorDepth #method:getColorDepth#
    DOMScreenGetColorDepthMethodInfo        ,
    dOMScreenGetColorDepth                  ,


-- ** getHeight #method:getHeight#
    DOMScreenGetHeightMethodInfo            ,
    dOMScreenGetHeight                      ,


-- ** getPixelDepth #method:getPixelDepth#
    DOMScreenGetPixelDepthMethodInfo        ,
    dOMScreenGetPixelDepth                  ,


-- ** getWidth #method:getWidth#
    DOMScreenGetWidthMethodInfo             ,
    dOMScreenGetWidth                       ,




 -- * Properties
-- ** availHeight #attr:availHeight#
    DOMScreenAvailHeightPropertyInfo        ,
    dOMScreenAvailHeight                    ,
    getDOMScreenAvailHeight                 ,


-- ** availLeft #attr:availLeft#
    DOMScreenAvailLeftPropertyInfo          ,
    dOMScreenAvailLeft                      ,
    getDOMScreenAvailLeft                   ,


-- ** availTop #attr:availTop#
    DOMScreenAvailTopPropertyInfo           ,
    dOMScreenAvailTop                       ,
    getDOMScreenAvailTop                    ,


-- ** availWidth #attr:availWidth#
    DOMScreenAvailWidthPropertyInfo         ,
    dOMScreenAvailWidth                     ,
    getDOMScreenAvailWidth                  ,


-- ** colorDepth #attr:colorDepth#
    DOMScreenColorDepthPropertyInfo         ,
    dOMScreenColorDepth                     ,
    getDOMScreenColorDepth                  ,


-- ** height #attr:height#
    DOMScreenHeightPropertyInfo             ,
    dOMScreenHeight                         ,
    getDOMScreenHeight                      ,


-- ** pixelDepth #attr:pixelDepth#
    DOMScreenPixelDepthPropertyInfo         ,
    dOMScreenPixelDepth                     ,
    getDOMScreenPixelDepth                  ,


-- ** width #attr:width#
    DOMScreenWidthPropertyInfo              ,
    dOMScreenWidth                          ,
    getDOMScreenWidth                       ,




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

newtype DOMScreen = DOMScreen (ManagedPtr DOMScreen)
foreign import ccall "webkit_dom_screen_get_type"
    c_webkit_dom_screen_get_type :: IO GType

instance GObject DOMScreen where
    gobjectType _ = c_webkit_dom_screen_get_type
    

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

toDOMScreen :: IsDOMScreen o => o -> IO DOMScreen
toDOMScreen = unsafeCastTo DOMScreen

noDOMScreen :: Maybe DOMScreen
noDOMScreen = Nothing

type family ResolveDOMScreenMethod (t :: Symbol) (o :: *) :: * where
    ResolveDOMScreenMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveDOMScreenMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveDOMScreenMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveDOMScreenMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveDOMScreenMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveDOMScreenMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveDOMScreenMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveDOMScreenMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveDOMScreenMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveDOMScreenMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
    ResolveDOMScreenMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
    ResolveDOMScreenMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveDOMScreenMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveDOMScreenMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveDOMScreenMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveDOMScreenMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveDOMScreenMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveDOMScreenMethod "getAvailHeight" o = DOMScreenGetAvailHeightMethodInfo
    ResolveDOMScreenMethod "getAvailLeft" o = DOMScreenGetAvailLeftMethodInfo
    ResolveDOMScreenMethod "getAvailTop" o = DOMScreenGetAvailTopMethodInfo
    ResolveDOMScreenMethod "getAvailWidth" o = DOMScreenGetAvailWidthMethodInfo
    ResolveDOMScreenMethod "getColorDepth" o = DOMScreenGetColorDepthMethodInfo
    ResolveDOMScreenMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveDOMScreenMethod "getHeight" o = DOMScreenGetHeightMethodInfo
    ResolveDOMScreenMethod "getPixelDepth" o = DOMScreenGetPixelDepthMethodInfo
    ResolveDOMScreenMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveDOMScreenMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveDOMScreenMethod "getWidth" o = DOMScreenGetWidthMethodInfo
    ResolveDOMScreenMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveDOMScreenMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveDOMScreenMethod l o = O.MethodResolutionFailed l o

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

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

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

getDOMScreenAvailHeight :: (MonadIO m, IsDOMScreen o) => o -> m CULong
getDOMScreenAvailHeight obj = liftIO $ getObjectPropertyULong obj "avail-height"

data DOMScreenAvailHeightPropertyInfo
instance AttrInfo DOMScreenAvailHeightPropertyInfo where
    type AttrAllowedOps DOMScreenAvailHeightPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMScreenAvailHeightPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMScreenAvailHeightPropertyInfo = IsDOMScreen
    type AttrGetType DOMScreenAvailHeightPropertyInfo = CULong
    type AttrLabel DOMScreenAvailHeightPropertyInfo = "avail-height"
    type AttrOrigin DOMScreenAvailHeightPropertyInfo = DOMScreen
    attrGet _ = getDOMScreenAvailHeight
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMScreenAvailLeft :: (MonadIO m, IsDOMScreen o) => o -> m CLong
getDOMScreenAvailLeft obj = liftIO $ getObjectPropertyLong obj "avail-left"

data DOMScreenAvailLeftPropertyInfo
instance AttrInfo DOMScreenAvailLeftPropertyInfo where
    type AttrAllowedOps DOMScreenAvailLeftPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMScreenAvailLeftPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMScreenAvailLeftPropertyInfo = IsDOMScreen
    type AttrGetType DOMScreenAvailLeftPropertyInfo = CLong
    type AttrLabel DOMScreenAvailLeftPropertyInfo = "avail-left"
    type AttrOrigin DOMScreenAvailLeftPropertyInfo = DOMScreen
    attrGet _ = getDOMScreenAvailLeft
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMScreenAvailTop :: (MonadIO m, IsDOMScreen o) => o -> m CLong
getDOMScreenAvailTop obj = liftIO $ getObjectPropertyLong obj "avail-top"

data DOMScreenAvailTopPropertyInfo
instance AttrInfo DOMScreenAvailTopPropertyInfo where
    type AttrAllowedOps DOMScreenAvailTopPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMScreenAvailTopPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMScreenAvailTopPropertyInfo = IsDOMScreen
    type AttrGetType DOMScreenAvailTopPropertyInfo = CLong
    type AttrLabel DOMScreenAvailTopPropertyInfo = "avail-top"
    type AttrOrigin DOMScreenAvailTopPropertyInfo = DOMScreen
    attrGet _ = getDOMScreenAvailTop
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMScreenAvailWidth :: (MonadIO m, IsDOMScreen o) => o -> m CULong
getDOMScreenAvailWidth obj = liftIO $ getObjectPropertyULong obj "avail-width"

data DOMScreenAvailWidthPropertyInfo
instance AttrInfo DOMScreenAvailWidthPropertyInfo where
    type AttrAllowedOps DOMScreenAvailWidthPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMScreenAvailWidthPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMScreenAvailWidthPropertyInfo = IsDOMScreen
    type AttrGetType DOMScreenAvailWidthPropertyInfo = CULong
    type AttrLabel DOMScreenAvailWidthPropertyInfo = "avail-width"
    type AttrOrigin DOMScreenAvailWidthPropertyInfo = DOMScreen
    attrGet _ = getDOMScreenAvailWidth
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMScreenColorDepth :: (MonadIO m, IsDOMScreen o) => o -> m CULong
getDOMScreenColorDepth obj = liftIO $ getObjectPropertyULong obj "color-depth"

data DOMScreenColorDepthPropertyInfo
instance AttrInfo DOMScreenColorDepthPropertyInfo where
    type AttrAllowedOps DOMScreenColorDepthPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMScreenColorDepthPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMScreenColorDepthPropertyInfo = IsDOMScreen
    type AttrGetType DOMScreenColorDepthPropertyInfo = CULong
    type AttrLabel DOMScreenColorDepthPropertyInfo = "color-depth"
    type AttrOrigin DOMScreenColorDepthPropertyInfo = DOMScreen
    attrGet _ = getDOMScreenColorDepth
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMScreenHeight :: (MonadIO m, IsDOMScreen o) => o -> m CULong
getDOMScreenHeight obj = liftIO $ getObjectPropertyULong obj "height"

data DOMScreenHeightPropertyInfo
instance AttrInfo DOMScreenHeightPropertyInfo where
    type AttrAllowedOps DOMScreenHeightPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMScreenHeightPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMScreenHeightPropertyInfo = IsDOMScreen
    type AttrGetType DOMScreenHeightPropertyInfo = CULong
    type AttrLabel DOMScreenHeightPropertyInfo = "height"
    type AttrOrigin DOMScreenHeightPropertyInfo = DOMScreen
    attrGet _ = getDOMScreenHeight
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMScreenPixelDepth :: (MonadIO m, IsDOMScreen o) => o -> m CULong
getDOMScreenPixelDepth obj = liftIO $ getObjectPropertyULong obj "pixel-depth"

data DOMScreenPixelDepthPropertyInfo
instance AttrInfo DOMScreenPixelDepthPropertyInfo where
    type AttrAllowedOps DOMScreenPixelDepthPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMScreenPixelDepthPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMScreenPixelDepthPropertyInfo = IsDOMScreen
    type AttrGetType DOMScreenPixelDepthPropertyInfo = CULong
    type AttrLabel DOMScreenPixelDepthPropertyInfo = "pixel-depth"
    type AttrOrigin DOMScreenPixelDepthPropertyInfo = DOMScreen
    attrGet _ = getDOMScreenPixelDepth
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMScreenWidth :: (MonadIO m, IsDOMScreen o) => o -> m CULong
getDOMScreenWidth obj = liftIO $ getObjectPropertyULong obj "width"

data DOMScreenWidthPropertyInfo
instance AttrInfo DOMScreenWidthPropertyInfo where
    type AttrAllowedOps DOMScreenWidthPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMScreenWidthPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMScreenWidthPropertyInfo = IsDOMScreen
    type AttrGetType DOMScreenWidthPropertyInfo = CULong
    type AttrLabel DOMScreenWidthPropertyInfo = "width"
    type AttrOrigin DOMScreenWidthPropertyInfo = DOMScreen
    attrGet _ = getDOMScreenWidth
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

instance O.HasAttributeList DOMScreen
type instance O.AttributeList DOMScreen = DOMScreenAttributeList
type DOMScreenAttributeList = ('[ '("availHeight", DOMScreenAvailHeightPropertyInfo), '("availLeft", DOMScreenAvailLeftPropertyInfo), '("availTop", DOMScreenAvailTopPropertyInfo), '("availWidth", DOMScreenAvailWidthPropertyInfo), '("colorDepth", DOMScreenColorDepthPropertyInfo), '("coreObject", WebKit.DOMObject.DOMObjectCoreObjectPropertyInfo), '("height", DOMScreenHeightPropertyInfo), '("pixelDepth", DOMScreenPixelDepthPropertyInfo), '("width", DOMScreenWidthPropertyInfo)] :: [(Symbol, *)])

dOMScreenAvailHeight :: AttrLabelProxy "availHeight"
dOMScreenAvailHeight = AttrLabelProxy

dOMScreenAvailLeft :: AttrLabelProxy "availLeft"
dOMScreenAvailLeft = AttrLabelProxy

dOMScreenAvailTop :: AttrLabelProxy "availTop"
dOMScreenAvailTop = AttrLabelProxy

dOMScreenAvailWidth :: AttrLabelProxy "availWidth"
dOMScreenAvailWidth = AttrLabelProxy

dOMScreenColorDepth :: AttrLabelProxy "colorDepth"
dOMScreenColorDepth = AttrLabelProxy

dOMScreenHeight :: AttrLabelProxy "height"
dOMScreenHeight = AttrLabelProxy

dOMScreenPixelDepth :: AttrLabelProxy "pixelDepth"
dOMScreenPixelDepth = AttrLabelProxy

dOMScreenWidth :: AttrLabelProxy "width"
dOMScreenWidth = AttrLabelProxy

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

-- method DOMScreen::get_avail_height
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMScreen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMScreen", 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_screen_get_avail_height" webkit_dom_screen_get_avail_height :: 
    Ptr DOMScreen ->                        -- self : TInterface (Name {namespace = "WebKit", name = "DOMScreen"})
    IO CULong

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

data DOMScreenGetAvailHeightMethodInfo
instance (signature ~ (m CULong), MonadIO m, IsDOMScreen a) => O.MethodInfo DOMScreenGetAvailHeightMethodInfo a signature where
    overloadedMethod _ = dOMScreenGetAvailHeight

-- method DOMScreen::get_avail_left
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMScreen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMScreen", 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_screen_get_avail_left" webkit_dom_screen_get_avail_left :: 
    Ptr DOMScreen ->                        -- self : TInterface (Name {namespace = "WebKit", name = "DOMScreen"})
    IO CLong

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

data DOMScreenGetAvailLeftMethodInfo
instance (signature ~ (m CLong), MonadIO m, IsDOMScreen a) => O.MethodInfo DOMScreenGetAvailLeftMethodInfo a signature where
    overloadedMethod _ = dOMScreenGetAvailLeft

-- method DOMScreen::get_avail_top
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMScreen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMScreen", 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_screen_get_avail_top" webkit_dom_screen_get_avail_top :: 
    Ptr DOMScreen ->                        -- self : TInterface (Name {namespace = "WebKit", name = "DOMScreen"})
    IO CLong

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

data DOMScreenGetAvailTopMethodInfo
instance (signature ~ (m CLong), MonadIO m, IsDOMScreen a) => O.MethodInfo DOMScreenGetAvailTopMethodInfo a signature where
    overloadedMethod _ = dOMScreenGetAvailTop

-- method DOMScreen::get_avail_width
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMScreen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMScreen", 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_screen_get_avail_width" webkit_dom_screen_get_avail_width :: 
    Ptr DOMScreen ->                        -- self : TInterface (Name {namespace = "WebKit", name = "DOMScreen"})
    IO CULong

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

data DOMScreenGetAvailWidthMethodInfo
instance (signature ~ (m CULong), MonadIO m, IsDOMScreen a) => O.MethodInfo DOMScreenGetAvailWidthMethodInfo a signature where
    overloadedMethod _ = dOMScreenGetAvailWidth

-- method DOMScreen::get_color_depth
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMScreen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMScreen", 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_screen_get_color_depth" webkit_dom_screen_get_color_depth :: 
    Ptr DOMScreen ->                        -- self : TInterface (Name {namespace = "WebKit", name = "DOMScreen"})
    IO CULong

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

data DOMScreenGetColorDepthMethodInfo
instance (signature ~ (m CULong), MonadIO m, IsDOMScreen a) => O.MethodInfo DOMScreenGetColorDepthMethodInfo a signature where
    overloadedMethod _ = dOMScreenGetColorDepth

-- method DOMScreen::get_height
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMScreen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMScreen", 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_screen_get_height" webkit_dom_screen_get_height :: 
    Ptr DOMScreen ->                        -- self : TInterface (Name {namespace = "WebKit", name = "DOMScreen"})
    IO CULong

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

data DOMScreenGetHeightMethodInfo
instance (signature ~ (m CULong), MonadIO m, IsDOMScreen a) => O.MethodInfo DOMScreenGetHeightMethodInfo a signature where
    overloadedMethod _ = dOMScreenGetHeight

-- method DOMScreen::get_pixel_depth
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMScreen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMScreen", 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_screen_get_pixel_depth" webkit_dom_screen_get_pixel_depth :: 
    Ptr DOMScreen ->                        -- self : TInterface (Name {namespace = "WebKit", name = "DOMScreen"})
    IO CULong

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

data DOMScreenGetPixelDepthMethodInfo
instance (signature ~ (m CULong), MonadIO m, IsDOMScreen a) => O.MethodInfo DOMScreenGetPixelDepthMethodInfo a signature where
    overloadedMethod _ = dOMScreenGetPixelDepth

-- method DOMScreen::get_width
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMScreen"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMScreen", 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_screen_get_width" webkit_dom_screen_get_width :: 
    Ptr DOMScreen ->                        -- self : TInterface (Name {namespace = "WebKit", name = "DOMScreen"})
    IO CULong

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

data DOMScreenGetWidthMethodInfo
instance (signature ~ (m CULong), MonadIO m, IsDOMScreen a) => O.MethodInfo DOMScreenGetWidthMethodInfo a signature where
    overloadedMethod _ = dOMScreenGetWidth