{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gsk.Structs.ShaderArgsBuilder
(
ShaderArgsBuilder(..) ,
#if defined(ENABLE_OVERLOADING)
ResolveShaderArgsBuilderMethod ,
#endif
shaderArgsBuilderNew ,
#if defined(ENABLE_OVERLOADING)
ShaderArgsBuilderRefMethodInfo ,
#endif
shaderArgsBuilderRef ,
#if defined(ENABLE_OVERLOADING)
ShaderArgsBuilderSetBoolMethodInfo ,
#endif
shaderArgsBuilderSetBool ,
#if defined(ENABLE_OVERLOADING)
ShaderArgsBuilderSetFloatMethodInfo ,
#endif
shaderArgsBuilderSetFloat ,
#if defined(ENABLE_OVERLOADING)
ShaderArgsBuilderSetIntMethodInfo ,
#endif
shaderArgsBuilderSetInt ,
#if defined(ENABLE_OVERLOADING)
ShaderArgsBuilderSetUintMethodInfo ,
#endif
shaderArgsBuilderSetUint ,
#if defined(ENABLE_OVERLOADING)
ShaderArgsBuilderSetVec2MethodInfo ,
#endif
shaderArgsBuilderSetVec2 ,
#if defined(ENABLE_OVERLOADING)
ShaderArgsBuilderSetVec3MethodInfo ,
#endif
shaderArgsBuilderSetVec3 ,
#if defined(ENABLE_OVERLOADING)
ShaderArgsBuilderSetVec4MethodInfo ,
#endif
shaderArgsBuilderSetVec4 ,
#if defined(ENABLE_OVERLOADING)
ShaderArgsBuilderToArgsMethodInfo ,
#endif
shaderArgsBuilderToArgs ,
#if defined(ENABLE_OVERLOADING)
ShaderArgsBuilderUnrefMethodInfo ,
#endif
shaderArgsBuilderUnref ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R
import qualified GI.GLib.Structs.Bytes as GLib.Bytes
import qualified GI.Graphene.Structs.Vec2 as Graphene.Vec2
import qualified GI.Graphene.Structs.Vec3 as Graphene.Vec3
import qualified GI.Graphene.Structs.Vec4 as Graphene.Vec4
import {-# SOURCE #-} qualified GI.Gsk.Objects.GLShader as Gsk.GLShader
newtype ShaderArgsBuilder = ShaderArgsBuilder (SP.ManagedPtr ShaderArgsBuilder)
deriving (ShaderArgsBuilder -> ShaderArgsBuilder -> Bool
(ShaderArgsBuilder -> ShaderArgsBuilder -> Bool)
-> (ShaderArgsBuilder -> ShaderArgsBuilder -> Bool)
-> Eq ShaderArgsBuilder
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ShaderArgsBuilder -> ShaderArgsBuilder -> Bool
== :: ShaderArgsBuilder -> ShaderArgsBuilder -> Bool
$c/= :: ShaderArgsBuilder -> ShaderArgsBuilder -> Bool
/= :: ShaderArgsBuilder -> ShaderArgsBuilder -> Bool
Eq)
instance SP.ManagedPtrNewtype ShaderArgsBuilder where
toManagedPtr :: ShaderArgsBuilder -> ManagedPtr ShaderArgsBuilder
toManagedPtr (ShaderArgsBuilder ManagedPtr ShaderArgsBuilder
p) = ManagedPtr ShaderArgsBuilder
p
foreign import ccall "gsk_shader_args_builder_get_type" c_gsk_shader_args_builder_get_type ::
IO GType
type instance O.ParentTypes ShaderArgsBuilder = '[]
instance O.HasParentTypes ShaderArgsBuilder
instance B.Types.TypedObject ShaderArgsBuilder where
glibType :: IO GType
glibType = IO GType
c_gsk_shader_args_builder_get_type
instance B.Types.GBoxed ShaderArgsBuilder
instance B.GValue.IsGValue (Maybe ShaderArgsBuilder) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gsk_shader_args_builder_get_type
gvalueSet_ :: Ptr GValue -> Maybe ShaderArgsBuilder -> IO ()
gvalueSet_ Ptr GValue
gv Maybe ShaderArgsBuilder
P.Nothing = Ptr GValue -> Ptr ShaderArgsBuilder -> IO ()
forall a. Ptr GValue -> Ptr a -> IO ()
B.GValue.set_boxed Ptr GValue
gv (Ptr ShaderArgsBuilder
forall a. Ptr a
FP.nullPtr :: FP.Ptr ShaderArgsBuilder)
gvalueSet_ Ptr GValue
gv (P.Just ShaderArgsBuilder
obj) = ShaderArgsBuilder -> (Ptr ShaderArgsBuilder -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr ShaderArgsBuilder
obj (Ptr GValue -> Ptr ShaderArgsBuilder -> IO ()
forall a. Ptr GValue -> Ptr a -> IO ()
B.GValue.set_boxed Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe ShaderArgsBuilder)
gvalueGet_ Ptr GValue
gv = do
Ptr ShaderArgsBuilder
ptr <- Ptr GValue -> IO (Ptr ShaderArgsBuilder)
forall b. Ptr GValue -> IO (Ptr b)
B.GValue.get_boxed Ptr GValue
gv :: IO (Ptr ShaderArgsBuilder)
if Ptr ShaderArgsBuilder
ptr Ptr ShaderArgsBuilder -> Ptr ShaderArgsBuilder -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr ShaderArgsBuilder
forall a. Ptr a
FP.nullPtr
then ShaderArgsBuilder -> Maybe ShaderArgsBuilder
forall a. a -> Maybe a
P.Just (ShaderArgsBuilder -> Maybe ShaderArgsBuilder)
-> IO ShaderArgsBuilder -> IO (Maybe ShaderArgsBuilder)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr ShaderArgsBuilder -> ShaderArgsBuilder)
-> Ptr ShaderArgsBuilder -> IO ShaderArgsBuilder
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.newBoxed ManagedPtr ShaderArgsBuilder -> ShaderArgsBuilder
ShaderArgsBuilder Ptr ShaderArgsBuilder
ptr
else Maybe ShaderArgsBuilder -> IO (Maybe ShaderArgsBuilder)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe ShaderArgsBuilder
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList ShaderArgsBuilder
type instance O.AttributeList ShaderArgsBuilder = ShaderArgsBuilderAttributeList
type ShaderArgsBuilderAttributeList = ('[ ] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "gsk_shader_args_builder_new" gsk_shader_args_builder_new ::
Ptr Gsk.GLShader.GLShader ->
Ptr GLib.Bytes.Bytes ->
IO (Ptr ShaderArgsBuilder)
shaderArgsBuilderNew ::
(B.CallStack.HasCallStack, MonadIO m, Gsk.GLShader.IsGLShader a) =>
a
-> Maybe (GLib.Bytes.Bytes)
-> m ShaderArgsBuilder
shaderArgsBuilderNew :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsGLShader a) =>
a -> Maybe Bytes -> m ShaderArgsBuilder
shaderArgsBuilderNew a
shader Maybe Bytes
initialValues = IO ShaderArgsBuilder -> m ShaderArgsBuilder
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO ShaderArgsBuilder -> m ShaderArgsBuilder)
-> IO ShaderArgsBuilder -> m ShaderArgsBuilder
forall a b. (a -> b) -> a -> b
$ do
Ptr GLShader
shader' <- a -> IO (Ptr GLShader)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
shader
Ptr Bytes
maybeInitialValues <- case Maybe Bytes
initialValues of
Maybe Bytes
Nothing -> Ptr Bytes -> IO (Ptr Bytes)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Bytes
forall a. Ptr a
nullPtr
Just Bytes
jInitialValues -> do
Ptr Bytes
jInitialValues' <- Bytes -> IO (Ptr Bytes)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Bytes
jInitialValues
Ptr Bytes -> IO (Ptr Bytes)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Bytes
jInitialValues'
Ptr ShaderArgsBuilder
result <- Ptr GLShader -> Ptr Bytes -> IO (Ptr ShaderArgsBuilder)
gsk_shader_args_builder_new Ptr GLShader
shader' Ptr Bytes
maybeInitialValues
Text -> Ptr ShaderArgsBuilder -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"shaderArgsBuilderNew" Ptr ShaderArgsBuilder
result
ShaderArgsBuilder
result' <- ((ManagedPtr ShaderArgsBuilder -> ShaderArgsBuilder)
-> Ptr ShaderArgsBuilder -> IO ShaderArgsBuilder
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr ShaderArgsBuilder -> ShaderArgsBuilder
ShaderArgsBuilder) Ptr ShaderArgsBuilder
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
shader
Maybe Bytes -> (Bytes -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe Bytes
initialValues Bytes -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
ShaderArgsBuilder -> IO ShaderArgsBuilder
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ShaderArgsBuilder
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gsk_shader_args_builder_ref" gsk_shader_args_builder_ref ::
Ptr ShaderArgsBuilder ->
IO (Ptr ShaderArgsBuilder)
shaderArgsBuilderRef ::
(B.CallStack.HasCallStack, MonadIO m) =>
ShaderArgsBuilder
-> m ShaderArgsBuilder
shaderArgsBuilderRef :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
ShaderArgsBuilder -> m ShaderArgsBuilder
shaderArgsBuilderRef ShaderArgsBuilder
builder = IO ShaderArgsBuilder -> m ShaderArgsBuilder
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO ShaderArgsBuilder -> m ShaderArgsBuilder)
-> IO ShaderArgsBuilder -> m ShaderArgsBuilder
forall a b. (a -> b) -> a -> b
$ do
Ptr ShaderArgsBuilder
builder' <- ShaderArgsBuilder -> IO (Ptr ShaderArgsBuilder)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr ShaderArgsBuilder
builder
Ptr ShaderArgsBuilder
result <- Ptr ShaderArgsBuilder -> IO (Ptr ShaderArgsBuilder)
gsk_shader_args_builder_ref Ptr ShaderArgsBuilder
builder'
Text -> Ptr ShaderArgsBuilder -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"shaderArgsBuilderRef" Ptr ShaderArgsBuilder
result
ShaderArgsBuilder
result' <- ((ManagedPtr ShaderArgsBuilder -> ShaderArgsBuilder)
-> Ptr ShaderArgsBuilder -> IO ShaderArgsBuilder
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr ShaderArgsBuilder -> ShaderArgsBuilder
ShaderArgsBuilder) Ptr ShaderArgsBuilder
result
ShaderArgsBuilder -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr ShaderArgsBuilder
builder
ShaderArgsBuilder -> IO ShaderArgsBuilder
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ShaderArgsBuilder
result'
#if defined(ENABLE_OVERLOADING)
data ShaderArgsBuilderRefMethodInfo
instance (signature ~ (m ShaderArgsBuilder), MonadIO m) => O.OverloadedMethod ShaderArgsBuilderRefMethodInfo ShaderArgsBuilder signature where
overloadedMethod = shaderArgsBuilderRef
instance O.OverloadedMethodInfo ShaderArgsBuilderRefMethodInfo ShaderArgsBuilder where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gsk.Structs.ShaderArgsBuilder.shaderArgsBuilderRef",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsk-4.0.7/docs/GI-Gsk-Structs-ShaderArgsBuilder.html#v:shaderArgsBuilderRef"
})
#endif
foreign import ccall "gsk_shader_args_builder_set_bool" gsk_shader_args_builder_set_bool ::
Ptr ShaderArgsBuilder ->
Int32 ->
CInt ->
IO ()
shaderArgsBuilderSetBool ::
(B.CallStack.HasCallStack, MonadIO m) =>
ShaderArgsBuilder
-> Int32
-> Bool
-> m ()
shaderArgsBuilderSetBool :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
ShaderArgsBuilder -> Int32 -> Bool -> m ()
shaderArgsBuilderSetBool ShaderArgsBuilder
builder Int32
idx Bool
value = 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 ShaderArgsBuilder
builder' <- ShaderArgsBuilder -> IO (Ptr ShaderArgsBuilder)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr ShaderArgsBuilder
builder
let value' :: CInt
value' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
P.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
P.fromEnum) Bool
value
Ptr ShaderArgsBuilder -> Int32 -> CInt -> IO ()
gsk_shader_args_builder_set_bool Ptr ShaderArgsBuilder
builder' Int32
idx CInt
value'
ShaderArgsBuilder -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr ShaderArgsBuilder
builder
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ShaderArgsBuilderSetBoolMethodInfo
instance (signature ~ (Int32 -> Bool -> m ()), MonadIO m) => O.OverloadedMethod ShaderArgsBuilderSetBoolMethodInfo ShaderArgsBuilder signature where
overloadedMethod = shaderArgsBuilderSetBool
instance O.OverloadedMethodInfo ShaderArgsBuilderSetBoolMethodInfo ShaderArgsBuilder where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gsk.Structs.ShaderArgsBuilder.shaderArgsBuilderSetBool",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsk-4.0.7/docs/GI-Gsk-Structs-ShaderArgsBuilder.html#v:shaderArgsBuilderSetBool"
})
#endif
foreign import ccall "gsk_shader_args_builder_set_float" gsk_shader_args_builder_set_float ::
Ptr ShaderArgsBuilder ->
Int32 ->
CFloat ->
IO ()
shaderArgsBuilderSetFloat ::
(B.CallStack.HasCallStack, MonadIO m) =>
ShaderArgsBuilder
-> Int32
-> Float
-> m ()
shaderArgsBuilderSetFloat :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
ShaderArgsBuilder -> Int32 -> Float -> m ()
shaderArgsBuilderSetFloat ShaderArgsBuilder
builder Int32
idx Float
value = 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 ShaderArgsBuilder
builder' <- ShaderArgsBuilder -> IO (Ptr ShaderArgsBuilder)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr ShaderArgsBuilder
builder
let value' :: CFloat
value' = Float -> CFloat
forall a b. (Real a, Fractional b) => a -> b
realToFrac Float
value
Ptr ShaderArgsBuilder -> Int32 -> CFloat -> IO ()
gsk_shader_args_builder_set_float Ptr ShaderArgsBuilder
builder' Int32
idx CFloat
value'
ShaderArgsBuilder -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr ShaderArgsBuilder
builder
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ShaderArgsBuilderSetFloatMethodInfo
instance (signature ~ (Int32 -> Float -> m ()), MonadIO m) => O.OverloadedMethod ShaderArgsBuilderSetFloatMethodInfo ShaderArgsBuilder signature where
overloadedMethod = shaderArgsBuilderSetFloat
instance O.OverloadedMethodInfo ShaderArgsBuilderSetFloatMethodInfo ShaderArgsBuilder where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gsk.Structs.ShaderArgsBuilder.shaderArgsBuilderSetFloat",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsk-4.0.7/docs/GI-Gsk-Structs-ShaderArgsBuilder.html#v:shaderArgsBuilderSetFloat"
})
#endif
foreign import ccall "gsk_shader_args_builder_set_int" gsk_shader_args_builder_set_int ::
Ptr ShaderArgsBuilder ->
Int32 ->
Int32 ->
IO ()
shaderArgsBuilderSetInt ::
(B.CallStack.HasCallStack, MonadIO m) =>
ShaderArgsBuilder
-> Int32
-> Int32
-> m ()
shaderArgsBuilderSetInt :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
ShaderArgsBuilder -> Int32 -> Int32 -> m ()
shaderArgsBuilderSetInt ShaderArgsBuilder
builder Int32
idx Int32
value = 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 ShaderArgsBuilder
builder' <- ShaderArgsBuilder -> IO (Ptr ShaderArgsBuilder)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr ShaderArgsBuilder
builder
Ptr ShaderArgsBuilder -> Int32 -> Int32 -> IO ()
gsk_shader_args_builder_set_int Ptr ShaderArgsBuilder
builder' Int32
idx Int32
value
ShaderArgsBuilder -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr ShaderArgsBuilder
builder
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ShaderArgsBuilderSetIntMethodInfo
instance (signature ~ (Int32 -> Int32 -> m ()), MonadIO m) => O.OverloadedMethod ShaderArgsBuilderSetIntMethodInfo ShaderArgsBuilder signature where
overloadedMethod = shaderArgsBuilderSetInt
instance O.OverloadedMethodInfo ShaderArgsBuilderSetIntMethodInfo ShaderArgsBuilder where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gsk.Structs.ShaderArgsBuilder.shaderArgsBuilderSetInt",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsk-4.0.7/docs/GI-Gsk-Structs-ShaderArgsBuilder.html#v:shaderArgsBuilderSetInt"
})
#endif
foreign import ccall "gsk_shader_args_builder_set_uint" gsk_shader_args_builder_set_uint ::
Ptr ShaderArgsBuilder ->
Int32 ->
Word32 ->
IO ()
shaderArgsBuilderSetUint ::
(B.CallStack.HasCallStack, MonadIO m) =>
ShaderArgsBuilder
-> Int32
-> Word32
-> m ()
shaderArgsBuilderSetUint :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
ShaderArgsBuilder -> Int32 -> Word32 -> m ()
shaderArgsBuilderSetUint ShaderArgsBuilder
builder Int32
idx Word32
value = 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 ShaderArgsBuilder
builder' <- ShaderArgsBuilder -> IO (Ptr ShaderArgsBuilder)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr ShaderArgsBuilder
builder
Ptr ShaderArgsBuilder -> Int32 -> Word32 -> IO ()
gsk_shader_args_builder_set_uint Ptr ShaderArgsBuilder
builder' Int32
idx Word32
value
ShaderArgsBuilder -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr ShaderArgsBuilder
builder
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ShaderArgsBuilderSetUintMethodInfo
instance (signature ~ (Int32 -> Word32 -> m ()), MonadIO m) => O.OverloadedMethod ShaderArgsBuilderSetUintMethodInfo ShaderArgsBuilder signature where
overloadedMethod = shaderArgsBuilderSetUint
instance O.OverloadedMethodInfo ShaderArgsBuilderSetUintMethodInfo ShaderArgsBuilder where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gsk.Structs.ShaderArgsBuilder.shaderArgsBuilderSetUint",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsk-4.0.7/docs/GI-Gsk-Structs-ShaderArgsBuilder.html#v:shaderArgsBuilderSetUint"
})
#endif
foreign import ccall "gsk_shader_args_builder_set_vec2" gsk_shader_args_builder_set_vec2 ::
Ptr ShaderArgsBuilder ->
Int32 ->
Ptr Graphene.Vec2.Vec2 ->
IO ()
shaderArgsBuilderSetVec2 ::
(B.CallStack.HasCallStack, MonadIO m) =>
ShaderArgsBuilder
-> Int32
-> Graphene.Vec2.Vec2
-> m ()
shaderArgsBuilderSetVec2 :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
ShaderArgsBuilder -> Int32 -> Vec2 -> m ()
shaderArgsBuilderSetVec2 ShaderArgsBuilder
builder Int32
idx Vec2
value = 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 ShaderArgsBuilder
builder' <- ShaderArgsBuilder -> IO (Ptr ShaderArgsBuilder)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr ShaderArgsBuilder
builder
Ptr Vec2
value' <- Vec2 -> IO (Ptr Vec2)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Vec2
value
Ptr ShaderArgsBuilder -> Int32 -> Ptr Vec2 -> IO ()
gsk_shader_args_builder_set_vec2 Ptr ShaderArgsBuilder
builder' Int32
idx Ptr Vec2
value'
ShaderArgsBuilder -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr ShaderArgsBuilder
builder
Vec2 -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Vec2
value
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ShaderArgsBuilderSetVec2MethodInfo
instance (signature ~ (Int32 -> Graphene.Vec2.Vec2 -> m ()), MonadIO m) => O.OverloadedMethod ShaderArgsBuilderSetVec2MethodInfo ShaderArgsBuilder signature where
overloadedMethod = shaderArgsBuilderSetVec2
instance O.OverloadedMethodInfo ShaderArgsBuilderSetVec2MethodInfo ShaderArgsBuilder where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gsk.Structs.ShaderArgsBuilder.shaderArgsBuilderSetVec2",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsk-4.0.7/docs/GI-Gsk-Structs-ShaderArgsBuilder.html#v:shaderArgsBuilderSetVec2"
})
#endif
foreign import ccall "gsk_shader_args_builder_set_vec3" gsk_shader_args_builder_set_vec3 ::
Ptr ShaderArgsBuilder ->
Int32 ->
Ptr Graphene.Vec3.Vec3 ->
IO ()
shaderArgsBuilderSetVec3 ::
(B.CallStack.HasCallStack, MonadIO m) =>
ShaderArgsBuilder
-> Int32
-> Graphene.Vec3.Vec3
-> m ()
shaderArgsBuilderSetVec3 :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
ShaderArgsBuilder -> Int32 -> Vec3 -> m ()
shaderArgsBuilderSetVec3 ShaderArgsBuilder
builder Int32
idx Vec3
value = 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 ShaderArgsBuilder
builder' <- ShaderArgsBuilder -> IO (Ptr ShaderArgsBuilder)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr ShaderArgsBuilder
builder
Ptr Vec3
value' <- Vec3 -> IO (Ptr Vec3)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Vec3
value
Ptr ShaderArgsBuilder -> Int32 -> Ptr Vec3 -> IO ()
gsk_shader_args_builder_set_vec3 Ptr ShaderArgsBuilder
builder' Int32
idx Ptr Vec3
value'
ShaderArgsBuilder -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr ShaderArgsBuilder
builder
Vec3 -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Vec3
value
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ShaderArgsBuilderSetVec3MethodInfo
instance (signature ~ (Int32 -> Graphene.Vec3.Vec3 -> m ()), MonadIO m) => O.OverloadedMethod ShaderArgsBuilderSetVec3MethodInfo ShaderArgsBuilder signature where
overloadedMethod = shaderArgsBuilderSetVec3
instance O.OverloadedMethodInfo ShaderArgsBuilderSetVec3MethodInfo ShaderArgsBuilder where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gsk.Structs.ShaderArgsBuilder.shaderArgsBuilderSetVec3",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsk-4.0.7/docs/GI-Gsk-Structs-ShaderArgsBuilder.html#v:shaderArgsBuilderSetVec3"
})
#endif
foreign import ccall "gsk_shader_args_builder_set_vec4" gsk_shader_args_builder_set_vec4 ::
Ptr ShaderArgsBuilder ->
Int32 ->
Ptr Graphene.Vec4.Vec4 ->
IO ()
shaderArgsBuilderSetVec4 ::
(B.CallStack.HasCallStack, MonadIO m) =>
ShaderArgsBuilder
-> Int32
-> Graphene.Vec4.Vec4
-> m ()
shaderArgsBuilderSetVec4 :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
ShaderArgsBuilder -> Int32 -> Vec4 -> m ()
shaderArgsBuilderSetVec4 ShaderArgsBuilder
builder Int32
idx Vec4
value = 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 ShaderArgsBuilder
builder' <- ShaderArgsBuilder -> IO (Ptr ShaderArgsBuilder)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr ShaderArgsBuilder
builder
Ptr Vec4
value' <- Vec4 -> IO (Ptr Vec4)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Vec4
value
Ptr ShaderArgsBuilder -> Int32 -> Ptr Vec4 -> IO ()
gsk_shader_args_builder_set_vec4 Ptr ShaderArgsBuilder
builder' Int32
idx Ptr Vec4
value'
ShaderArgsBuilder -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr ShaderArgsBuilder
builder
Vec4 -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Vec4
value
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ShaderArgsBuilderSetVec4MethodInfo
instance (signature ~ (Int32 -> Graphene.Vec4.Vec4 -> m ()), MonadIO m) => O.OverloadedMethod ShaderArgsBuilderSetVec4MethodInfo ShaderArgsBuilder signature where
overloadedMethod = shaderArgsBuilderSetVec4
instance O.OverloadedMethodInfo ShaderArgsBuilderSetVec4MethodInfo ShaderArgsBuilder where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gsk.Structs.ShaderArgsBuilder.shaderArgsBuilderSetVec4",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsk-4.0.7/docs/GI-Gsk-Structs-ShaderArgsBuilder.html#v:shaderArgsBuilderSetVec4"
})
#endif
foreign import ccall "gsk_shader_args_builder_to_args" gsk_shader_args_builder_to_args ::
Ptr ShaderArgsBuilder ->
IO (Ptr GLib.Bytes.Bytes)
shaderArgsBuilderToArgs ::
(B.CallStack.HasCallStack, MonadIO m) =>
ShaderArgsBuilder
-> m GLib.Bytes.Bytes
shaderArgsBuilderToArgs :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
ShaderArgsBuilder -> m Bytes
shaderArgsBuilderToArgs ShaderArgsBuilder
builder = IO Bytes -> m Bytes
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bytes -> m Bytes) -> IO Bytes -> m Bytes
forall a b. (a -> b) -> a -> b
$ do
Ptr ShaderArgsBuilder
builder' <- ShaderArgsBuilder -> IO (Ptr ShaderArgsBuilder)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr ShaderArgsBuilder
builder
Ptr Bytes
result <- Ptr ShaderArgsBuilder -> IO (Ptr Bytes)
gsk_shader_args_builder_to_args Ptr ShaderArgsBuilder
builder'
Text -> Ptr Bytes -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"shaderArgsBuilderToArgs" Ptr Bytes
result
Bytes
result' <- ((ManagedPtr Bytes -> Bytes) -> Ptr Bytes -> IO Bytes
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Bytes -> Bytes
GLib.Bytes.Bytes) Ptr Bytes
result
ShaderArgsBuilder -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr ShaderArgsBuilder
builder
Bytes -> IO Bytes
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bytes
result'
#if defined(ENABLE_OVERLOADING)
data ShaderArgsBuilderToArgsMethodInfo
instance (signature ~ (m GLib.Bytes.Bytes), MonadIO m) => O.OverloadedMethod ShaderArgsBuilderToArgsMethodInfo ShaderArgsBuilder signature where
overloadedMethod = shaderArgsBuilderToArgs
instance O.OverloadedMethodInfo ShaderArgsBuilderToArgsMethodInfo ShaderArgsBuilder where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gsk.Structs.ShaderArgsBuilder.shaderArgsBuilderToArgs",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsk-4.0.7/docs/GI-Gsk-Structs-ShaderArgsBuilder.html#v:shaderArgsBuilderToArgs"
})
#endif
foreign import ccall "gsk_shader_args_builder_unref" gsk_shader_args_builder_unref ::
Ptr ShaderArgsBuilder ->
IO ()
shaderArgsBuilderUnref ::
(B.CallStack.HasCallStack, MonadIO m) =>
ShaderArgsBuilder
-> m ()
shaderArgsBuilderUnref :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
ShaderArgsBuilder -> m ()
shaderArgsBuilderUnref ShaderArgsBuilder
builder = 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 ShaderArgsBuilder
builder' <- ShaderArgsBuilder -> IO (Ptr ShaderArgsBuilder)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr ShaderArgsBuilder
builder
Ptr ShaderArgsBuilder -> IO ()
gsk_shader_args_builder_unref Ptr ShaderArgsBuilder
builder'
ShaderArgsBuilder -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr ShaderArgsBuilder
builder
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ShaderArgsBuilderUnrefMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.OverloadedMethod ShaderArgsBuilderUnrefMethodInfo ShaderArgsBuilder signature where
overloadedMethod = shaderArgsBuilderUnref
instance O.OverloadedMethodInfo ShaderArgsBuilderUnrefMethodInfo ShaderArgsBuilder where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gsk.Structs.ShaderArgsBuilder.shaderArgsBuilderUnref",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gsk-4.0.7/docs/GI-Gsk-Structs-ShaderArgsBuilder.html#v:shaderArgsBuilderUnref"
})
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveShaderArgsBuilderMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveShaderArgsBuilderMethod "ref" o = ShaderArgsBuilderRefMethodInfo
ResolveShaderArgsBuilderMethod "toArgs" o = ShaderArgsBuilderToArgsMethodInfo
ResolveShaderArgsBuilderMethod "unref" o = ShaderArgsBuilderUnrefMethodInfo
ResolveShaderArgsBuilderMethod "setBool" o = ShaderArgsBuilderSetBoolMethodInfo
ResolveShaderArgsBuilderMethod "setFloat" o = ShaderArgsBuilderSetFloatMethodInfo
ResolveShaderArgsBuilderMethod "setInt" o = ShaderArgsBuilderSetIntMethodInfo
ResolveShaderArgsBuilderMethod "setUint" o = ShaderArgsBuilderSetUintMethodInfo
ResolveShaderArgsBuilderMethod "setVec2" o = ShaderArgsBuilderSetVec2MethodInfo
ResolveShaderArgsBuilderMethod "setVec3" o = ShaderArgsBuilderSetVec3MethodInfo
ResolveShaderArgsBuilderMethod "setVec4" o = ShaderArgsBuilderSetVec4MethodInfo
ResolveShaderArgsBuilderMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveShaderArgsBuilderMethod t ShaderArgsBuilder, O.OverloadedMethod info ShaderArgsBuilder p) => OL.IsLabel t (ShaderArgsBuilder -> 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 ~ ResolveShaderArgsBuilderMethod t ShaderArgsBuilder, O.OverloadedMethod info ShaderArgsBuilder p, R.HasField t ShaderArgsBuilder p) => R.HasField t ShaderArgsBuilder p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveShaderArgsBuilderMethod t ShaderArgsBuilder, O.OverloadedMethodInfo info ShaderArgsBuilder) => OL.IsLabel t (O.MethodProxy info ShaderArgsBuilder) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif