{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- /No description available in the introspection data./

#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif

module GI.WebKit2.Objects.HitTestResult
    ( 

-- * Exported types
    HitTestResult(..)                       ,
    IsHitTestResult                         ,
    toHitTestResult                         ,


 -- * Methods
-- | 
-- 
--  === __Click to display all available methods, including inherited ones__
-- ==== Methods
-- [bindProperty]("GI.GObject.Objects.Object#g:method:bindProperty"), [bindPropertyFull]("GI.GObject.Objects.Object#g:method:bindPropertyFull"), [contextIsEditable]("GI.WebKit2.Objects.HitTestResult#g:method:contextIsEditable"), [contextIsImage]("GI.WebKit2.Objects.HitTestResult#g:method:contextIsImage"), [contextIsLink]("GI.WebKit2.Objects.HitTestResult#g:method:contextIsLink"), [contextIsMedia]("GI.WebKit2.Objects.HitTestResult#g:method:contextIsMedia"), [contextIsScrollbar]("GI.WebKit2.Objects.HitTestResult#g:method:contextIsScrollbar"), [contextIsSelection]("GI.WebKit2.Objects.HitTestResult#g:method:contextIsSelection"), [forceFloating]("GI.GObject.Objects.Object#g:method:forceFloating"), [freezeNotify]("GI.GObject.Objects.Object#g:method:freezeNotify"), [getv]("GI.GObject.Objects.Object#g:method:getv"), [isFloating]("GI.GObject.Objects.Object#g:method:isFloating"), [notify]("GI.GObject.Objects.Object#g:method:notify"), [notifyByPspec]("GI.GObject.Objects.Object#g:method:notifyByPspec"), [ref]("GI.GObject.Objects.Object#g:method:ref"), [refSink]("GI.GObject.Objects.Object#g:method:refSink"), [runDispose]("GI.GObject.Objects.Object#g:method:runDispose"), [stealData]("GI.GObject.Objects.Object#g:method:stealData"), [stealQdata]("GI.GObject.Objects.Object#g:method:stealQdata"), [thawNotify]("GI.GObject.Objects.Object#g:method:thawNotify"), [unref]("GI.GObject.Objects.Object#g:method:unref"), [watchClosure]("GI.GObject.Objects.Object#g:method:watchClosure").
-- 
-- ==== Getters
-- [getContext]("GI.WebKit2.Objects.HitTestResult#g:method:getContext"), [getData]("GI.GObject.Objects.Object#g:method:getData"), [getImageUri]("GI.WebKit2.Objects.HitTestResult#g:method:getImageUri"), [getLinkLabel]("GI.WebKit2.Objects.HitTestResult#g:method:getLinkLabel"), [getLinkTitle]("GI.WebKit2.Objects.HitTestResult#g:method:getLinkTitle"), [getLinkUri]("GI.WebKit2.Objects.HitTestResult#g:method:getLinkUri"), [getMediaUri]("GI.WebKit2.Objects.HitTestResult#g:method:getMediaUri"), [getProperty]("GI.GObject.Objects.Object#g:method:getProperty"), [getQdata]("GI.GObject.Objects.Object#g:method:getQdata").
-- 
-- ==== Setters
-- [setData]("GI.GObject.Objects.Object#g:method:setData"), [setDataFull]("GI.GObject.Objects.Object#g:method:setDataFull"), [setProperty]("GI.GObject.Objects.Object#g:method:setProperty").

#if defined(ENABLE_OVERLOADING)
    ResolveHitTestResultMethod              ,
#endif

-- ** contextIsEditable #method:contextIsEditable#

#if defined(ENABLE_OVERLOADING)
    HitTestResultContextIsEditableMethodInfo,
#endif
    hitTestResultContextIsEditable          ,


-- ** contextIsImage #method:contextIsImage#

#if defined(ENABLE_OVERLOADING)
    HitTestResultContextIsImageMethodInfo   ,
#endif
    hitTestResultContextIsImage             ,


-- ** contextIsLink #method:contextIsLink#

#if defined(ENABLE_OVERLOADING)
    HitTestResultContextIsLinkMethodInfo    ,
#endif
    hitTestResultContextIsLink              ,


-- ** contextIsMedia #method:contextIsMedia#

#if defined(ENABLE_OVERLOADING)
    HitTestResultContextIsMediaMethodInfo   ,
#endif
    hitTestResultContextIsMedia             ,


-- ** contextIsScrollbar #method:contextIsScrollbar#

#if defined(ENABLE_OVERLOADING)
    HitTestResultContextIsScrollbarMethodInfo,
#endif
    hitTestResultContextIsScrollbar         ,


-- ** contextIsSelection #method:contextIsSelection#

#if defined(ENABLE_OVERLOADING)
    HitTestResultContextIsSelectionMethodInfo,
#endif
    hitTestResultContextIsSelection         ,


-- ** getContext #method:getContext#

#if defined(ENABLE_OVERLOADING)
    HitTestResultGetContextMethodInfo       ,
#endif
    hitTestResultGetContext                 ,


-- ** getImageUri #method:getImageUri#

#if defined(ENABLE_OVERLOADING)
    HitTestResultGetImageUriMethodInfo      ,
#endif
    hitTestResultGetImageUri                ,


-- ** getLinkLabel #method:getLinkLabel#

#if defined(ENABLE_OVERLOADING)
    HitTestResultGetLinkLabelMethodInfo     ,
#endif
    hitTestResultGetLinkLabel               ,


-- ** getLinkTitle #method:getLinkTitle#

#if defined(ENABLE_OVERLOADING)
    HitTestResultGetLinkTitleMethodInfo     ,
#endif
    hitTestResultGetLinkTitle               ,


-- ** getLinkUri #method:getLinkUri#

#if defined(ENABLE_OVERLOADING)
    HitTestResultGetLinkUriMethodInfo       ,
#endif
    hitTestResultGetLinkUri                 ,


-- ** getMediaUri #method:getMediaUri#

#if defined(ENABLE_OVERLOADING)
    HitTestResultGetMediaUriMethodInfo      ,
#endif
    hitTestResultGetMediaUri                ,




 -- * Properties


-- ** context #attr:context#
-- | Bitmask of t'GI.WebKit2.Flags.HitTestResultContext' flags representing
-- the context of the t'GI.WebKit2.Objects.HitTestResult.HitTestResult'.

#if defined(ENABLE_OVERLOADING)
    HitTestResultContextPropertyInfo        ,
#endif
    constructHitTestResultContext           ,
    getHitTestResultContext                 ,
#if defined(ENABLE_OVERLOADING)
    hitTestResultContext                    ,
#endif


-- ** imageUri #attr:imageUri#
-- | The URI of the image if flag 'GI.WebKit2.Flags.HitTestResultContextImage'
-- is present in t'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@

#if defined(ENABLE_OVERLOADING)
    HitTestResultImageUriPropertyInfo       ,
#endif
    constructHitTestResultImageUri          ,
    getHitTestResultImageUri                ,
#if defined(ENABLE_OVERLOADING)
    hitTestResultImageUri                   ,
#endif


-- ** linkLabel #attr:linkLabel#
-- | The label of the link if flag 'GI.WebKit2.Flags.HitTestResultContextLink'
-- is present in t'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@

#if defined(ENABLE_OVERLOADING)
    HitTestResultLinkLabelPropertyInfo      ,
#endif
    constructHitTestResultLinkLabel         ,
    getHitTestResultLinkLabel               ,
#if defined(ENABLE_OVERLOADING)
    hitTestResultLinkLabel                  ,
#endif


-- ** linkTitle #attr:linkTitle#
-- | The title of the link if flag 'GI.WebKit2.Flags.HitTestResultContextLink'
-- is present in t'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@

#if defined(ENABLE_OVERLOADING)
    HitTestResultLinkTitlePropertyInfo      ,
#endif
    constructHitTestResultLinkTitle         ,
    getHitTestResultLinkTitle               ,
#if defined(ENABLE_OVERLOADING)
    hitTestResultLinkTitle                  ,
#endif


-- ** linkUri #attr:linkUri#
-- | The URI of the link if flag 'GI.WebKit2.Flags.HitTestResultContextLink'
-- is present in t'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@

#if defined(ENABLE_OVERLOADING)
    HitTestResultLinkUriPropertyInfo        ,
#endif
    constructHitTestResultLinkUri           ,
    getHitTestResultLinkUri                 ,
#if defined(ENABLE_OVERLOADING)
    hitTestResultLinkUri                    ,
#endif


-- ** mediaUri #attr:mediaUri#
-- | The URI of the media if flag 'GI.WebKit2.Flags.HitTestResultContextMedia'
-- is present in t'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@

#if defined(ENABLE_OVERLOADING)
    HitTestResultMediaUriPropertyInfo       ,
#endif
    constructHitTestResultMediaUri          ,
    getHitTestResultMediaUri                ,
#if defined(ENABLE_OVERLOADING)
    hitTestResultMediaUri                   ,
#endif




    ) 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.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.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

-- | Memory-managed wrapper type.
newtype HitTestResult = HitTestResult (SP.ManagedPtr HitTestResult)
    deriving (HitTestResult -> HitTestResult -> Bool
(HitTestResult -> HitTestResult -> Bool)
-> (HitTestResult -> HitTestResult -> Bool) -> Eq HitTestResult
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: HitTestResult -> HitTestResult -> Bool
$c/= :: HitTestResult -> HitTestResult -> Bool
== :: HitTestResult -> HitTestResult -> Bool
$c== :: HitTestResult -> HitTestResult -> Bool
Eq)

instance SP.ManagedPtrNewtype HitTestResult where
    toManagedPtr :: HitTestResult -> ManagedPtr HitTestResult
toManagedPtr (HitTestResult ManagedPtr HitTestResult
p) = ManagedPtr HitTestResult
p

foreign import ccall "webkit_hit_test_result_get_type"
    c_webkit_hit_test_result_get_type :: IO B.Types.GType

instance B.Types.TypedObject HitTestResult where
    glibType :: IO GType
glibType = IO GType
c_webkit_hit_test_result_get_type

instance B.Types.GObject HitTestResult

-- | Type class for types which can be safely cast to `HitTestResult`, for instance with `toHitTestResult`.
class (SP.GObject o, O.IsDescendantOf HitTestResult o) => IsHitTestResult o
instance (SP.GObject o, O.IsDescendantOf HitTestResult o) => IsHitTestResult o

instance O.HasParentTypes HitTestResult
type instance O.ParentTypes HitTestResult = '[GObject.Object.Object]

-- | Cast to `HitTestResult`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toHitTestResult :: (MIO.MonadIO m, IsHitTestResult o) => o -> m HitTestResult
toHitTestResult :: forall (m :: * -> *) o.
(MonadIO m, IsHitTestResult o) =>
o -> m HitTestResult
toHitTestResult = IO HitTestResult -> m HitTestResult
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO HitTestResult -> m HitTestResult)
-> (o -> IO HitTestResult) -> o -> m HitTestResult
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr HitTestResult -> HitTestResult)
-> o -> IO HitTestResult
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
 ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr HitTestResult -> HitTestResult
