{-# LANGUAGE TypeApplications #-}
#if !defined(__HADDOCK_VERSION__)
#define ENABLE_OVERLOADING
#endif
module GI.Gsk.Structs.RenderReplay
(
RenderReplay(..) ,
#if defined(ENABLE_OVERLOADING)
ResolveRenderReplayMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
RenderReplayDefaultMethodInfo ,
#endif
renderReplayDefault ,
#if defined(ENABLE_OVERLOADING)
RenderReplayFilterFontMethodInfo ,
#endif
renderReplayFilterFont ,
#if defined(ENABLE_OVERLOADING)
RenderReplayFilterNodeMethodInfo ,
#endif
renderReplayFilterNode ,
#if defined(ENABLE_OVERLOADING)
RenderReplayFilterTextureMethodInfo ,
#endif
renderReplayFilterTexture ,
#if defined(ENABLE_OVERLOADING)
RenderReplayForeachNodeMethodInfo ,
#endif
renderReplayForeachNode ,
#if defined(ENABLE_OVERLOADING)
RenderReplayFreeMethodInfo ,
#endif
renderReplayFree ,
renderReplayNew ,
#if defined(ENABLE_OVERLOADING)
RenderReplaySetFontFilterMethodInfo ,
#endif
renderReplaySetFontFilter ,
#if defined(ENABLE_OVERLOADING)
RenderReplaySetNodeFilterMethodInfo ,
#endif
renderReplaySetNodeFilter ,
#if defined(ENABLE_OVERLOADING)
RenderReplaySetNodeForeachMethodInfo ,
#endif
renderReplaySetNodeForeach ,
#if defined(ENABLE_OVERLOADING)
RenderReplaySetTextureFilterMethodInfo ,
#endif
renderReplaySetTextureFilter ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R
import qualified Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT
#if MIN_VERSION_base(4,18,0)
import qualified GI.Cairo.Structs.Context as Cairo.Context
import qualified GI.GLib.Callbacks as GLib.Callbacks
import qualified GI.GLib.Structs.Bytes as GLib.Bytes
import qualified GI.Gdk.Objects.Texture as Gdk.Texture
import qualified GI.Graphene.Structs.Rect as Graphene.Rect
import qualified GI.Gsk.Callbacks as Gsk.Callbacks
import {-# SOURCE #-} qualified GI.Gsk.Enums as Gsk.Enums
import {-# SOURCE #-} qualified GI.Gsk.Objects.RenderNode as Gsk.RenderNode
import qualified GI.Pango.Objects.Font as Pango.Font
#else
import qualified GI.GLib.Callbacks as GLib.Callbacks
import qualified GI.Gdk.Objects.Texture as Gdk.Texture
import qualified GI.Gsk.Callbacks as Gsk.Callbacks
import {-# SOURCE #-} qualified GI.Gsk.Objects.RenderNode as Gsk.RenderNode
import qualified GI.Pango.Objects.Font as Pango.Font
#endif
newtype RenderReplay = RenderReplay (SP.ManagedPtr RenderReplay)
deriving (RenderReplay -> RenderReplay -> Bool
(RenderReplay -> RenderReplay -> Bool)
-> (RenderReplay -> RenderReplay -> Bool) -> Eq RenderReplay
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: RenderReplay -> RenderReplay -> Bool
== :: RenderReplay -> RenderReplay -> Bool
$c/= :: RenderReplay -> RenderReplay -> Bool
/= :: RenderReplay -> RenderReplay -> Bool
Eq)
instance SP.ManagedPtrNewtype RenderReplay where
toManagedPtr :: RenderReplay -> ManagedPtr RenderReplay
toManagedPtr (RenderReplay ManagedPtr RenderReplay
p) = ManagedPtr RenderReplay
p
instance BoxedPtr RenderReplay where
boxedPtrCopy :: RenderReplay -> IO RenderReplay
boxedPtrCopy = RenderReplay -> IO RenderReplay
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return
boxedPtrFree :: RenderReplay -> IO ()
boxedPtrFree = \RenderReplay
_x -> () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList RenderReplay
type instance O.AttributeList RenderReplay = RenderReplayAttributeList
type RenderReplayAttributeList = ('[ ] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "gsk_render_replay_new" gsk_render_replay_new ::
IO (Ptr RenderReplay)
renderReplayNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m RenderReplay
renderReplayNew :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m RenderReplay
renderReplayNew = IO RenderReplay -> m RenderReplay
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO RenderReplay -> m RenderReplay)
-> IO RenderReplay -> m RenderReplay
forall a b. (a -> b) -> a -> b
$ do
result <- IO (Ptr RenderReplay)
gsk_render_replay_new
checkUnexpectedReturnNULL "renderReplayNew" result
result' <- (wrapPtr RenderReplay) result
return result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gsk_render_replay_default" gsk_render_replay_default ::
Ptr RenderReplay ->
Ptr Gsk.RenderNode.RenderNode ->
IO (Ptr Gsk.RenderNode.RenderNode)
renderReplayDefault ::
(B.CallStack.HasCallStack, MonadIO m, Gsk.RenderNode.IsRenderNode a) =>
RenderReplay
-> a
-> m (Maybe Gsk.RenderNode.RenderNode)
renderReplayDefault :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsRenderNode a) =>
RenderReplay -> a -> m (Maybe RenderNode)
renderReplayDefault RenderReplay
self a
node = IO (Maybe RenderNode) -> m (Maybe RenderNode)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe RenderNode) -> m (Maybe RenderNode))
-> IO (Maybe RenderNode) -> m (Maybe RenderNode)
forall a b. (a -> b) -> a -> b
$ do
self' <- RenderReplay -> IO (Ptr RenderReplay)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr RenderReplay
self
node' <- unsafeManagedPtrCastPtr node
result <- gsk_render_replay_default self' node'
maybeResult <- convertIfNonNull result $ \Ptr RenderNode
result' -> do
result'' <- ((ManagedPtr RenderNode -> RenderNode)
-> Ptr RenderNode -> IO RenderNode
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr RenderNode -> RenderNode
Gsk.RenderNode.RenderNode) Ptr RenderNode
result'
return result''
touchManagedPtr self
touchManagedPtr node
return maybeResult
#if defined(ENABLE_OVERLOADING)
data RenderReplayDefaultMethodInfo
instance (signature ~ (a -> m (Maybe Gsk.RenderNode.RenderNode)), MonadIO m, Gsk.RenderNode.IsRenderNode a) => O.OverloadedMethod RenderReplayDefaultMethodInfo RenderReplay signature where
overloadedMethod = renderReplayDefault
instance O.OverloadedMethodInfo RenderReplayDefaultMethodInfo RenderReplay where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gsk.Structs.RenderReplay.renderReplayDefault",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsk-4.0.9/docs/GI-Gsk-Structs-RenderReplay.html#v:renderReplayDefault"
})
#endif
foreign import ccall "gsk_render_replay_filter_font" gsk_render_replay_filter_font ::
Ptr RenderReplay ->
Ptr Pango.Font.Font ->
IO (Ptr Pango.Font.Font)
renderReplayFilterFont ::
(B.CallStack.HasCallStack, MonadIO m, Pango.Font.IsFont a) =>
RenderReplay
-> a
-> m Pango.Font.Font
renderReplayFilterFont :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsFont a) =>
RenderReplay -> a -> m Font
renderReplayFilterFont RenderReplay
self a
font = IO Font -> m Font
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Font -> m Font) -> IO Font -> m Font
forall a b. (a -> b) -> a -> b
$ do
self' <- RenderReplay -> IO (Ptr RenderReplay)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr RenderReplay
self
font' <- unsafeManagedPtrCastPtr font
result <- gsk_render_replay_filter_font self' font'
checkUnexpectedReturnNULL "renderReplayFilterFont" result
result' <- (wrapObject Pango.Font.Font) result
touchManagedPtr self
touchManagedPtr font
return result'
#if defined(ENABLE_OVERLOADING)
data RenderReplayFilterFontMethodInfo
instance (signature ~ (a -> m Pango.Font.Font), MonadIO m, Pango.Font.IsFont a) => O.OverloadedMethod RenderReplayFilterFontMethodInfo RenderReplay signature where
overloadedMethod = renderReplayFilterFont
instance O.OverloadedMethodInfo RenderReplayFilterFontMethodInfo RenderReplay where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gsk.Structs.RenderReplay.renderReplayFilterFont",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsk-4.0.9/docs/GI-Gsk-Structs-RenderReplay.html#v:renderReplayFilterFont"
})
#endif
foreign import ccall "gsk_render_replay_filter_node" gsk_render_replay_filter_node ::
Ptr RenderReplay ->
Ptr Gsk.RenderNode.RenderNode ->
IO (Ptr Gsk.RenderNode.RenderNode)
renderReplayFilterNode ::
(B.CallStack.HasCallStack, MonadIO m, Gsk.RenderNode.IsRenderNode a) =>
RenderReplay
-> a
-> m (Maybe Gsk.RenderNode.RenderNode)
renderReplayFilterNode :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsRenderNode a) =>
RenderReplay -> a -> m (Maybe RenderNode)
renderReplayFilterNode RenderReplay
self a
node = IO (Maybe RenderNode) -> m (Maybe RenderNode)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe RenderNode) -> m (Maybe RenderNode))
-> IO (Maybe RenderNode) -> m (Maybe RenderNode)
forall a b. (a -> b) -> a -> b
$ do
self' <- RenderReplay -> IO (Ptr RenderReplay)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr RenderReplay
self
node' <- unsafeManagedPtrCastPtr node
result <- gsk_render_replay_filter_node self' node'
maybeResult <- convertIfNonNull result $ \Ptr RenderNode
result' -> do
result'' <- ((ManagedPtr RenderNode -> RenderNode)
-> Ptr RenderNode -> IO RenderNode
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr RenderNode -> RenderNode
Gsk.RenderNode.RenderNode) Ptr RenderNode
result'
return result''
touchManagedPtr self
touchManagedPtr node
return maybeResult
#if defined(ENABLE_OVERLOADING)
data RenderReplayFilterNodeMethodInfo
instance (signature ~ (a -> m (Maybe Gsk.RenderNode.RenderNode)), MonadIO m, Gsk.RenderNode.IsRenderNode a) => O.OverloadedMethod RenderReplayFilterNodeMethodInfo RenderReplay signature where
overloadedMethod = renderReplayFilterNode
instance O.OverloadedMethodInfo RenderReplayFilterNodeMethodInfo RenderReplay where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gsk.Structs.RenderReplay.renderReplayFilterNode",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsk-4.0.9/docs/GI-Gsk-Structs-RenderReplay.html#v:renderReplayFilterNode"
})
#endif
foreign import ccall "gsk_render_replay_filter_texture" gsk_render_replay_filter_texture ::
Ptr RenderReplay ->
Ptr Gdk.Texture.Texture ->
IO (Ptr Gdk.Texture.Texture)
renderReplayFilterTexture ::
(B.CallStack.HasCallStack, MonadIO m, Gdk.Texture.IsTexture a) =>
RenderReplay
-> a
-> m Gdk.Texture.Texture
renderReplayFilterTexture :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTexture a) =>
RenderReplay -> a -> m Texture
renderReplayFilterTexture RenderReplay
self a
texture = IO Texture -> m Texture
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Texture -> m Texture) -> IO Texture -> m Texture
forall a b. (a -> b) -> a -> b
$ do
self' <- RenderReplay -> IO (Ptr RenderReplay)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr RenderReplay
self
texture' <- unsafeManagedPtrCastPtr texture
result <- gsk_render_replay_filter_texture self' texture'
checkUnexpectedReturnNULL "renderReplayFilterTexture" result
result' <- (wrapObject Gdk.Texture.Texture) result
touchManagedPtr self
touchManagedPtr texture
return result'
#if defined(ENABLE_OVERLOADING)
data RenderReplayFilterTextureMethodInfo
instance (signature ~ (a -> m Gdk.Texture.Texture), MonadIO m, Gdk.Texture.IsTexture a) => O.OverloadedMethod RenderReplayFilterTextureMethodInfo RenderReplay signature where
overloadedMethod = renderReplayFilterTexture
instance O.OverloadedMethodInfo RenderReplayFilterTextureMethodInfo RenderReplay where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gsk.Structs.RenderReplay.renderReplayFilterTexture",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsk-4.0.9/docs/GI-Gsk-Structs-RenderReplay.html#v:renderReplayFilterTexture"
})
#endif
foreign import ccall "gsk_render_replay_foreach_node" gsk_render_replay_foreach_node ::
Ptr RenderReplay ->
Ptr Gsk.RenderNode.RenderNode ->
IO ()
renderReplayForeachNode ::
(B.CallStack.HasCallStack, MonadIO m, Gsk.RenderNode.IsRenderNode a) =>
RenderReplay
-> a
-> m ()
renderReplayForeachNode :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsRenderNode a) =>
RenderReplay -> a -> m ()
renderReplayForeachNode RenderReplay
self a
node = 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
self' <- RenderReplay -> IO (Ptr RenderReplay)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr RenderReplay
self
node' <- unsafeManagedPtrCastPtr node
gsk_render_replay_foreach_node self' node'
touchManagedPtr self
touchManagedPtr node
return ()
#if defined(ENABLE_OVERLOADING)
data RenderReplayForeachNodeMethodInfo
instance (signature ~ (a -> m ()), MonadIO m, Gsk.RenderNode.IsRenderNode a) => O.OverloadedMethod RenderReplayForeachNodeMethodInfo RenderReplay signature where
overloadedMethod = renderReplayForeachNode
instance O.OverloadedMethodInfo RenderReplayForeachNodeMethodInfo RenderReplay where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gsk.Structs.RenderReplay.renderReplayForeachNode",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsk-4.0.9/docs/GI-Gsk-Structs-RenderReplay.html#v:renderReplayForeachNode"
})
#endif
foreign import ccall "gsk_render_replay_free" gsk_render_replay_free ::
Ptr RenderReplay ->
IO ()
renderReplayFree ::
(B.CallStack.HasCallStack, MonadIO m) =>
RenderReplay
-> m ()
renderReplayFree :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
RenderReplay -> m ()
renderReplayFree RenderReplay
self = 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
self' <- RenderReplay -> IO (Ptr RenderReplay)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr RenderReplay
self
gsk_render_replay_free self'
touchManagedPtr self
return ()
#if defined(ENABLE_OVERLOADING)
data RenderReplayFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.OverloadedMethod RenderReplayFreeMethodInfo RenderReplay signature where
overloadedMethod = renderReplayFree
instance O.OverloadedMethodInfo RenderReplayFreeMethodInfo RenderReplay where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gsk.Structs.RenderReplay.renderReplayFree",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsk-4.0.9/docs/GI-Gsk-Structs-RenderReplay.html#v:renderReplayFree"
})
#endif
foreign import ccall "gsk_render_replay_set_font_filter" gsk_render_replay_set_font_filter ::
Ptr RenderReplay ->
FunPtr Gsk.Callbacks.C_RenderReplayFontFilter ->
Ptr () ->
FunPtr GLib.Callbacks.C_DestroyNotify ->
IO ()
renderReplaySetFontFilter ::
(B.CallStack.HasCallStack, MonadIO m) =>
RenderReplay
-> Maybe (Gsk.Callbacks.RenderReplayFontFilter)
-> m ()
renderReplaySetFontFilter :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
RenderReplay -> Maybe RenderReplayFontFilter -> m ()
renderReplaySetFontFilter RenderReplay
self Maybe RenderReplayFontFilter
filter = 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
self' <- RenderReplay -> IO (Ptr RenderReplay)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr RenderReplay
self
maybeFilter <- case filter of
Maybe RenderReplayFontFilter
Nothing -> FunPtr C_RenderReplayFontFilter
-> IO (FunPtr C_RenderReplayFontFilter)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return FunPtr C_RenderReplayFontFilter
forall a. FunPtr a
FP.nullFunPtr
Just RenderReplayFontFilter
jFilter -> do
jFilter' <- C_RenderReplayFontFilter -> IO (FunPtr C_RenderReplayFontFilter)
Gsk.Callbacks.mk_RenderReplayFontFilter (Maybe (Ptr (FunPtr C_RenderReplayFontFilter))
-> RenderReplayFontFilter_WithClosures -> C_RenderReplayFontFilter
Gsk.Callbacks.wrap_RenderReplayFontFilter Maybe (Ptr (FunPtr C_RenderReplayFontFilter))
forall a. Maybe a
Nothing (RenderReplayFontFilter -> RenderReplayFontFilter_WithClosures
Gsk.Callbacks.drop_closures_RenderReplayFontFilter RenderReplayFontFilter
jFilter))
return jFilter'
let userData = FunPtr C_RenderReplayFontFilter -> Ptr ()
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_RenderReplayFontFilter
maybeFilter
let userDestroy = FunPtr (Ptr a -> IO ())
forall a. FunPtr (Ptr a -> IO ())
SP.safeFreeFunPtrPtr
gsk_render_replay_set_font_filter self' maybeFilter userData userDestroy
touchManagedPtr self
return ()
#if defined(ENABLE_OVERLOADING)
data RenderReplaySetFontFilterMethodInfo
instance (signature ~ (Maybe (Gsk.Callbacks.RenderReplayFontFilter) -> m ()), MonadIO m) => O.OverloadedMethod RenderReplaySetFontFilterMethodInfo RenderReplay signature where
overloadedMethod = renderReplaySetFontFilter
instance O.OverloadedMethodInfo RenderReplaySetFontFilterMethodInfo RenderReplay where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gsk.Structs.RenderReplay.renderReplaySetFontFilter",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsk-4.0.9/docs/GI-Gsk-Structs-RenderReplay.html#v:renderReplaySetFontFilter"
})
#endif
foreign import ccall "gsk_render_replay_set_node_filter" gsk_render_replay_set_node_filter ::
Ptr RenderReplay ->
FunPtr Gsk.Callbacks.C_RenderReplayNodeFilter ->
Ptr () ->
FunPtr GLib.Callbacks.C_DestroyNotify ->
IO ()
renderReplaySetNodeFilter ::
(B.CallStack.HasCallStack, MonadIO m) =>
RenderReplay
-> Maybe (Gsk.Callbacks.RenderReplayNodeFilter)
-> m ()
renderReplaySetNodeFilter :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
RenderReplay -> Maybe RenderReplayNodeFilter -> m ()
renderReplaySetNodeFilter RenderReplay
self Maybe RenderReplayNodeFilter
filter = 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
self' <- RenderReplay -> IO (Ptr RenderReplay)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr RenderReplay
self
maybeFilter <- case filter of
Maybe RenderReplayNodeFilter
Nothing -> FunPtr C_RenderReplayNodeFilter
-> IO (FunPtr C_RenderReplayNodeFilter)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return FunPtr C_RenderReplayNodeFilter
forall a. FunPtr a
FP.nullFunPtr
Just RenderReplayNodeFilter
jFilter -> do
jFilter' <- C_RenderReplayNodeFilter -> IO (FunPtr C_RenderReplayNodeFilter)
Gsk.Callbacks.mk_RenderReplayNodeFilter (Maybe (Ptr (FunPtr C_RenderReplayNodeFilter))
-> RenderReplayNodeFilter_WithClosures -> C_RenderReplayNodeFilter
Gsk.Callbacks.wrap_RenderReplayNodeFilter Maybe (Ptr (FunPtr C_RenderReplayNodeFilter))
forall a. Maybe a
Nothing (RenderReplayNodeFilter -> RenderReplayNodeFilter_WithClosures
Gsk.Callbacks.drop_closures_RenderReplayNodeFilter RenderReplayNodeFilter
jFilter))
return jFilter'
let userData = FunPtr C_RenderReplayNodeFilter -> Ptr ()
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_RenderReplayNodeFilter
maybeFilter
let userDestroy = FunPtr (Ptr a -> IO ())
forall a. FunPtr (Ptr a -> IO ())
SP.safeFreeFunPtrPtr
gsk_render_replay_set_node_filter self' maybeFilter userData userDestroy
touchManagedPtr self
return ()
#if defined(ENABLE_OVERLOADING)
data RenderReplaySetNodeFilterMethodInfo
instance (signature ~ (Maybe (Gsk.Callbacks.RenderReplayNodeFilter) -> m ()), MonadIO m) => O.OverloadedMethod RenderReplaySetNodeFilterMethodInfo RenderReplay signature where
overloadedMethod = renderReplaySetNodeFilter
instance O.OverloadedMethodInfo RenderReplaySetNodeFilterMethodInfo RenderReplay where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gsk.Structs.RenderReplay.renderReplaySetNodeFilter",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsk-4.0.9/docs/GI-Gsk-Structs-RenderReplay.html#v:renderReplaySetNodeFilter"
})
#endif
foreign import ccall "gsk_render_replay_set_node_foreach" gsk_render_replay_set_node_foreach ::
Ptr RenderReplay ->
FunPtr Gsk.Callbacks.C_RenderReplayNodeForeach ->
Ptr () ->
FunPtr GLib.Callbacks.C_DestroyNotify ->
IO ()
renderReplaySetNodeForeach ::
(B.CallStack.HasCallStack, MonadIO m) =>
RenderReplay
-> Maybe (Gsk.Callbacks.RenderReplayNodeForeach)
-> m ()
renderReplaySetNodeForeach :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
RenderReplay -> Maybe RenderReplayNodeForeach -> m ()
renderReplaySetNodeForeach RenderReplay
self Maybe RenderReplayNodeForeach
foreach = 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
self' <- RenderReplay -> IO (Ptr RenderReplay)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr RenderReplay
self
maybeForeach <- case foreach of
Maybe RenderReplayNodeForeach
Nothing -> FunPtr C_RenderReplayNodeForeach
-> IO (FunPtr C_RenderReplayNodeForeach)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return FunPtr C_RenderReplayNodeForeach
forall a. FunPtr a
FP.nullFunPtr
Just RenderReplayNodeForeach
jForeach -> do
jForeach' <- C_RenderReplayNodeForeach -> IO (FunPtr C_RenderReplayNodeForeach)
Gsk.Callbacks.mk_RenderReplayNodeForeach (Maybe (Ptr (FunPtr C_RenderReplayNodeForeach))
-> RenderReplayNodeForeach_WithClosures
-> C_RenderReplayNodeForeach
Gsk.Callbacks.wrap_RenderReplayNodeForeach Maybe (Ptr (FunPtr C_RenderReplayNodeForeach))
forall a. Maybe a
Nothing (RenderReplayNodeForeach -> RenderReplayNodeForeach_WithClosures
Gsk.Callbacks.drop_closures_RenderReplayNodeForeach RenderReplayNodeForeach
jForeach))
return jForeach'
let userData = FunPtr C_RenderReplayNodeForeach -> Ptr ()
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_RenderReplayNodeForeach
maybeForeach
let userDestroy = FunPtr (Ptr a -> IO ())
forall a. FunPtr (Ptr a -> IO ())
SP.safeFreeFunPtrPtr
gsk_render_replay_set_node_foreach self' maybeForeach userData userDestroy
touchManagedPtr self
return ()
#if defined(ENABLE_OVERLOADING)
data RenderReplaySetNodeForeachMethodInfo
instance (signature ~ (Maybe (Gsk.Callbacks.RenderReplayNodeForeach) -> m ()), MonadIO m) => O.OverloadedMethod RenderReplaySetNodeForeachMethodInfo RenderReplay signature where
overloadedMethod = renderReplaySetNodeForeach
instance O.OverloadedMethodInfo RenderReplaySetNodeForeachMethodInfo RenderReplay where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gsk.Structs.RenderReplay.renderReplaySetNodeForeach",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsk-4.0.9/docs/GI-Gsk-Structs-RenderReplay.html#v:renderReplaySetNodeForeach"
})
#endif
foreign import ccall "gsk_render_replay_set_texture_filter" gsk_render_replay_set_texture_filter ::
Ptr RenderReplay ->
FunPtr Gsk.Callbacks.C_RenderReplayTextureFilter ->
Ptr () ->
FunPtr GLib.Callbacks.C_DestroyNotify ->
IO ()
renderReplaySetTextureFilter ::
(B.CallStack.HasCallStack, MonadIO m) =>
RenderReplay
-> Maybe (Gsk.Callbacks.RenderReplayTextureFilter)
-> m ()
renderReplaySetTextureFilter :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
RenderReplay -> Maybe RenderReplayTextureFilter -> m ()
renderReplaySetTextureFilter RenderReplay
self Maybe RenderReplayTextureFilter
filter = 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
self' <- RenderReplay -> IO (Ptr RenderReplay)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr RenderReplay
self
maybeFilter <- case filter of
Maybe RenderReplayTextureFilter
Nothing -> FunPtr C_RenderReplayTextureFilter
-> IO (FunPtr C_RenderReplayTextureFilter)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return FunPtr C_RenderReplayTextureFilter
forall a. FunPtr a
FP.nullFunPtr
Just RenderReplayTextureFilter
jFilter -> do
jFilter' <- C_RenderReplayTextureFilter
-> IO (FunPtr C_RenderReplayTextureFilter)
Gsk.Callbacks.mk_RenderReplayTextureFilter (Maybe (Ptr (FunPtr C_RenderReplayTextureFilter))
-> RenderReplayTextureFilter_WithClosures
-> C_RenderReplayTextureFilter
Gsk.Callbacks.wrap_RenderReplayTextureFilter Maybe (Ptr (FunPtr C_RenderReplayTextureFilter))
forall a. Maybe a
Nothing (RenderReplayTextureFilter -> RenderReplayTextureFilter_WithClosures
Gsk.Callbacks.drop_closures_RenderReplayTextureFilter RenderReplayTextureFilter
jFilter))
return jFilter'
let userData = FunPtr C_RenderReplayTextureFilter -> Ptr ()
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_RenderReplayTextureFilter
maybeFilter
let userDestroy = FunPtr (Ptr a -> IO ())
forall a. FunPtr (Ptr a -> IO ())
SP.safeFreeFunPtrPtr
gsk_render_replay_set_texture_filter self' maybeFilter userData userDestroy
touchManagedPtr self
return ()
#if defined(ENABLE_OVERLOADING)
data RenderReplaySetTextureFilterMethodInfo
instance (signature ~ (Maybe (Gsk.Callbacks.RenderReplayTextureFilter) -> m ()), MonadIO m) => O.OverloadedMethod RenderReplaySetTextureFilterMethodInfo RenderReplay signature where
overloadedMethod = renderReplaySetTextureFilter
instance O.OverloadedMethodInfo RenderReplaySetTextureFilterMethodInfo RenderReplay where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gsk.Structs.RenderReplay.renderReplaySetTextureFilter",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsk-4.0.9/docs/GI-Gsk-Structs-RenderReplay.html#v:renderReplaySetTextureFilter"
})
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveRenderReplayMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveRenderReplayMethod "default" o = RenderReplayDefaultMethodInfo
ResolveRenderReplayMethod "filterFont" o = RenderReplayFilterFontMethodInfo
ResolveRenderReplayMethod "filterNode" o = RenderReplayFilterNodeMethodInfo
ResolveRenderReplayMethod "filterTexture" o = RenderReplayFilterTextureMethodInfo
ResolveRenderReplayMethod "foreachNode" o = RenderReplayForeachNodeMethodInfo
ResolveRenderReplayMethod "free" o = RenderReplayFreeMethodInfo
ResolveRenderReplayMethod "setFontFilter" o = RenderReplaySetFontFilterMethodInfo
ResolveRenderReplayMethod "setNodeFilter" o = RenderReplaySetNodeFilterMethodInfo
ResolveRenderReplayMethod "setNodeForeach" o = RenderReplaySetNodeForeachMethodInfo
ResolveRenderReplayMethod "setTextureFilter" o = RenderReplaySetTextureFilterMethodInfo
ResolveRenderReplayMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveRenderReplayMethod t RenderReplay, O.OverloadedMethod info RenderReplay p) => OL.IsLabel t (RenderReplay -> 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 ~ ResolveRenderReplayMethod t RenderReplay, O.OverloadedMethod info RenderReplay p, R.HasField t RenderReplay p) => R.HasField t RenderReplay p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveRenderReplayMethod t RenderReplay, O.OverloadedMethodInfo info RenderReplay) => OL.IsLabel t (O.MethodProxy info RenderReplay) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif