{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gtk.Objects.OverlayLayoutChild
    ( 
    OverlayLayoutChild(..)                  ,
    IsOverlayLayoutChild                    ,
    toOverlayLayoutChild                    ,
 
#if defined(ENABLE_OVERLOADING)
    ResolveOverlayLayoutChildMethod         ,
#endif
#if defined(ENABLE_OVERLOADING)
    OverlayLayoutChildGetClipOverlayMethodInfo,
#endif
    overlayLayoutChildGetClipOverlay        ,
#if defined(ENABLE_OVERLOADING)
    OverlayLayoutChildGetMeasureMethodInfo  ,
#endif
    overlayLayoutChildGetMeasure            ,
#if defined(ENABLE_OVERLOADING)
    OverlayLayoutChildSetClipOverlayMethodInfo,
#endif
    overlayLayoutChildSetClipOverlay        ,
#if defined(ENABLE_OVERLOADING)
    OverlayLayoutChildSetMeasureMethodInfo  ,
#endif
    overlayLayoutChildSetMeasure            ,
 
#if defined(ENABLE_OVERLOADING)
    OverlayLayoutChildClipOverlayPropertyInfo,
#endif
    constructOverlayLayoutChildClipOverlay  ,
    getOverlayLayoutChildClipOverlay        ,
#if defined(ENABLE_OVERLOADING)
    overlayLayoutChildClipOverlay           ,
#endif
    setOverlayLayoutChildClipOverlay        ,
#if defined(ENABLE_OVERLOADING)
    OverlayLayoutChildMeasurePropertyInfo   ,
#endif
    constructOverlayLayoutChildMeasure      ,
    getOverlayLayoutChildMeasure            ,
#if defined(ENABLE_OVERLOADING)
    overlayLayoutChildMeasure               ,
#endif
    setOverlayLayoutChildMeasure            ,
    ) 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.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.Gtk.Objects.LayoutChild as Gtk.LayoutChild
newtype OverlayLayoutChild = OverlayLayoutChild (SP.ManagedPtr OverlayLayoutChild)
    deriving (OverlayLayoutChild -> OverlayLayoutChild -> Bool
(OverlayLayoutChild -> OverlayLayoutChild -> Bool)
-> (OverlayLayoutChild -> OverlayLayoutChild -> Bool)
-> Eq OverlayLayoutChild
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: OverlayLayoutChild -> OverlayLayoutChild -> Bool
== :: OverlayLayoutChild -> OverlayLayoutChild -> Bool
$c/= :: OverlayLayoutChild -> OverlayLayoutChild -> Bool
/= :: OverlayLayoutChild -> OverlayLayoutChild -> Bool
Eq)
instance SP.ManagedPtrNewtype OverlayLayoutChild where
    toManagedPtr :: OverlayLayoutChild -> ManagedPtr OverlayLayoutChild
toManagedPtr (OverlayLayoutChild ManagedPtr OverlayLayoutChild
p) = ManagedPtr OverlayLayoutChild
p
foreign import ccall "gtk_overlay_layout_child_get_type"
    c_gtk_overlay_layout_child_get_type :: IO B.Types.GType
instance B.Types.TypedObject OverlayLayoutChild where
    glibType :: IO GType
glibType = IO GType
c_gtk_overlay_layout_child_get_type
instance B.Types.GObject OverlayLayoutChild
class (SP.GObject o, O.IsDescendantOf OverlayLayoutChild o) => IsOverlayLayoutChild o
instance (SP.GObject o, O.IsDescendantOf OverlayLayoutChild o) => IsOverlayLayoutChild o
instance O.HasParentTypes OverlayLayoutChild
type instance O.ParentTypes OverlayLayoutChild = '[Gtk.LayoutChild.LayoutChild, GObject.Object.Object]
toOverlayLayoutChild :: (MIO.MonadIO m, IsOverlayLayoutChild o) => o -> m OverlayLayoutChild
toOverlayLayoutChild :: forall (m :: * -> *) o.
(MonadIO m, IsOverlayLayoutChild o) =>
o -> m OverlayLayoutChild
toOverlayLayoutChild = IO OverlayLayoutChild -> m OverlayLayoutChild
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO OverlayLayoutChild -> m OverlayLayoutChild)
-> (o -> IO OverlayLayoutChild) -> o -> m OverlayLayoutChild
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr OverlayLayoutChild -> OverlayLayoutChild)
-> o -> IO OverlayLayoutChild
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
 ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr OverlayLayoutChild -> OverlayLayoutChild