HitTestResult

-- | Convert 'HitTestResult' to and from 'Data.GI.Base.GValue.GValue'. See 'Data.GI.Base.GValue.toGValue' and 'Data.GI.Base.GValue.fromGValue'.
instance B.GValue.IsGValue (Maybe HitTestResult) where
    gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_webkit_hit_test_result_get_type
    gvalueSet_ :: Ptr GValue -> Maybe HitTestResult -> IO ()
gvalueSet_ Ptr GValue
gv Maybe HitTestResult
P.Nothing = Ptr GValue -> Ptr HitTestResult -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr HitTestResult
forall a. Ptr a
FP.nullPtr :: FP.Ptr HitTestResult)
    gvalueSet_ Ptr GValue
gv (P.Just HitTestResult
obj) = HitTestResult -> (Ptr HitTestResult -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr HitTestResult
obj (Ptr GValue -> Ptr HitTestResult -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
    gvalueGet_ :: Ptr GValue -> IO (Maybe HitTestResult)
gvalueGet_ Ptr GValue
gv = do
        Ptr HitTestResult
ptr <- Ptr GValue -> IO (Ptr HitTestResult)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr HitTestResult)
        if Ptr HitTestResult
ptr Ptr HitTestResult -> Ptr HitTestResult -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr HitTestResult
forall a. Ptr a
FP.nullPtr
        then HitTestResult -> Maybe HitTestResult
forall a. a -> Maybe a
P.Just (HitTestResult -> Maybe HitTestResult)
-> IO HitTestResult -> IO (Maybe HitTestResult)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr HitTestResult -> HitTestResult)
-> Ptr HitTestResult -> IO HitTestResult
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr HitTestResult -> HitTestResult
HitTestResult Ptr HitTestResult
ptr
        else Maybe HitTestResult -> IO (Maybe HitTestResult)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe HitTestResult
