Copyright | Will Thompson and Iñaki García Etxebarria |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
An object to build the uniforms data for a GskGLShader
.
Synopsis
- newtype ShaderArgsBuilder = ShaderArgsBuilder (ManagedPtr ShaderArgsBuilder)
- shaderArgsBuilderNew :: (HasCallStack, MonadIO m, IsGLShader a) => a -> Maybe Bytes -> m ShaderArgsBuilder
- shaderArgsBuilderRef :: (HasCallStack, MonadIO m) => ShaderArgsBuilder -> m ShaderArgsBuilder
- shaderArgsBuilderSetBool :: (HasCallStack, MonadIO m) => ShaderArgsBuilder -> Int32 -> Bool -> m ()
- shaderArgsBuilderSetFloat :: (HasCallStack, MonadIO m) => ShaderArgsBuilder -> Int32 -> Float -> m ()
- shaderArgsBuilderSetInt :: (HasCallStack, MonadIO m) => ShaderArgsBuilder -> Int32 -> Int32 -> m ()
- shaderArgsBuilderSetUint :: (HasCallStack, MonadIO m) => ShaderArgsBuilder -> Int32 -> Word32 -> m ()
- shaderArgsBuilderSetVec2 :: (HasCallStack, MonadIO m) => ShaderArgsBuilder -> Int32 -> Vec2 -> m ()
- shaderArgsBuilderSetVec3 :: (HasCallStack, MonadIO m) => ShaderArgsBuilder -> Int32 -> Vec3 -> m ()
- shaderArgsBuilderSetVec4 :: (HasCallStack, MonadIO m) => ShaderArgsBuilder -> Int32 -> Vec4 -> m ()
- shaderArgsBuilderToArgs :: (HasCallStack, MonadIO m) => ShaderArgsBuilder -> m Bytes
- shaderArgsBuilderUnref :: (HasCallStack, MonadIO m) => ShaderArgsBuilder -> m ()
Exported types
newtype ShaderArgsBuilder Source #
Memory-managed wrapper type.
ShaderArgsBuilder (ManagedPtr ShaderArgsBuilder) |
Instances
Eq ShaderArgsBuilder Source # | |
Defined in GI.Gsk.Structs.ShaderArgsBuilder (==) :: ShaderArgsBuilder -> ShaderArgsBuilder -> Bool # (/=) :: ShaderArgsBuilder -> ShaderArgsBuilder -> Bool # | |
GBoxed ShaderArgsBuilder Source # | |
Defined in GI.Gsk.Structs.ShaderArgsBuilder | |
ManagedPtrNewtype ShaderArgsBuilder Source # | |
Defined in GI.Gsk.Structs.ShaderArgsBuilder toManagedPtr :: ShaderArgsBuilder -> ManagedPtr ShaderArgsBuilder | |
TypedObject ShaderArgsBuilder Source # | |
Defined in GI.Gsk.Structs.ShaderArgsBuilder | |
HasParentTypes ShaderArgsBuilder Source # | |
Defined in GI.Gsk.Structs.ShaderArgsBuilder | |
IsGValue (Maybe ShaderArgsBuilder) Source # | Convert |
Defined in GI.Gsk.Structs.ShaderArgsBuilder gvalueGType_ :: IO GType gvalueSet_ :: Ptr GValue -> Maybe ShaderArgsBuilder -> IO () gvalueGet_ :: Ptr GValue -> IO (Maybe ShaderArgsBuilder) | |
type ParentTypes ShaderArgsBuilder Source # | |
Defined in GI.Gsk.Structs.ShaderArgsBuilder |
Methods
Click to display all available methods, including inherited ones
new
:: (HasCallStack, MonadIO m, IsGLShader a) | |
=> a |
|
-> Maybe Bytes |
|
-> m ShaderArgsBuilder | Returns: The newly allocated builder, free with
|
Allocates a builder that can be used to construct a new uniform data chunk.
ref
:: (HasCallStack, MonadIO m) | |
=> ShaderArgsBuilder |
|
-> m ShaderArgsBuilder | Returns: the passed in |
Increases the reference count of a GskShaderArgsBuilder
by one.
setBool
shaderArgsBuilderSetBool Source #
:: (HasCallStack, MonadIO m) | |
=> ShaderArgsBuilder |
|
-> Int32 |
|
-> Bool |
|
-> m () |
Sets the value of the uniform idx
.
The uniform must be of bool type.
setFloat
shaderArgsBuilderSetFloat Source #
:: (HasCallStack, MonadIO m) | |
=> ShaderArgsBuilder |
|
-> Int32 |
|
-> Float |
|
-> m () |
Sets the value of the uniform idx
.
The uniform must be of float type.
setInt
shaderArgsBuilderSetInt Source #
:: (HasCallStack, MonadIO m) | |
=> ShaderArgsBuilder |
|
-> Int32 |
|
-> Int32 |
|
-> m () |
Sets the value of the uniform idx
.
The uniform must be of int type.
setUint
shaderArgsBuilderSetUint Source #
:: (HasCallStack, MonadIO m) | |
=> ShaderArgsBuilder |
|
-> Int32 |
|
-> Word32 |
|
-> m () |
Sets the value of the uniform idx
.
The uniform must be of uint type.
setVec2
shaderArgsBuilderSetVec2 Source #
:: (HasCallStack, MonadIO m) | |
=> ShaderArgsBuilder |
|
-> Int32 |
|
-> Vec2 |
|
-> m () |
Sets the value of the uniform idx
.
The uniform must be of vec2 type.
setVec3
shaderArgsBuilderSetVec3 Source #
:: (HasCallStack, MonadIO m) | |
=> ShaderArgsBuilder |
|
-> Int32 |
|
-> Vec3 |
|
-> m () |
Sets the value of the uniform idx
.
The uniform must be of vec3 type.
setVec4
shaderArgsBuilderSetVec4 Source #
:: (HasCallStack, MonadIO m) | |
=> ShaderArgsBuilder |
|
-> Int32 |
|
-> Vec4 |
|
-> m () |
Sets the value of the uniform idx
.
The uniform must be of vec4 type.
toArgs
shaderArgsBuilderToArgs Source #
:: (HasCallStack, MonadIO m) | |
=> ShaderArgsBuilder |
|
-> m Bytes | Returns: the newly allocated buffer with
all the args added to |
Creates a new GBytes
args from the current state of the
given builder
.
Any uniforms of the shader that have not been explicitly set on
the builder
are zero-initialized.
The given GskShaderArgsBuilder
is reset once this function returns;
you cannot call this function multiple times on the same builder
instance.
This function is intended primarily for bindings. C code should use
ShaderArgsBuilder
.free_to_args
().
unref
shaderArgsBuilderUnref Source #
:: (HasCallStack, MonadIO m) | |
=> ShaderArgsBuilder |
|
-> m () |
Decreases the reference count of a GskShaderArgBuilder
by one.
If the resulting reference count is zero, frees the builder.