OverlayLayoutChild
instance B.GValue.IsGValue (Maybe OverlayLayoutChild) where
    gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gtk_overlay_layout_child_get_type
    gvalueSet_ :: Ptr GValue -> Maybe OverlayLayoutChild -> IO ()
gvalueSet_ Ptr GValue
gv Maybe OverlayLayoutChild
P.Nothing = Ptr GValue -> Ptr OverlayLayoutChild -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr OverlayLayoutChild
forall a. Ptr a
FP.nullPtr :: FP.Ptr OverlayLayoutChild)
    gvalueSet_ Ptr GValue
gv (P.Just OverlayLayoutChild
obj) = OverlayLayoutChild -> (Ptr OverlayLayoutChild -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr OverlayLayoutChild
obj (Ptr GValue -> Ptr OverlayLayoutChild -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
    gvalueGet_ :: Ptr GValue -> IO (Maybe OverlayLayoutChild)
gvalueGet_ Ptr GValue
gv = do
        Ptr OverlayLayoutChild
ptr <- Ptr GValue -> IO (Ptr OverlayLayoutChild)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr OverlayLayoutChild)
        if Ptr OverlayLayoutChild
ptr Ptr OverlayLayoutChild -> Ptr OverlayLayoutChild -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr OverlayLayoutChild
forall a. Ptr a
FP.nullPtr
        then OverlayLayoutChild -> Maybe OverlayLayoutChild
forall a. a -> Maybe a
P.Just (OverlayLayoutChild -> Maybe OverlayLayoutChild)
-> IO OverlayLayoutChild -> IO (Maybe OverlayLayoutChild)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr OverlayLayoutChild -> OverlayLayoutChild)
-> Ptr OverlayLayoutChild -> IO OverlayLayoutChild
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr OverlayLayoutChild -> OverlayLayoutChild
OverlayLayoutChild Ptr OverlayLayoutChild
ptr
        else Maybe OverlayLayoutChild -> IO (Maybe OverlayLayoutChild)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe OverlayLayoutChild
forall a. Maybe a
P.Nothing
        
    
#if defined(ENABLE_OVERLOADING)
type family ResolveOverlayLayoutChildMethod (t :: Symbol) (o :: *) :: * where
    ResolveOverlayLayoutChildMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveOverlayLayoutChildMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveOverlayLayoutChildMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveOverlayLayoutChildMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveOverlayLayoutChildMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveOverlayLayoutChildMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveOverlayLayoutChildMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveOverlayLayoutChildMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveOverlayLayoutChildMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveOverlayLayoutChildMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveOverlayLayoutChildMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveOverlayLayoutChildMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveOverlayLayoutChildMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveOverlayLayoutChildMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveOverlayLayoutChildMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveOverlayLayoutChildMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveOverlayLayoutChildMethod "getChildWidget" o = Gtk.LayoutChild.LayoutChildGetChildWidgetMethodInfo
    ResolveOverlayLayoutChildMethod "getClipOverlay" o = OverlayLayoutChildGetClipOverlayMethodInfo
    ResolveOverlayLayoutChildMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveOverlayLayoutChildMethod "getLayoutManager" o = Gtk.LayoutChild.LayoutChildGetLayoutManagerMethodInfo
    ResolveOverlayLayoutChildMethod "getMeasure" o = OverlayLayoutChildGetMeasureMethodInfo
    ResolveOverlayLayoutChildMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveOverlayLayoutChildMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveOverlayLayoutChildMethod "setClipOverlay" o = OverlayLayoutChildSetClipOverlayMethodInfo
    ResolveOverlayLayoutChildMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveOverlayLayoutChildMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolveOverlayLayoutChildMethod "setMeasure" o = OverlayLayoutChildSetMeasureMethodInfo
    ResolveOverlayLayoutChildMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveOverlayLayoutChildMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveOverlayLayoutChildMethod t OverlayLayoutChild, O.OverloadedMethod info OverlayLayoutChild p) => OL.IsLabel t (OverlayLayoutChild -> 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 ~ ResolveOverlayLayoutChildMethod t OverlayLayoutChild, O.OverloadedMethod info OverlayLayoutChild p, R.HasField t OverlayLayoutChild p) => R.HasField t OverlayLayoutChild p where
    getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveOverlayLayoutChildMethod t OverlayLayoutChild, O.OverloadedMethodInfo info OverlayLayoutChild) => OL.IsLabel t (O.MethodProxy info OverlayLayoutChild) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.MethodProxy