forall a. Maybe a
P.Nothing
        
    

#if defined(ENABLE_OVERLOADING)
type family ResolveHitTestResultMethod (t :: Symbol) (o :: *) :: * where
    ResolveHitTestResultMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveHitTestResultMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveHitTestResultMethod "contextIsEditable" o = HitTestResultContextIsEditableMethodInfo
    ResolveHitTestResultMethod "contextIsImage" o = HitTestResultContextIsImageMethodInfo
    ResolveHitTestResultMethod "contextIsLink" o = HitTestResultContextIsLinkMethodInfo
    ResolveHitTestResultMethod "contextIsMedia" o = HitTestResultContextIsMediaMethodInfo
    ResolveHitTestResultMethod "contextIsScrollbar" o = HitTestResultContextIsScrollbarMethodInfo
    ResolveHitTestResultMethod "contextIsSelection" o = HitTestResultContextIsSelectionMethodInfo
    ResolveHitTestResultMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveHitTestResultMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveHitTestResultMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveHitTestResultMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveHitTestResultMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveHitTestResultMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveHitTestResultMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveHitTestResultMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveHitTestResultMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveHitTestResultMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveHitTestResultMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveHitTestResultMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveHitTestResultMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveHitTestResultMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveHitTestResultMethod "getContext" o = HitTestResultGetContextMethodInfo
    ResolveHitTestResultMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveHitTestResultMethod "getImageUri" o = HitTestResultGetImageUriMethodInfo
    ResolveHitTestResultMethod "getLinkLabel" o = HitTestResultGetLinkLabelMethodInfo
    ResolveHitTestResultMethod "getLinkTitle" o = HitTestResultGetLinkTitleMethodInfo
    ResolveHitTestResultMethod "getLinkUri" o = HitTestResultGetLinkUriMethodInfo
    ResolveHitTestResultMethod "getMediaUri" o = HitTestResultGetMediaUriMethodInfo
    ResolveHitTestResultMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveHitTestResultMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveHitTestResultMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveHitTestResultMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolveHitTestResultMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveHitTestResultMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveHitTestResultMethod t HitTestResult, O.OverloadedMethod info HitTestResult p) => OL.IsLabel t (HitTestResult -> 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 ~ ResolveHitTestResultMethod t HitTestResult, O.OverloadedMethod info HitTestResult p, R.HasField t HitTestResult p) => R.HasField t HitTestResult p where
    getField = O.overloadedMethod @info

#endif

instance (info ~ ResolveHitTestResultMethod t HitTestResult, O.OverloadedMethodInfo info HitTestResult) => OL.IsLabel t (O.MethodProxy info HitTestResult) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.MethodProxy
#else
    fromLabel _ = O.MethodProxy
#endif

#endif

-- VVV Prop "context"
   -- Type: TBasicType TUInt
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
   -- Nullable: (Just False,Nothing)

-- | Get the value of the “@context@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' hitTestResult #context
-- @
getHitTestResultContext :: (MonadIO m, IsHitTestResult o) => o -> m Word32
getHitTestResultContext :: forall (m :: * -> *) o.
(MonadIO m, IsHitTestResult o) =>
o -> m Word32
getHitTestResultContext o
obj = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Word32
forall a. GObject a => a -> String -> IO Word32
B.Properties.getObjectPropertyUInt32 o
obj String
"context"

-- | Construct a `GValueConstruct` with valid value for the “@context@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructHitTestResultContext :: (IsHitTestResult o, MIO.MonadIO m) => Word32 -> m (GValueConstruct o)
constructHitTestResultContext :: forall o (m :: * -> *).
(IsHitTestResult o, MonadIO m) =>
Word32 -> m (GValueConstruct o)
constructHitTestResultContext Word32
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Word32 -> IO (GValueConstruct o)
forall o. String -> Word32 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyUInt32 String
"context" Word32
val

#if defined(ENABLE_OVERLOADING)
data HitTestResultContextPropertyInfo
instance AttrInfo HitTestResultContextPropertyInfo where
    type AttrAllowedOps HitTestResultContextPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint HitTestResultContextPropertyInfo = IsHitTestResult
    type AttrSetTypeConstraint HitTestResultContextPropertyInfo = (~) Word32
    type AttrTransferTypeConstraint HitTestResultContextPropertyInfo = (~) Word32
    type AttrTransferType HitTestResultContextPropertyInfo = Word32
    type AttrGetType HitTestResultContextPropertyInfo = Word32
    type AttrLabel HitTestResultContextPropertyInfo = "context"
    type AttrOrigin HitTestResultContextPropertyInfo = HitTestResult
    attrGet = getHitTestResultContext
    attrSet = undefined
    attrTransfer _ v = do
        return v
    attrConstruct = constructHitTestResultContext
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2.Objects.HitTestResult.context"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.28/docs/GI-WebKit2-Objects-HitTestResult.html#g:attr:context"
        })
#endif

-- VVV Prop "image-uri"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
   -- Nullable: (Just True,Nothing)

-- | Get the value of the “@image-uri@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' hitTestResult #imageUri
-- @
getHitTestResultImageUri :: (MonadIO m, IsHitTestResult o) => o -> m (Maybe T.Text)
getHitTestResultImageUri :: forall (m :: * -> *) o.
(MonadIO m, IsHitTestResult o) =>
o -> m (Maybe Text)
getHitTestResultImageUri o
obj = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"image-uri"

