{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.WebKit2WebExtension.Objects.DOMClientRectList
(
DOMClientRectList(..) ,
IsDOMClientRectList ,
toDOMClientRectList ,
#if defined(ENABLE_OVERLOADING)
ResolveDOMClientRectListMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
DOMClientRectListGetLengthMethodInfo ,
#endif
dOMClientRectListGetLength ,
#if defined(ENABLE_OVERLOADING)
DOMClientRectListItemMethodInfo ,
#endif
dOMClientRectListItem ,
#if defined(ENABLE_OVERLOADING)
DOMClientRectListLengthPropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
dOMClientRectListLength ,
#endif
getDOMClientRectListLength ,
) 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.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMClientRect as WebKit2WebExtension.DOMClientRect
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMObject as WebKit2WebExtension.DOMObject
newtype DOMClientRectList = DOMClientRectList (SP.ManagedPtr DOMClientRectList)
deriving (DOMClientRectList -> DOMClientRectList -> Bool
(DOMClientRectList -> DOMClientRectList -> Bool)
-> (DOMClientRectList -> DOMClientRectList -> Bool)
-> Eq DOMClientRectList
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DOMClientRectList -> DOMClientRectList -> Bool
== :: DOMClientRectList -> DOMClientRectList -> Bool
$c/= :: DOMClientRectList -> DOMClientRectList -> Bool
/= :: DOMClientRectList -> DOMClientRectList -> Bool
Eq)
instance SP.ManagedPtrNewtype DOMClientRectList where
toManagedPtr :: DOMClientRectList -> ManagedPtr DOMClientRectList
toManagedPtr (DOMClientRectList ManagedPtr DOMClientRectList
p) = ManagedPtr DOMClientRectList
p
foreign import ccall "webkit_dom_client_rect_list_get_type"
c_webkit_dom_client_rect_list_get_type :: IO B.Types.GType
instance B.Types.TypedObject DOMClientRectList where
glibType :: IO GType
glibType = IO GType
c_webkit_dom_client_rect_list_get_type
instance B.Types.GObject DOMClientRectList
class (SP.GObject o, O.IsDescendantOf DOMClientRectList o) => IsDOMClientRectList o
instance (SP.GObject o, O.IsDescendantOf DOMClientRectList o) => IsDOMClientRectList o
instance O.HasParentTypes DOMClientRectList
type instance O.ParentTypes DOMClientRectList = '[WebKit2WebExtension.DOMObject.DOMObject, GObject.Object.Object]
toDOMClientRectList :: (MIO.MonadIO m, IsDOMClientRectList o) => o -> m DOMClientRectList
toDOMClientRectList :: forall (m :: * -> *) o.
(MonadIO m, IsDOMClientRectList o) =>
o -> m DOMClientRectList
toDOMClientRectList = IO DOMClientRectList -> m DOMClientRectList
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO DOMClientRectList -> m DOMClientRectList)
-> (o -> IO DOMClientRectList) -> o -> m DOMClientRectList
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr DOMClientRectList -> DOMClientRectList)
-> o -> IO DOMClientRectList
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr DOMClientRectList -> DOMClientRectList
DOMClientRectList
instance B.GValue.IsGValue (Maybe DOMClientRectList) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_webkit_dom_client_rect_list_get_type
gvalueSet_ :: Ptr GValue -> Maybe DOMClientRectList -> IO ()
gvalueSet_ Ptr GValue
gv Maybe DOMClientRectList
P.Nothing = Ptr GValue -> Ptr DOMClientRectList -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr DOMClientRectList
forall a. Ptr a
FP.nullPtr :: FP.Ptr DOMClientRectList)
gvalueSet_ Ptr GValue
gv (P.Just DOMClientRectList
obj) = DOMClientRectList -> (Ptr DOMClientRectList -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr DOMClientRectList
obj (Ptr GValue -> Ptr DOMClientRectList -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe DOMClientRectList)
gvalueGet_ Ptr GValue
gv = do
Ptr DOMClientRectList
ptr <- Ptr GValue -> IO (Ptr DOMClientRectList)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr DOMClientRectList)
if Ptr DOMClientRectList
ptr Ptr DOMClientRectList -> Ptr DOMClientRectList -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr DOMClientRectList
forall a. Ptr a
FP.nullPtr
then DOMClientRectList -> Maybe DOMClientRectList
forall a. a -> Maybe a
P.Just (DOMClientRectList -> Maybe DOMClientRectList)
-> IO DOMClientRectList -> IO (Maybe DOMClientRectList)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr DOMClientRectList -> DOMClientRectList)
-> Ptr DOMClientRectList -> IO DOMClientRectList
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr DOMClientRectList -> DOMClientRectList
DOMClientRectList Ptr DOMClientRectList
ptr
else Maybe DOMClientRectList -> IO (Maybe DOMClientRectList)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe DOMClientRectList
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveDOMClientRectListMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveDOMClientRectListMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveDOMClientRectListMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveDOMClientRectListMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveDOMClientRectListMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveDOMClientRectListMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveDOMClientRectListMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveDOMClientRectListMethod "item" o = DOMClientRectListItemMethodInfo
ResolveDOMClientRectListMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveDOMClientRectListMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveDOMClientRectListMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveDOMClientRectListMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveDOMClientRectListMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveDOMClientRectListMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveDOMClientRectListMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveDOMClientRectListMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveDOMClientRectListMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveDOMClientRectListMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveDOMClientRectListMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveDOMClientRectListMethod "getLength" o = DOMClientRectListGetLengthMethodInfo
ResolveDOMClientRectListMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveDOMClientRectListMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveDOMClientRectListMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveDOMClientRectListMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveDOMClientRectListMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveDOMClientRectListMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveDOMClientRectListMethod t DOMClientRectList, O.OverloadedMethod info DOMClientRectList p) => OL.IsLabel t (DOMClientRectList -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveDOMClientRectListMethod t DOMClientRectList, O.OverloadedMethod info DOMClientRectList p, R.HasField t DOMClientRectList p) => R.HasField t DOMClientRectList p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveDOMClientRectListMethod t DOMClientRectList, O.OverloadedMethodInfo info DOMClientRectList) => OL.IsLabel t (O.MethodProxy info DOMClientRectList) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
getDOMClientRectListLength :: (MonadIO m, IsDOMClientRectList o) => o -> m CULong
getDOMClientRectListLength :: forall (m :: * -> *) o.
(MonadIO m, IsDOMClientRectList o) =>
o -> m CULong
getDOMClientRectListLength o
obj = IO CULong -> m CULong
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO CULong -> m CULong) -> IO CULong -> m CULong
forall a b. (a -> b) -> a -> b
$ o -> String -> IO CULong
forall a. GObject a => a -> String -> IO CULong
B.Properties.getObjectPropertyULong o
obj String
"length"
#if defined(ENABLE_OVERLOADING)
data DOMClientRectListLengthPropertyInfo
instance AttrInfo DOMClientRectListLengthPropertyInfo where
type AttrAllowedOps DOMClientRectListLengthPropertyInfo = '[ 'AttrGet]
type AttrBaseTypeConstraint DOMClientRectListLengthPropertyInfo = IsDOMClientRectList
type AttrSetTypeConstraint DOMClientRectListLengthPropertyInfo = (~) ()
type AttrTransferTypeConstraint DOMClientRectListLengthPropertyInfo = (~) ()
type AttrTransferType DOMClientRectListLengthPropertyInfo = ()
type AttrGetType DOMClientRectListLengthPropertyInfo = CULong
type AttrLabel DOMClientRectListLengthPropertyInfo = "length"
type AttrOrigin DOMClientRectListLengthPropertyInfo = DOMClientRectList
attrGet = getDOMClientRectListLength
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMClientRectList.length"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.30/docs/GI-WebKit2WebExtension-Objects-DOMClientRectList.html#g:attr:length"
})
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList DOMClientRectList
type instance O.AttributeList DOMClientRectList = DOMClientRectListAttributeList
type DOMClientRectListAttributeList = ('[ '("coreObject", WebKit2WebExtension.DOMObject.DOMObjectCoreObjectPropertyInfo), '("length", DOMClientRectListLengthPropertyInfo)] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
dOMClientRectListLength :: AttrLabelProxy "length"
dOMClientRectListLength = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList DOMClientRectList = DOMClientRectListSignalList
type DOMClientRectListSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "webkit_dom_client_rect_list_get_length" webkit_dom_client_rect_list_get_length ::
Ptr DOMClientRectList ->
IO CULong
{-# DEPRECATED dOMClientRectListGetLength ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
dOMClientRectListGetLength ::
(B.CallStack.HasCallStack, MonadIO m, IsDOMClientRectList a) =>
a
-> m CULong
dOMClientRectListGetLength :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMClientRectList a) =>
a -> m CULong
dOMClientRectListGetLength a
self = IO CULong -> m CULong
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO CULong -> m CULong) -> IO CULong -> m CULong
forall a b. (a -> b) -> a -> b
$ do
Ptr DOMClientRectList
self' <- a -> IO (Ptr DOMClientRectList)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
CULong
result <- Ptr DOMClientRectList -> IO CULong
webkit_dom_client_rect_list_get_length Ptr DOMClientRectList
self'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
CULong -> IO CULong
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CULong
result
#if defined(ENABLE_OVERLOADING)
data DOMClientRectListGetLengthMethodInfo
instance (signature ~ (m CULong), MonadIO m, IsDOMClientRectList a) => O.OverloadedMethod DOMClientRectListGetLengthMethodInfo a signature where
overloadedMethod = dOMClientRectListGetLength
instance O.OverloadedMethodInfo DOMClientRectListGetLengthMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMClientRectList.dOMClientRectListGetLength",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.30/docs/GI-WebKit2WebExtension-Objects-DOMClientRectList.html#v:dOMClientRectListGetLength"
})
#endif
foreign import ccall "webkit_dom_client_rect_list_item" webkit_dom_client_rect_list_item ::
Ptr DOMClientRectList ->
CULong ->
IO (Ptr WebKit2WebExtension.DOMClientRect.DOMClientRect)
{-# DEPRECATED dOMClientRectListItem ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
dOMClientRectListItem ::
(B.CallStack.HasCallStack, MonadIO m, IsDOMClientRectList a) =>
a
-> CULong
-> m WebKit2WebExtension.DOMClientRect.DOMClientRect
dOMClientRectListItem :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsDOMClientRectList a) =>
a -> CULong -> m DOMClientRect
dOMClientRectListItem a
self CULong
index = IO DOMClientRect -> m DOMClientRect
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DOMClientRect -> m DOMClientRect)
-> IO DOMClientRect -> m DOMClientRect
forall a b. (a -> b) -> a -> b
$ do
Ptr DOMClientRectList
self' <- a -> IO (Ptr DOMClientRectList)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
self
Ptr DOMClientRect
result <- Ptr DOMClientRectList -> CULong -> IO (Ptr DOMClientRect)
webkit_dom_client_rect_list_item Ptr DOMClientRectList
self' CULong
index
Text -> Ptr DOMClientRect -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"dOMClientRectListItem" Ptr DOMClientRect
result
DOMClientRect
result' <- ((ManagedPtr DOMClientRect -> DOMClientRect)
-> Ptr DOMClientRect -> IO DOMClientRect
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr DOMClientRect -> DOMClientRect
WebKit2WebExtension.DOMClientRect.DOMClientRect) Ptr DOMClientRect
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
self
DOMClientRect -> IO DOMClientRect
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return DOMClientRect
result'
#if defined(ENABLE_OVERLOADING)
data DOMClientRectListItemMethodInfo
instance (signature ~ (CULong -> m WebKit2WebExtension.DOMClientRect.DOMClientRect), MonadIO m, IsDOMClientRectList a) => O.OverloadedMethod DOMClientRectListItemMethodInfo a signature where
overloadedMethod = dOMClientRectListItem
instance O.OverloadedMethodInfo DOMClientRectListItemMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.WebKit2WebExtension.Objects.DOMClientRectList.dOMClientRectListItem",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2webextension-4.0.30/docs/GI-WebKit2WebExtension-Objects-DOMClientRectList.html#v:dOMClientRectListItem"
})
#endif