#else
    fromLabel _ = O.MethodProxy
#endif
#endif
   
   
   
getOverlayLayoutChildClipOverlay :: (MonadIO m, IsOverlayLayoutChild o) => o -> m Bool
getOverlayLayoutChildClipOverlay :: forall (m :: * -> *) o.
(MonadIO m, IsOverlayLayoutChild o) =>
o -> m Bool
getOverlayLayoutChildClipOverlay o
obj = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"clip-overlay"
setOverlayLayoutChildClipOverlay :: (MonadIO m, IsOverlayLayoutChild o) => o -> Bool -> m ()
setOverlayLayoutChildClipOverlay :: forall (m :: * -> *) o.
(MonadIO m, IsOverlayLayoutChild o) =>
o -> Bool -> m ()
setOverlayLayoutChildClipOverlay o
obj Bool
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj String
"clip-overlay" Bool
val
constructOverlayLayoutChildClipOverlay :: (IsOverlayLayoutChild o, MIO.MonadIO m) => Bool -> m (GValueConstruct o)
constructOverlayLayoutChildClipOverlay :: forall o (m :: * -> *).
(IsOverlayLayoutChild o, MonadIO m) =>
Bool -> m (GValueConstruct o)
constructOverlayLayoutChildClipOverlay Bool
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
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 a. IO a -> IO a
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 -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool String
"clip-overlay" Bool
val
#if defined(ENABLE_OVERLOADING)
data OverlayLayoutChildClipOverlayPropertyInfo
instance AttrInfo OverlayLayoutChildClipOverlayPropertyInfo where
    type AttrAllowedOps OverlayLayoutChildClipOverlayPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint OverlayLayoutChildClipOverlayPropertyInfo = IsOverlayLayoutChild
    type AttrSetTypeConstraint OverlayLayoutChildClipOverlayPropertyInfo = (~) Bool
    type AttrTransferTypeConstraint OverlayLayoutChildClipOverlayPropertyInfo = (~) Bool
    type AttrTransferType OverlayLayoutChildClipOverlayPropertyInfo = Bool
    type AttrGetType OverlayLayoutChildClipOverlayPropertyInfo = Bool
    type AttrLabel OverlayLayoutChildClipOverlayPropertyInfo = "clip-overlay"
    type AttrOrigin OverlayLayoutChildClipOverlayPropertyInfo = OverlayLayoutChild
    attrGet = getOverlayLayoutChildClipOverlay
    attrSet = setOverlayLayoutChildClipOverlay
    attrTransfer _ v = do
        return v
    attrConstruct = constructOverlayLayoutChildClipOverlay
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Gtk.Objects.OverlayLayoutChild.clipOverlay"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-4.0.6/docs/GI-Gtk-Objects-OverlayLayoutChild.html#g:attr:clipOverlay"
        })
#endif
   
   
   