-- | Construct a `GValueConstruct` with valid value for the “@image-uri@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructHitTestResultImageUri :: (IsHitTestResult o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructHitTestResultImageUri :: forall o (m :: * -> *).
(IsHitTestResult o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructHitTestResultImageUri Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"image-uri" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

#if defined(ENABLE_OVERLOADING)
data HitTestResultImageUriPropertyInfo
instance AttrInfo HitTestResultImageUriPropertyInfo where
    type AttrAllowedOps HitTestResultImageUriPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint HitTestResultImageUriPropertyInfo = IsHitTestResult
    type AttrSetTypeConstraint HitTestResultImageUriPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint HitTestResultImageUriPropertyInfo = (~) T.Text
    type AttrTransferType HitTestResultImageUriPropertyInfo = T.Text
    type AttrGetType HitTestResultImageUriPropertyInfo = (Maybe T.Text)
    type AttrLabel HitTestResultImageUriPropertyInfo = "image-uri"
    type AttrOrigin HitTestResultImageUriPropertyInfo = HitTestResult
    attrGet = getHitTestResultImageUri
    attrSet = undefined
    attrTransfer _ v = do
        return v
    attrConstruct = constructHitTestResultImageUri
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2.Objects.HitTestResult.imageUri"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.28/docs/GI-WebKit2-Objects-HitTestResult.html#g:attr:imageUri"
        })
#endif

-- VVV Prop "link-label"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
   -- Nullable: (Just True,Nothing)

-- | Get the value of the “@link-label@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' hitTestResult #linkLabel
-- @
getHitTestResultLinkLabel :: (MonadIO m, IsHitTestResult o) => o -> m (Maybe T.Text)
getHitTestResultLinkLabel :: forall (m :: * -> *) o.
(MonadIO m, IsHitTestResult o) =>
o -> m (Maybe Text)
getHitTestResultLinkLabel o
obj = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"link-label"

-- | Construct a `GValueConstruct` with valid value for the “@link-label@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructHitTestResultLinkLabel :: (IsHitTestResult o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructHitTestResultLinkLabel :: forall o (m :: * -> *).
(IsHitTestResult o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructHitTestResultLinkLabel Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"link-label" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

#if defined(ENABLE_OVERLOADING)
data HitTestResultLinkLabelPropertyInfo
instance AttrInfo HitTestResultLinkLabelPropertyInfo where
    type AttrAllowedOps HitTestResultLinkLabelPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint HitTestResultLinkLabelPropertyInfo = IsHitTestResult
    type AttrSetTypeConstraint HitTestResultLinkLabelPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint HitTestResultLinkLabelPropertyInfo = (~) T.Text
    type AttrTransferType HitTestResultLinkLabelPropertyInfo = T.Text
    type AttrGetType HitTestResultLinkLabelPropertyInfo = (Maybe T.Text)
    type AttrLabel HitTestResultLinkLabelPropertyInfo = "link-label"
    type AttrOrigin HitTestResultLinkLabelPropertyInfo = HitTestResult
    attrGet = getHitTestResultLinkLabel
    attrSet = undefined
    attrTransfer _ v = do
        return v
    attrConstruct = constructHitTestResultLinkLabel
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2.Objects.HitTestResult.linkLabel"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.28/docs/GI-WebKit2-Objects-HitTestResult.html#g:attr:linkLabel"
        })
#endif

-- VVV Prop "link-title"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
   -- Nullable: (Just True,Nothing)

-- | Get the value of the “@link-title@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' hitTestResult #linkTitle
-- @
getHitTestResultLinkTitle :: (MonadIO m, IsHitTestResult o) => o -> m (Maybe T.Text)
getHitTestResultLinkTitle :: forall (m :: * -> *) o.
(MonadIO m, IsHitTestResult o) =>
o -> m (Maybe Text)
getHitTestResultLinkTitle o
obj = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"link-title"

-- | Construct a `GValueConstruct` with valid value for the “@link-title@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructHitTestResultLinkTitle :: (IsHitTestResult o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructHitTestResultLinkTitle :: forall o (m :: * -> *).
(IsHitTestResult o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructHitTestResultLinkTitle Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"link-title" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

#if defined(ENABLE_OVERLOADING)
data HitTestResultLinkTitlePropertyInfo
instance AttrInfo HitTestResultLinkTitlePropertyInfo where
    type AttrAllowedOps HitTestResultLinkTitlePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint HitTestResultLinkTitlePropertyInfo = IsHitTestResult
    type AttrSetTypeConstraint HitTestResultLinkTitlePropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint HitTestResultLinkTitlePropertyInfo = (~) T.Text
    type AttrTransferType HitTestResultLinkTitlePropertyInfo = T.Text
    type AttrGetType HitTestResultLinkTitlePropertyInfo = (Maybe T.Text)
    type AttrLabel HitTestResultLinkTitlePropertyInfo = "link-title"
    type AttrOrigin HitTestResultLinkTitlePropertyInfo = HitTestResult
    attrGet = getHitTestResultLinkTitle
    attrSet = undefined
    attrTransfer _ v = do
        return v
    attrConstruct = constructHitTestResultLinkTitle
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2.Objects.HitTestResult.linkTitle"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.28/docs/GI-WebKit2-Objects-HitTestResult.html#g:attr:linkTitle"
        })
#endif

-- VVV Prop "link-uri"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
   -- Nullable: (Just True,Nothing)

-- | Get the value of the “@link-uri@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' hitTestResult #linkUri
-- @
getHitTestResultLinkUri :: (MonadIO m, IsHitTestResult o) => o -> m (Maybe T.Text)
getHitTestResultLinkUri :: forall (m :: * -> *) o.
(MonadIO m, IsHitTestResult o) =>
o -> m (Maybe Text)
getHitTestResultLinkUri o
obj = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"link-uri"

-- | Construct a `GValueConstruct` with valid value for the “@link-uri@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructHitTestResultLinkUri :: (IsHitTestResult o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructHitTestResultLinkUri :: forall o (m :: * -> *).
(IsHitTestResult o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructHitTestResultLinkUri Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"link-uri" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

#if defined(ENABLE_OVERLOADING)
data HitTestResultLinkUriPropertyInfo
instance AttrInfo HitTestResultLinkUriPropertyInfo where
    type AttrAllowedOps HitTestResultLinkUriPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint HitTestResultLinkUriPropertyInfo = IsHitTestResult
    type AttrSetTypeConstraint HitTestResultLinkUriPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint HitTestResultLinkUriPropertyInfo = (~) T.Text
    type AttrTransferType HitTestResultLinkUriPropertyInfo = T.Text
    type AttrGetType HitTestResultLinkUriPropertyInfo = (Maybe T.Text)
    type AttrLabel HitTestResultLinkUriPropertyInfo = "link-uri"
    type AttrOrigin HitTestResultLinkUriPropertyInfo = HitTestResult
    attrGet = getHitTestResultLinkUri
    attrSet = undefined
    attrTransfer _ v = do
        return v
    attrConstruct = constructHitTestResultLinkUri
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2.Objects.HitTestResult.linkUri"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.28/docs/GI-WebKit2-Objects-HitTestResult.html#g:attr:linkUri"
        })
