{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gsk.Objects.ColorMatrixNode
(
ColorMatrixNode(..) ,
IsColorMatrixNode ,
toColorMatrixNode ,
#if defined(ENABLE_OVERLOADING)
ResolveColorMatrixNodeMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
ColorMatrixNodeGetChildMethodInfo ,
#endif
colorMatrixNodeGetChild ,
#if defined(ENABLE_OVERLOADING)
ColorMatrixNodeGetColorMatrixMethodInfo ,
#endif
colorMatrixNodeGetColorMatrix ,
#if defined(ENABLE_OVERLOADING)
ColorMatrixNodeGetColorOffsetMethodInfo ,
#endif
colorMatrixNodeGetColorOffset ,
colorMatrixNodeNew ,
) 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.Graphene.Structs.Matrix as Graphene.Matrix
import qualified GI.Graphene.Structs.Vec4 as Graphene.Vec4
import {-# SOURCE #-} qualified GI.Gsk.Objects.RenderNode as Gsk.RenderNode
newtype ColorMatrixNode = ColorMatrixNode (SP.ManagedPtr ColorMatrixNode)
deriving (ColorMatrixNode -> ColorMatrixNode -> Bool
(ColorMatrixNode -> ColorMatrixNode -> Bool)
-> (ColorMatrixNode -> ColorMatrixNode -> Bool)
-> Eq ColorMatrixNode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ColorMatrixNode -> ColorMatrixNode -> Bool
$c/= :: ColorMatrixNode -> ColorMatrixNode -> Bool
== :: ColorMatrixNode -> ColorMatrixNode -> Bool
$c== :: ColorMatrixNode -> ColorMatrixNode -> Bool
Eq)
instance SP.ManagedPtrNewtype ColorMatrixNode where
toManagedPtr :: ColorMatrixNode -> ManagedPtr ColorMatrixNode
toManagedPtr (ColorMatrixNode ManagedPtr ColorMatrixNode
p) = ManagedPtr ColorMatrixNode
p
foreign import ccall "gsk_color_matrix_node_get_type"
c_gsk_color_matrix_node_get_type :: IO B.Types.GType
instance B.Types.TypedObject ColorMatrixNode where
glibType :: IO GType
glibType = IO GType
c_gsk_color_matrix_node_get_type
class (SP.BoxedPtr o, SP.TypedObject o, O.IsDescendantOf ColorMatrixNode o) => IsColorMatrixNode o
instance (SP.BoxedPtr o, SP.TypedObject o, O.IsDescendantOf ColorMatrixNode o) => IsColorMatrixNode o
instance O.HasParentTypes ColorMatrixNode
type instance O.ParentTypes ColorMatrixNode = '[Gsk.RenderNode.RenderNode]
toColorMatrixNode :: (MIO.MonadIO m, IsColorMatrixNode o) => o -> m ColorMatrixNode
toColorMatrixNode :: forall (m :: * -> *) o.
(MonadIO m, IsColorMatrixNode o) =>
o -> m ColorMatrixNode
toColorMatrixNode = IO ColorMatrixNode -> m ColorMatrixNode
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO ColorMatrixNode -> m ColorMatrixNode)
-> (o -> IO ColorMatrixNode) -> o -> m ColorMatrixNode
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr ColorMatrixNode -> ColorMatrixNode)
-> o -> IO ColorMatrixNode
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr ColorMatrixNode -> ColorMatrixNode
ColorMatrixNode
#if defined(ENABLE_OVERLOADING)
type family ResolveColorMatrixNodeMethod (t :: Symbol) (o :: *) :: * where
ResolveColorMatrixNodeMethod "draw" o = Gsk.RenderNode.RenderNodeDrawMethodInfo
ResolveColorMatrixNodeMethod "ref" o = Gsk.RenderNode.RenderNodeRefMethodInfo
ResolveColorMatrixNodeMethod "serialize" o = Gsk.RenderNode.RenderNodeSerializeMethodInfo
ResolveColorMatrixNodeMethod "unref" o = Gsk.RenderNode.RenderNodeUnrefMethodInfo
ResolveColorMatrixNodeMethod "writeToFile" o = Gsk.RenderNode.RenderNodeWriteToFileMethodInfo
ResolveColorMatrixNodeMethod "getBounds" o = Gsk.RenderNode.RenderNodeGetBoundsMethodInfo
ResolveColorMatrixNodeMethod "getChild" o = ColorMatrixNodeGetChildMethodInfo
ResolveColorMatrixNodeMethod "getColorMatrix" o = ColorMatrixNodeGetColorMatrixMethodInfo
ResolveColorMatrixNodeMethod "getColorOffset" o = ColorMatrixNodeGetColorOffsetMethodInfo
ResolveColorMatrixNodeMethod "getNodeType" o = Gsk.RenderNode.RenderNodeGetNodeTypeMethodInfo
ResolveColorMatrixNodeMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveColorMatrixNodeMethod t ColorMatrixNode, O.OverloadedMethod info ColorMatrixNode p) => OL.IsLabel t (ColorMatrixNode -> 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 ~ ResolveColorMatrixNodeMethod t ColorMatrixNode, O.OverloadedMethod info ColorMatrixNode p, R.HasField t ColorMatrixNode p) => R.HasField t ColorMatrixNode p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveColorMatrixNodeMethod t ColorMatrixNode, O.OverloadedMethodInfo info ColorMatrixNode) => OL.IsLabel t (O.MethodProxy info ColorMatrixNode) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
instance BoxedPtr ColorMatrixNode where
boxedPtrCopy :: ColorMatrixNode -> IO ColorMatrixNode
boxedPtrCopy = ColorMatrixNode -> IO ColorMatrixNode
forall (m :: * -> *) a. Monad m => a -> m a
return
boxedPtrFree :: ColorMatrixNode -> IO ()
boxedPtrFree = \ColorMatrixNode
_x -> () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "gsk_color_matrix_node_new" gsk_color_matrix_node_new ::
Ptr Gsk.RenderNode.RenderNode ->
Ptr Graphene.Matrix.Matrix ->
Ptr Graphene.Vec4.Vec4 ->
IO (Ptr ColorMatrixNode)
colorMatrixNodeNew ::
(B.CallStack.HasCallStack, MonadIO m, Gsk.RenderNode.IsRenderNode a) =>
a
-> Graphene.Matrix.Matrix
-> Graphene.Vec4.Vec4
-> m ColorMatrixNode
colorMatrixNodeNew :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsRenderNode a) =>
a -> Matrix -> Vec4 -> m ColorMatrixNode
colorMatrixNodeNew a
child Matrix
colorMatrix Vec4
colorOffset = IO ColorMatrixNode -> m ColorMatrixNode
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO ColorMatrixNode -> m ColorMatrixNode)
-> IO ColorMatrixNode -> m ColorMatrixNode
forall a b. (a -> b) -> a -> b
$ do
Ptr RenderNode
child' <- a -> IO (Ptr RenderNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
child
Ptr Matrix
colorMatrix' <- Matrix -> IO (Ptr Matrix)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Matrix
colorMatrix
Ptr Vec4
colorOffset' <- Vec4 -> IO (Ptr Vec4)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Vec4
colorOffset
Ptr ColorMatrixNode
result <- Ptr RenderNode
-> Ptr Matrix -> Ptr Vec4 -> IO (Ptr ColorMatrixNode)
gsk_color_matrix_node_new Ptr RenderNode
child' Ptr Matrix
colorMatrix' Ptr Vec4
colorOffset'
Text -> Ptr ColorMatrixNode -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"colorMatrixNodeNew" Ptr ColorMatrixNode
result
ColorMatrixNode
result' <- ((ManagedPtr ColorMatrixNode -> ColorMatrixNode)
-> Ptr ColorMatrixNode -> IO ColorMatrixNode
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr ColorMatrixNode -> ColorMatrixNode
ColorMatrixNode) Ptr ColorMatrixNode
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
child
Matrix -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Matrix
colorMatrix
Vec4 -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Vec4
colorOffset
ColorMatrixNode -> IO ColorMatrixNode
forall (m :: * -> *) a. Monad m => a -> m a
return ColorMatrixNode
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gsk_color_matrix_node_get_child" gsk_color_matrix_node_get_child ::
Ptr ColorMatrixNode ->
IO (Ptr Gsk.RenderNode.RenderNode)
colorMatrixNodeGetChild ::
(B.CallStack.HasCallStack, MonadIO m, IsColorMatrixNode a) =>
a
-> m Gsk.RenderNode.RenderNode
colorMatrixNodeGetChild :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsColorMatrixNode a) =>
a -> m RenderNode
colorMatrixNodeGetChild a
node = IO RenderNode -> m RenderNode
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO RenderNode -> m RenderNode) -> IO RenderNode -> m RenderNode
forall a b. (a -> b) -> a -> b
$ do
Ptr ColorMatrixNode
node' <- a -> IO (Ptr ColorMatrixNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
node
Ptr RenderNode
result <- Ptr ColorMatrixNode -> IO (Ptr RenderNode)
gsk_color_matrix_node_get_child Ptr ColorMatrixNode
node'
Text -> Ptr RenderNode -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"colorMatrixNodeGetChild" Ptr RenderNode
result
RenderNode
result' <- ((ManagedPtr RenderNode -> RenderNode)
-> Ptr RenderNode -> IO RenderNode
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newPtr ManagedPtr RenderNode -> RenderNode
Gsk.RenderNode.RenderNode) Ptr RenderNode
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
node
RenderNode -> IO RenderNode
forall (m :: * -> *) a. Monad m => a -> m a
return RenderNode
result'
#if defined(ENABLE_OVERLOADING)
data ColorMatrixNodeGetChildMethodInfo
instance (signature ~ (m Gsk.RenderNode.RenderNode), MonadIO m, IsColorMatrixNode a) => O.OverloadedMethod ColorMatrixNodeGetChildMethodInfo a signature where
overloadedMethod = colorMatrixNodeGetChild
instance O.OverloadedMethodInfo ColorMatrixNodeGetChildMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gsk.Objects.ColorMatrixNode.colorMatrixNodeGetChild",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsk-4.0.4/docs/GI-Gsk-Objects-ColorMatrixNode.html#v:colorMatrixNodeGetChild"
})
#endif
foreign import ccall "gsk_color_matrix_node_get_color_matrix" gsk_color_matrix_node_get_color_matrix ::
Ptr ColorMatrixNode ->
IO (Ptr Graphene.Matrix.Matrix)
colorMatrixNodeGetColorMatrix ::
(B.CallStack.HasCallStack, MonadIO m, IsColorMatrixNode a) =>
a
-> m Graphene.Matrix.Matrix
colorMatrixNodeGetColorMatrix :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsColorMatrixNode a) =>
a -> m Matrix
colorMatrixNodeGetColorMatrix a
node = IO Matrix -> m Matrix
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Matrix -> m Matrix) -> IO Matrix -> m Matrix
forall a b. (a -> b) -> a -> b
$ do
Ptr ColorMatrixNode
node' <- a -> IO (Ptr ColorMatrixNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
node
Ptr Matrix
result <- Ptr ColorMatrixNode -> IO (Ptr Matrix)
gsk_color_matrix_node_get_color_matrix Ptr ColorMatrixNode
node'
Text -> Ptr Matrix -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"colorMatrixNodeGetColorMatrix" Ptr Matrix
result
Matrix
result' <- ((ManagedPtr Matrix -> Matrix) -> Ptr Matrix -> IO Matrix
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr Matrix -> Matrix
Graphene.Matrix.Matrix) Ptr Matrix
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
node
Matrix -> IO Matrix
forall (m :: * -> *) a. Monad m => a -> m a
return Matrix
result'
#if defined(ENABLE_OVERLOADING)
data ColorMatrixNodeGetColorMatrixMethodInfo
instance (signature ~ (m Graphene.Matrix.Matrix), MonadIO m, IsColorMatrixNode a) => O.OverloadedMethod ColorMatrixNodeGetColorMatrixMethodInfo a signature where
overloadedMethod = colorMatrixNodeGetColorMatrix
instance O.OverloadedMethodInfo ColorMatrixNodeGetColorMatrixMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gsk.Objects.ColorMatrixNode.colorMatrixNodeGetColorMatrix",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsk-4.0.4/docs/GI-Gsk-Objects-ColorMatrixNode.html#v:colorMatrixNodeGetColorMatrix"
})
#endif
foreign import ccall "gsk_color_matrix_node_get_color_offset" gsk_color_matrix_node_get_color_offset ::
Ptr ColorMatrixNode ->
IO (Ptr Graphene.Vec4.Vec4)
colorMatrixNodeGetColorOffset ::
(B.CallStack.HasCallStack, MonadIO m, IsColorMatrixNode a) =>
a
-> m Graphene.Vec4.Vec4
colorMatrixNodeGetColorOffset :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsColorMatrixNode a) =>
a -> m Vec4
colorMatrixNodeGetColorOffset a
node = IO Vec4 -> m Vec4
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Vec4 -> m Vec4) -> IO Vec4 -> m Vec4
forall a b. (a -> b) -> a -> b
$ do
Ptr ColorMatrixNode
node' <- a -> IO (Ptr ColorMatrixNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
node
Ptr Vec4
result <- Ptr ColorMatrixNode -> IO (Ptr Vec4)
gsk_color_matrix_node_get_color_offset Ptr ColorMatrixNode
node'
Text -> Ptr Vec4 -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"colorMatrixNodeGetColorOffset" Ptr Vec4
result
Vec4
result' <- ((ManagedPtr Vec4 -> Vec4) -> Ptr Vec4 -> IO Vec4
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr Vec4 -> Vec4
Graphene.Vec4.Vec4) Ptr Vec4
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
node
Vec4 -> IO Vec4
forall (m :: * -> *) a. Monad m => a -> m a
return Vec4
result'
#if defined(ENABLE_OVERLOADING)
data ColorMatrixNodeGetColorOffsetMethodInfo
instance (signature ~ (m Graphene.Vec4.Vec4), MonadIO m, IsColorMatrixNode a) => O.OverloadedMethod ColorMatrixNodeGetColorOffsetMethodInfo a signature where
overloadedMethod = colorMatrixNodeGetColorOffset
instance O.OverloadedMethodInfo ColorMatrixNodeGetColorOffsetMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gsk.Objects.ColorMatrixNode.colorMatrixNodeGetColorOffset",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsk-4.0.4/docs/GI-Gsk-Objects-ColorMatrixNode.html#v:colorMatrixNodeGetColorOffset"
})
#endif