getOverlayLayoutChildMeasure :: (MonadIO m, IsOverlayLayoutChild o) => o -> m Bool
getOverlayLayoutChildMeasure :: forall (m :: * -> *) o.
(MonadIO m, IsOverlayLayoutChild o) =>
o -> m Bool
getOverlayLayoutChildMeasure o
obj = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"measure"
setOverlayLayoutChildMeasure :: (MonadIO m, IsOverlayLayoutChild o) => o -> Bool -> m ()
setOverlayLayoutChildMeasure :: forall (m :: * -> *) o.
(MonadIO m, IsOverlayLayoutChild o) =>
o -> Bool -> m ()
setOverlayLayoutChildMeasure o
obj Bool
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    o -> String -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj String
"measure" Bool
val
constructOverlayLayoutChildMeasure :: (IsOverlayLayoutChild o, MIO.MonadIO m) => Bool -> m (GValueConstruct o)
constructOverlayLayoutChildMeasure :: forall o (m :: * -> *).
(IsOverlayLayoutChild o, MonadIO m) =>
Bool -> m (GValueConstruct o)
constructOverlayLayoutChildMeasure Bool
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
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 a. IO a -> IO a
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 -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool String
"measure" Bool
val
#if defined(ENABLE_OVERLOADING)
data OverlayLayoutChildMeasurePropertyInfo
instance AttrInfo OverlayLayoutChildMeasurePropertyInfo where
    type AttrAllowedOps OverlayLayoutChildMeasurePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrBaseTypeConstraint OverlayLayoutChildMeasurePropertyInfo = IsOverlayLayoutChild
    type AttrSetTypeConstraint OverlayLayoutChildMeasurePropertyInfo = (~) Bool
    type AttrTransferTypeConstraint OverlayLayoutChildMeasurePropertyInfo = (~) Bool
    type AttrTransferType OverlayLayoutChildMeasurePropertyInfo = Bool
    type AttrGetType OverlayLayoutChildMeasurePropertyInfo = Bool
    type AttrLabel OverlayLayoutChildMeasurePropertyInfo = "measure"
    type AttrOrigin OverlayLayoutChildMeasurePropertyInfo = OverlayLayoutChild
    attrGet = getOverlayLayoutChildMeasure
    attrSet = setOverlayLayoutChildMeasure
    attrTransfer _ v = do
        return v
    attrConstruct = constructOverlayLayoutChildMeasure
    attrClear = undefined
    dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Gtk.Objects.OverlayLayoutChild.measure"
        , O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-4.0.6/docs/GI-Gtk-Objects-OverlayLayoutChild.html#g:attr:measure"
        })
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList OverlayLayoutChild
type instance O.AttributeList OverlayLayoutChild = OverlayLayoutChildAttributeList
type OverlayLayoutChildAttributeList = ('[ '("childWidget", Gtk.LayoutChild.LayoutChildChildWidgetPropertyInfo), '("clipOverlay", OverlayLayoutChildClipOverlayPropertyInfo), '("layoutManager", Gtk.LayoutChild.LayoutChildLayoutManagerPropertyInfo), '("measure", OverlayLayoutChildMeasurePropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
overlayLayoutChildClipOverlay :: AttrLabelProxy "clipOverlay"
overlayLayoutChildClipOverlay = AttrLabelProxy
overlayLayoutChildMeasure :: AttrLabelProxy "measure"
overlayLayoutChildMeasure = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList OverlayLayoutChild = OverlayLayoutChildSignalList
type OverlayLayoutChildSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gtk_overlay_layout_child_get_clip_overlay" gtk_overlay_layout_child_get_clip_overlay :: 
    Ptr OverlayLayoutChild ->               
    IO CInt
overlayLayoutChildGetClipOverlay ::
    (B.CallStack.HasCallStack, MonadIO m, IsOverlayLayoutChild a) =>
    a
    
    -> m Bool
    
overlayLayoutChildGetClipOverlay :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsOverlayLayoutChild a) =>
a -> m Bool
overlayLayoutChildGetClipOverlay a
child = IO Bool -> m Bool
forall a. IO a -> m a
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 OverlayLayoutChild
child' <- a -> IO (Ptr OverlayLayoutChild)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
child
    CInt
result <- Ptr OverlayLayoutChild -> IO CInt
gtk_overlay_layout_child_get_clip_overlay Ptr OverlayLayoutChild
child'
    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
child
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data OverlayLayoutChildGetClipOverlayMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsOverlayLayoutChild a) => O.OverloadedMethod OverlayLayoutChildGetClipOverlayMethodInfo a signature where
    overloadedMethod = overlayLayoutChildGetClipOverlay
instance O.OverloadedMethodInfo OverlayLayoutChildGetClipOverlayMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Gtk.Objects.OverlayLayoutChild.overlayLayoutChildGetClipOverlay",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-4.0.6/docs/GI-Gtk-Objects-OverlayLayoutChild.html#v:overlayLayoutChildGetClipOverlay"
        })
#endif
foreign import ccall "gtk_overlay_layout_child_get_measure" gtk_overlay_layout_child_get_measure :: 
    Ptr OverlayLayoutChild ->               
    IO CInt
overlayLayoutChildGetMeasure ::
    (B.CallStack.HasCallStack, MonadIO m, IsOverlayLayoutChild a) =>
    a
    
    -> m Bool
    