#endif

-- VVV Prop "media-uri"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
   -- Nullable: (Just True,Nothing)

-- | Get the value of the “@media-uri@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' hitTestResult #mediaUri
-- @
getHitTestResultMediaUri :: (MonadIO m, IsHitTestResult o) => o -> m (Maybe T.Text)
getHitTestResultMediaUri :: forall (m :: * -> *) o.
(MonadIO m, IsHitTestResult o) =>
o -> m (Maybe Text)
getHitTestResultMediaUri o
obj = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"media-uri"

-- | Construct a `GValueConstruct` with valid value for the “@media-uri@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructHitTestResultMediaUri :: (IsHitTestResult o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructHitTestResultMediaUri :: forall o (m :: * -> *).
(IsHitTestResult o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructHitTestResultMediaUri Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
    IO (GValueConstruct o) -> IO (GValueConstruct o)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"media-uri" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)

#if defined(ENABLE_OVERLOADING)
data HitTestResultMediaUriPropertyInfo
instance AttrInfo HitTestResultMediaUriPropertyInfo where
    type AttrAllowedOps HitTestResultMediaUriPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint HitTestResultMediaUriPropertyInfo = IsHitTestResult
    type AttrSetTypeConstraint HitTestResultMediaUriPropertyInfo = (~) T.Text
    type AttrTransferTypeConstraint HitTestResultMediaUriPropertyInfo = (~) T.Text
    type AttrTransferType HitTestResultMediaUriPropertyInfo = T.Text
    type AttrGetType HitTestResultMediaUriPropertyInfo = (Maybe T.Text)
    type AttrLabel HitTestResultMediaUriPropertyInfo = "media-uri"
    type AttrOrigin HitTestResultMediaUriPropertyInfo = HitTestResult
    attrGet = getHitTestResultMediaUri
    attrSet = undefined
    attrTransfer _ v = do
        return v
    attrConstruct = constructHitTestResultMediaUri
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2.Objects.HitTestResult.mediaUri"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.28/docs/GI-WebKit2-Objects-HitTestResult.html#g:attr:mediaUri"
        })
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList HitTestResult
type instance O.AttributeList HitTestResult = HitTestResultAttributeList
type HitTestResultAttributeList = ('[ '("context", HitTestResultContextPropertyInfo), '("imageUri", HitTestResultImageUriPropertyInfo), '("linkLabel", HitTestResultLinkLabelPropertyInfo), '("linkTitle", HitTestResultLinkTitlePropertyInfo), '("linkUri", HitTestResultLinkUriPropertyInfo), '("mediaUri", HitTestResultMediaUriPropertyInfo)] :: [(Symbol, *)])
#endif

#if defined(ENABLE_OVERLOADING)
hitTestResultContext :: AttrLabelProxy "context"
hitTestResultContext = AttrLabelProxy

hitTestResultImageUri :: AttrLabelProxy "imageUri"
hitTestResultImageUri = AttrLabelProxy

hitTestResultLinkLabel :: AttrLabelProxy "linkLabel"
hitTestResultLinkLabel = AttrLabelProxy

hitTestResultLinkTitle :: AttrLabelProxy "linkTitle"
hitTestResultLinkTitle = AttrLabelProxy

hitTestResultLinkUri :: AttrLabelProxy "linkUri"
hitTestResultLinkUri = AttrLabelProxy

hitTestResultMediaUri :: AttrLabelProxy "mediaUri"
hitTestResultMediaUri = AttrLabelProxy

#endif

#if defined(ENABLE_OVERLOADING)
type instance O.SignalList HitTestResult = HitTestResultSignalList
type HitTestResultSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])

#endif

-- method HitTestResult::context_is_editable
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "hit_test_result"
--           , argType =
--               TInterface Name { namespace = "WebKit2" , name = "HitTestResult" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #WebKitHitTestResult"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_context_is_editable" webkit_hit_test_result_context_is_editable :: 
    Ptr HitTestResult ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO CInt

-- | Gets whether 'GI.WebKit2.Flags.HitTestResultContextEditable' flag is present in
-- t'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@.
hitTestResultContextIsEditable ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    -- ^ /@hitTestResult@/: a t'GI.WebKit2.Objects.HitTestResult.HitTestResult'
    -> m Bool
    -- ^ __Returns:__ 'P.True' if there\'s an editable element at the coordinates of the /@hitTestResult@/,
    --    or 'P.False' otherwise
hitTestResultContextIsEditable :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHitTestResult a) =>
a -> m Bool
hitTestResultContextIsEditable a
hitTestResult = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr HitTestResult
hitTestResult' <- a -> IO (Ptr HitTestResult)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
hitTestResult
    CInt
result <- Ptr HitTestResult -> IO CInt
webkit_hit_test_result_context_is_editable Ptr HitTestResult
hitTestResult'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
hitTestResult
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data HitTestResultContextIsEditableMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsHitTestResult a) => O.OverloadedMethod HitTestResultContextIsEditableMethodInfo a signature where
    overloadedMethod = hitTestResultContextIsEditable

instance O.OverloadedMethodInfo HitTestResultContextIsEditableMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2.Objects.HitTestResult.hitTestResultContextIsEditable",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.28/docs/GI-WebKit2-Objects-HitTestResult.html#v:hitTestResultContextIsEditable"
        })


#endif

-- method HitTestResult::context_is_image
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "hit_test_result"
--           , argType =
--               TInterface Name { namespace = "WebKit2" , name = "HitTestResult" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #WebKitHitTestResult"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_context_is_image" webkit_hit_test_result_context_is_image :: 
    Ptr HitTestResult ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO CInt

-- | Gets whether 'GI.WebKit2.Flags.HitTestResultContextImage' flag is present in
-- t'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@.
hitTestResultContextIsImage ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    -- ^ /@hitTestResult@/: a t'GI.WebKit2.Objects.HitTestResult.HitTestResult'
    -> m Bool
    -- ^ __Returns:__ 'P.True' if there\'s an image element in the coordinates of the Hit Test,
    --    or 'P.False' otherwise
hitTestResultContextIsImage :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHitTestResult a) =>
a -> m Bool
hitTestResultContextIsImage a
hitTestResult = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr HitTestResult
hitTestResult' <- a -> IO (Ptr HitTestResult)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
hitTestResult
    CInt
result <- Ptr HitTestResult -> IO CInt
webkit_hit_test_result_context_is_image Ptr HitTestResult
hitTestResult'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
hitTestResult
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data HitTestResultContextIsImageMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsHitTestResult a) => O.OverloadedMethod HitTestResultContextIsImageMethodInfo a signature where
    overloadedMethod = hitTestResultContextIsImage

instance O.OverloadedMethodInfo HitTestResultContextIsImageMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2.Objects.HitTestResult.hitTestResultContextIsImage",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.28/docs/GI-WebKit2-Objects-HitTestResult.html#v:hitTestResultContextIsImage"
        })


#endif

-- method HitTestResult::context_is_link
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "hit_test_result"
--           , argType =
--               TInterface Name { namespace = "WebKit2" , name = "HitTestResult" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #WebKitHitTestResult"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_context_is_link" webkit_hit_test_result_context_is_link :: 
    Ptr HitTestResult ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO CInt

-- | Gets whether 'GI.WebKit2.Flags.HitTestResultContextLink' flag is present in
-- t'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@.
hitTestResultContextIsLink ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    -- ^ /@hitTestResult@/: a t'GI.WebKit2.Objects.HitTestResult.HitTestResult'
    -> m Bool
    -- ^ __Returns:__ 'P.True' if there\'s a link element in the coordinates of the Hit Test,
    --    or 'P.False' otherwise
hitTestResultContextIsLink :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHitTestResult a) =>
a -> m Bool
hitTestResultContextIsLink a
hitTestResult = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr HitTestResult
hitTestResult' <- a -> IO (Ptr HitTestResult)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
hitTestResult
    CInt
result <- Ptr HitTestResult -> IO CInt
webkit_hit_test_result_context_is_link Ptr HitTestResult
hitTestResult'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
hitTestResult
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data HitTestResultContextIsLinkMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsHitTestResult a) => O.OverloadedMethod HitTestResultContextIsLinkMethodInfo a signature where
    overloadedMethod = hitTestResultContextIsLink

instance O.OverloadedMethodInfo HitTestResultContextIsLinkMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2.Objects.HitTestResult.hitTestResultContextIsLink",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.28/docs/GI-WebKit2-Objects-HitTestResult.html#v:hitTestResultContextIsLink"
        })


#endif

-- method HitTestResult::context_is_media
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "hit_test_result"
--           , argType =
--               TInterface Name { namespace = "WebKit2" , name = "HitTestResult" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #WebKitHitTestResult"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_context_is_media" webkit_hit_test_result_context_is_media :: 
    Ptr HitTestResult ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO CInt

-- | Gets whether 'GI.WebKit2.Flags.HitTestResultContextMedia' flag is present in
-- t'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@.
hitTestResultContextIsMedia ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    -- ^ /@hitTestResult@/: a t'GI.WebKit2.Objects.HitTestResult.HitTestResult'
    -> m Bool
    -- ^ __Returns:__ 'P.True' if there\'s a media element in the coordinates of the Hit Test,
    --    or 'P.False' otherwise
hitTestResultContextIsMedia :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHitTestResult a) =>
a -> m Bool
hitTestResultContextIsMedia a
hitTestResult = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr HitTestResult
hitTestResult' <- a -> IO (Ptr HitTestResult)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
hitTestResult
    CInt
result <- Ptr HitTestResult -> IO CInt
webkit_hit_test_result_context_is_media Ptr HitTestResult
hitTestResult'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
hitTestResult
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data HitTestResultContextIsMediaMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsHitTestResult a) => O.OverloadedMethod HitTestResultContextIsMediaMethodInfo a signature where
    overloadedMethod = hitTestResultContextIsMedia

instance O.OverloadedMethodInfo HitTestResultContextIsMediaMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2.Objects.HitTestResult.hitTestResultContextIsMedia",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.28/docs/GI-WebKit2-Objects-HitTestResult.html#v:hitTestResultContextIsMedia"
        })


#endif

-- method HitTestResult::context_is_scrollbar
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "hit_test_result"
--           , argType =
--               TInterface Name { namespace = "WebKit2" , name = "HitTestResult" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #WebKitHitTestResult"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_context_is_scrollbar" webkit_hit_test_result_context_is_scrollbar :: 
    Ptr HitTestResult ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO CInt

-- | Gets whether 'GI.WebKit2.Flags.HitTestResultContextScrollbar' flag is present in
-- t'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@.
hitTestResultContextIsScrollbar ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    -- ^ /@hitTestResult@/: a t'GI.WebKit2.Objects.HitTestResult.HitTestResult'
    -> m Bool
    -- ^ __Returns:__ 'P.True' if there\'s a scrollbar element at the coordinates of the /@hitTestResult@/,
    --    or 'P.False' otherwise
hitTestResultContextIsScrollbar :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHitTestResult a) =>
a -> m Bool
hitTestResultContextIsScrollbar a
hitTestResult = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr HitTestResult
hitTestResult' <- a -> IO (Ptr HitTestResult)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
hitTestResult
    CInt
result <- Ptr HitTestResult -> IO CInt
webkit_hit_test_result_context_is_scrollbar Ptr HitTestResult
hitTestResult'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
hitTestResult
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data HitTestResultContextIsScrollbarMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsHitTestResult a) => O.OverloadedMethod HitTestResultContextIsScrollbarMethodInfo a signature where
    overloadedMethod = hitTestResultContextIsScrollbar

instance O.OverloadedMethodInfo HitTestResultContextIsScrollbarMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2.Objects.HitTestResult.hitTestResultContextIsScrollbar",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.28/docs/GI-WebKit2-Objects-HitTestResult.html#v:hitTestResultContextIsScrollbar"
        })


#endif