overlayLayoutChildGetMeasure :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsOverlayLayoutChild a) =>
a -> m Bool
overlayLayoutChildGetMeasure a
child = IO Bool -> m Bool
forall a. IO a -> m a
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 OverlayLayoutChild
child' <- a -> IO (Ptr OverlayLayoutChild)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
child
    CInt
result <- Ptr OverlayLayoutChild -> IO CInt
gtk_overlay_layout_child_get_measure Ptr OverlayLayoutChild
child'
    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
child
    Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data OverlayLayoutChildGetMeasureMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsOverlayLayoutChild a) => O.OverloadedMethod OverlayLayoutChildGetMeasureMethodInfo a signature where
    overloadedMethod = overlayLayoutChildGetMeasure
instance O.OverloadedMethodInfo OverlayLayoutChildGetMeasureMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Gtk.Objects.OverlayLayoutChild.overlayLayoutChildGetMeasure",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-4.0.6/docs/GI-Gtk-Objects-OverlayLayoutChild.html#v:overlayLayoutChildGetMeasure"
        })
#endif
foreign import ccall "gtk_overlay_layout_child_set_clip_overlay" gtk_overlay_layout_child_set_clip_overlay :: 
    Ptr OverlayLayoutChild ->               
    CInt ->                                 
    IO ()
overlayLayoutChildSetClipOverlay ::
    (B.CallStack.HasCallStack, MonadIO m, IsOverlayLayoutChild a) =>
    a
    
    -> Bool
    
    -> m ()
overlayLayoutChildSetClipOverlay :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsOverlayLayoutChild a) =>
a -> Bool -> m ()
overlayLayoutChildSetClipOverlay a
child Bool
clipOverlay = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr OverlayLayoutChild
child' <- a -> IO (Ptr OverlayLayoutChild)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
child
    let clipOverlay' :: CInt
clipOverlay' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
clipOverlay
    Ptr OverlayLayoutChild -> CInt -> IO ()
gtk_overlay_layout_child_set_clip_overlay Ptr OverlayLayoutChild
child' CInt
clipOverlay'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
child
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data OverlayLayoutChildSetClipOverlayMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsOverlayLayoutChild a) => O.OverloadedMethod OverlayLayoutChildSetClipOverlayMethodInfo a signature where
    overloadedMethod = overlayLayoutChildSetClipOverlay
instance O.OverloadedMethodInfo OverlayLayoutChildSetClipOverlayMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Gtk.Objects.OverlayLayoutChild.overlayLayoutChildSetClipOverlay",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-4.0.6/docs/GI-Gtk-Objects-OverlayLayoutChild.html#v:overlayLayoutChildSetClipOverlay"
        })
#endif
foreign import ccall "gtk_overlay_layout_child_set_measure" gtk_overlay_layout_child_set_measure :: 
    Ptr OverlayLayoutChild ->               
    CInt ->                                 
    IO ()
overlayLayoutChildSetMeasure ::
    (B.CallStack.HasCallStack, MonadIO m, IsOverlayLayoutChild a) =>
    a
    
    -> Bool
    
    -> m ()
overlayLayoutChildSetMeasure :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsOverlayLayoutChild a) =>
a -> Bool -> m ()
overlayLayoutChildSetMeasure a
child Bool
measure = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr OverlayLayoutChild
child' <- a -> IO (Ptr OverlayLayoutChild)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
child
    let measure' :: CInt
measure' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
measure
    Ptr OverlayLayoutChild -> CInt -> IO ()
gtk_overlay_layout_child_set_measure Ptr OverlayLayoutChild
child' CInt
measure'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
child
    () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data OverlayLayoutChildSetMeasureMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsOverlayLayoutChild a) => O.OverloadedMethod OverlayLayoutChildSetMeasureMethodInfo a signature where
    overloadedMethod = overlayLayoutChildSetMeasure
instance O.OverloadedMethodInfo OverlayLayoutChildSetMeasureMethodInfo a where
    overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
        O.resolvedSymbolName = "GI.Gtk.Objects.OverlayLayoutChild.overlayLayoutChildSetMeasure",
        O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtk-4.0.6/docs/GI-Gtk-Objects-OverlayLayoutChild.html#v:overlayLayoutChildSetMeasure"
        })
#endif