-- method HitTestResult::context_is_selection
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "hit_test_result"
--           , argType =
--               TInterface Name { namespace = "WebKit2" , name = "HitTestResult" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #WebKitHitTestResult"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_context_is_selection" webkit_hit_test_result_context_is_selection :: 
    Ptr HitTestResult ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO CInt

-- | Gets whether 'GI.WebKit2.Flags.HitTestResultContextSelection' flag is present in
-- t'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@.
-- 
-- /Since: 2.8/
hitTestResultContextIsSelection ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    -- ^ /@hitTestResult@/: a t'GI.WebKit2.Objects.HitTestResult.HitTestResult'
    -> m Bool
    -- ^ __Returns:__ 'P.True' if there\'s a selected element at the coordinates of the /@hitTestResult@/,
    --    or 'P.False' otherwise
hitTestResultContextIsSelection :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHitTestResult a) =>
a -> m Bool
hitTestResultContextIsSelection a
hitTestResult = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
    Ptr HitTestResult
hitTestResult' <- a -> IO (Ptr HitTestResult)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
hitTestResult
    CInt
result <- Ptr HitTestResult -> IO CInt
webkit_hit_test_result_context_is_selection Ptr HitTestResult
hitTestResult'
    let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
hitTestResult
    Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'

#if defined(ENABLE_OVERLOADING)
data HitTestResultContextIsSelectionMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsHitTestResult a) => O.OverloadedMethod HitTestResultContextIsSelectionMethodInfo a signature where
    overloadedMethod = hitTestResultContextIsSelection

instance O.OverloadedMethodInfo HitTestResultContextIsSelectionMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2.Objects.HitTestResult.hitTestResultContextIsSelection",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.28/docs/GI-WebKit2-Objects-HitTestResult.html#v:hitTestResultContextIsSelection"
        })


#endif

-- method HitTestResult::get_context
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "hit_test_result"
--           , argType =
--               TInterface Name { namespace = "WebKit2" , name = "HitTestResult" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #WebKitHitTestResult"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUInt)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_get_context" webkit_hit_test_result_get_context :: 
    Ptr HitTestResult ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO Word32

-- | Gets the value of the t'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/context/@ property.
hitTestResultGetContext ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    -- ^ /@hitTestResult@/: a t'GI.WebKit2.Objects.HitTestResult.HitTestResult'
    -> m Word32
    -- ^ __Returns:__ a bitmask of t'GI.WebKit2.Flags.HitTestResultContext' flags
hitTestResultGetContext :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHitTestResult a) =>
a -> m Word32
hitTestResultGetContext a
hitTestResult = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
    Ptr HitTestResult
hitTestResult' <- a -> IO (Ptr HitTestResult)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
hitTestResult
    Word32
result <- Ptr HitTestResult -> IO Word32
webkit_hit_test_result_get_context Ptr HitTestResult
hitTestResult'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
hitTestResult
    Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result

#if defined(ENABLE_OVERLOADING)
data HitTestResultGetContextMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsHitTestResult a) => O.OverloadedMethod HitTestResultGetContextMethodInfo a signature where
    overloadedMethod = hitTestResultGetContext

instance O.OverloadedMethodInfo HitTestResultGetContextMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2.Objects.HitTestResult.hitTestResultGetContext",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.28/docs/GI-WebKit2-Objects-HitTestResult.html#v:hitTestResultGetContext"
        })


#endif

-- method HitTestResult::get_image_uri
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "hit_test_result"
--           , argType =
--               TInterface Name { namespace = "WebKit2" , name = "HitTestResult" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #WebKitHitTestResult"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_get_image_uri" webkit_hit_test_result_get_image_uri :: 
    Ptr HitTestResult ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO CString

-- | Gets the value of the t'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/image-uri/@ property.
hitTestResultGetImageUri ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    -- ^ /@hitTestResult@/: a t'GI.WebKit2.Objects.HitTestResult.HitTestResult'
    -> m (Maybe T.Text)
    -- ^ __Returns:__ the URI of the image element in the coordinates of the Hit Test,
    --    or 'P.Nothing' if there isn\'t an image element in /@hitTestResult@/ context
hitTestResultGetImageUri :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHitTestResult a) =>
a -> m (Maybe Text)
hitTestResultGetImageUri a
hitTestResult = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
    Ptr HitTestResult
hitTestResult' <- a -> IO (Ptr HitTestResult)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
hitTestResult
    CString
result <- Ptr HitTestResult -> IO CString
webkit_hit_test_result_get_image_uri Ptr HitTestResult
hitTestResult'
    Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
        Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
        Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
hitTestResult
    Maybe Text -> IO (Maybe Text)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult

#if defined(ENABLE_OVERLOADING)
data HitTestResultGetImageUriMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsHitTestResult a) => O.OverloadedMethod HitTestResultGetImageUriMethodInfo a signature where
    overloadedMethod = hitTestResultGetImageUri

instance O.OverloadedMethodInfo HitTestResultGetImageUriMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2.Objects.HitTestResult.hitTestResultGetImageUri",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.28/docs/GI-WebKit2-Objects-HitTestResult.html#v:hitTestResultGetImageUri"
        })


#endif

-- method HitTestResult::get_link_label
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "hit_test_result"
--           , argType =
--               TInterface Name { namespace = "WebKit2" , name = "HitTestResult" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #WebKitHitTestResult"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_get_link_label" webkit_hit_test_result_get_link_label :: 
    Ptr HitTestResult ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO CString

-- | Gets the value of the t'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/link-label/@ property.
hitTestResultGetLinkLabel ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    -- ^ /@hitTestResult@/: a t'GI.WebKit2.Objects.HitTestResult.HitTestResult'
    -> m (Maybe T.Text)
    -- ^ __Returns:__ the label of the link element in the coordinates of the Hit Test,
    --    or 'P.Nothing' if there isn\'t a link element in /@hitTestResult@/ context or the
    --    link element doesn\'t have a label
hitTestResultGetLinkLabel :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHitTestResult a) =>
a -> m (Maybe Text)
hitTestResultGetLinkLabel a
hitTestResult = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
    Ptr HitTestResult
hitTestResult' <- a -> IO (Ptr HitTestResult)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
hitTestResult
    CString
result <- Ptr HitTestResult -> IO CString
webkit_hit_test_result_get_link_label Ptr HitTestResult
hitTestResult'
    Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
        Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
        Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
hitTestResult
    Maybe Text -> IO (Maybe Text)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult

#if defined(ENABLE_OVERLOADING)
data HitTestResultGetLinkLabelMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsHitTestResult a) => O.OverloadedMethod HitTestResultGetLinkLabelMethodInfo a signature where
    overloadedMethod = hitTestResultGetLinkLabel

instance O.OverloadedMethodInfo HitTestResultGetLinkLabelMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2.Objects.HitTestResult.hitTestResultGetLinkLabel",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.28/docs/GI-WebKit2-Objects-HitTestResult.html#v:hitTestResultGetLinkLabel"
        })


#endif

-- method HitTestResult::get_link_title
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "hit_test_result"
--           , argType =
--               TInterface Name { namespace = "WebKit2" , name = "HitTestResult" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #WebKitHitTestResult"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_get_link_title" webkit_hit_test_result_get_link_title :: 
    Ptr HitTestResult ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO CString

-- | Gets the value of the t'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/link-title/@ property.
hitTestResultGetLinkTitle ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    -- ^ /@hitTestResult@/: a t'GI.WebKit2.Objects.HitTestResult.HitTestResult'
    -> m (Maybe T.Text)
    -- ^ __Returns:__ the title of the link element in the coordinates of the Hit Test,
    --    or 'P.Nothing' if there isn\'t a link element in /@hitTestResult@/ context or the
    --    link element doesn\'t have a title
hitTestResultGetLinkTitle :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHitTestResult a) =>
a -> m (Maybe Text)
hitTestResultGetLinkTitle a
hitTestResult = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
    Ptr HitTestResult
hitTestResult' <- a -> IO (Ptr HitTestResult)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
hitTestResult
    CString
result <- Ptr HitTestResult -> IO CString
webkit_hit_test_result_get_link_title Ptr HitTestResult
hitTestResult'
    Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
        Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
        Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
hitTestResult
    Maybe Text -> IO (Maybe Text)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult

#if defined(ENABLE_OVERLOADING)
data HitTestResultGetLinkTitleMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsHitTestResult a) => O.OverloadedMethod HitTestResultGetLinkTitleMethodInfo a signature where
    overloadedMethod = hitTestResultGetLinkTitle

instance O.OverloadedMethodInfo HitTestResultGetLinkTitleMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2.Objects.HitTestResult.hitTestResultGetLinkTitle",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.28/docs/GI-WebKit2-Objects-HitTestResult.html#v:hitTestResultGetLinkTitle"
        })


#endif

-- method HitTestResult::get_link_uri
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "hit_test_result"
--           , argType =
--               TInterface Name { namespace = "WebKit2" , name = "HitTestResult" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #WebKitHitTestResult"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_get_link_uri" webkit_hit_test_result_get_link_uri :: 
    Ptr HitTestResult ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO CString

-- | Gets the value of the t'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/link-uri/@ property.
hitTestResultGetLinkUri ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    -- ^ /@hitTestResult@/: a t'GI.WebKit2.Objects.HitTestResult.HitTestResult'
    -> m (Maybe T.Text)
    -- ^ __Returns:__ the URI of the link element in the coordinates of the Hit Test,
    --    or 'P.Nothing' if there isn\'t a link element in /@hitTestResult@/ context
hitTestResultGetLinkUri :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHitTestResult a) =>
a -> m (Maybe Text)
hitTestResultGetLinkUri a
hitTestResult = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
    Ptr HitTestResult
hitTestResult' <- a -> IO (Ptr HitTestResult)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
hitTestResult
    CString
result <- Ptr HitTestResult -> IO CString
webkit_hit_test_result_get_link_uri Ptr HitTestResult
hitTestResult'
    Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
        Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
        Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
hitTestResult
    Maybe Text -> IO (Maybe Text)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult

#if defined(ENABLE_OVERLOADING)
data HitTestResultGetLinkUriMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsHitTestResult a) => O.OverloadedMethod HitTestResultGetLinkUriMethodInfo a signature where
    overloadedMethod = hitTestResultGetLinkUri

instance O.OverloadedMethodInfo HitTestResultGetLinkUriMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2.Objects.HitTestResult.hitTestResultGetLinkUri",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.28/docs/GI-WebKit2-Objects-HitTestResult.html#v:hitTestResultGetLinkUri"
        })


#endif

-- method HitTestResult::get_media_uri
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "hit_test_result"
--           , argType =
--               TInterface Name { namespace = "WebKit2" , name = "HitTestResult" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #WebKitHitTestResult"
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_hit_test_result_get_media_uri" webkit_hit_test_result_get_media_uri :: 
    Ptr HitTestResult ->                    -- hit_test_result : TInterface (Name {namespace = "WebKit2", name = "HitTestResult"})
    IO CString

-- | Gets the value of the t'GI.WebKit2.Objects.HitTestResult.HitTestResult':@/media-uri/@ property.
hitTestResultGetMediaUri ::
    (B.CallStack.HasCallStack, MonadIO m, IsHitTestResult a) =>
    a
    -- ^ /@hitTestResult@/: a t'GI.WebKit2.Objects.HitTestResult.HitTestResult'
    -> m (Maybe T.Text)
    -- ^ __Returns:__ the URI of the media element in the coordinates of the Hit Test,
    --    or 'P.Nothing' if there isn\'t a media element in /@hitTestResult@/ context
hitTestResultGetMediaUri :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsHitTestResult a) =>
a -> m (Maybe Text)
hitTestResultGetMediaUri a
hitTestResult = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
    Ptr HitTestResult
hitTestResult' <- a -> IO (Ptr HitTestResult)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
hitTestResult
    CString
result <- Ptr HitTestResult -> IO CString
webkit_hit_test_result_get_media_uri Ptr HitTestResult
hitTestResult'
    Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
        Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
        Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
hitTestResult
    Maybe Text -> IO (Maybe Text)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult

#if defined(ENABLE_OVERLOADING)
data HitTestResultGetMediaUriMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsHitTestResult a) => O.OverloadedMethod HitTestResultGetMediaUriMethodInfo a signature where
    overloadedMethod = hitTestResultGetMediaUri

instance O.OverloadedMethodInfo HitTestResultGetMediaUriMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.WebKit2.Objects.HitTestResult.hitTestResultGetMediaUri",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-webkit2-4.0.28/docs/GI-WebKit2-Objects-HitTestResult.html#v:hitTestResultGetMediaUri"
        })


#endif