| 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 |
GI.Gsk.Structs.ShaderArgsBuilder
Description
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.
Constructors
| ShaderArgsBuilder (ManagedPtr ShaderArgsBuilder) |
Instances
| Eq ShaderArgsBuilder Source # | |
Defined in GI.Gsk.Structs.ShaderArgsBuilder Methods (==) :: ShaderArgsBuilder -> ShaderArgsBuilder -> Bool # (/=) :: ShaderArgsBuilder -> ShaderArgsBuilder -> Bool # | |
| GBoxed ShaderArgsBuilder Source # | |
Defined in GI.Gsk.Structs.ShaderArgsBuilder | |
| ManagedPtrNewtype ShaderArgsBuilder Source # | |
Defined in GI.Gsk.Structs.ShaderArgsBuilder Methods 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 Methods 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
Arguments
| :: (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
Arguments
| :: (HasCallStack, MonadIO m) | |
| => ShaderArgsBuilder |
|
| -> m ShaderArgsBuilder | Returns: the passed in |
Increases the reference count of a GskShaderArgsBuilder by one.
setBool
shaderArgsBuilderSetBool Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => ShaderArgsBuilder |
|
| -> Int32 |
|
| -> Bool |
|
| -> m () |
Sets the value of the uniform idx.
The uniform must be of bool type.
setFloat
shaderArgsBuilderSetFloat Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => ShaderArgsBuilder |
|
| -> Int32 |
|
| -> Float |
|
| -> m () |
Sets the value of the uniform idx.
The uniform must be of float type.
setInt
shaderArgsBuilderSetInt Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => ShaderArgsBuilder |
|
| -> Int32 |
|
| -> Int32 |
|
| -> m () |
Sets the value of the uniform idx.
The uniform must be of int type.
setUint
shaderArgsBuilderSetUint Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => ShaderArgsBuilder |
|
| -> Int32 |
|
| -> Word32 |
|
| -> m () |
Sets the value of the uniform idx.
The uniform must be of uint type.
setVec2
shaderArgsBuilderSetVec2 Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => ShaderArgsBuilder |
|
| -> Int32 |
|
| -> Vec2 |
|
| -> m () |
Sets the value of the uniform idx.
The uniform must be of vec2 type.
setVec3
shaderArgsBuilderSetVec3 Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => ShaderArgsBuilder |
|
| -> Int32 |
|
| -> Vec3 |
|
| -> m () |
Sets the value of the uniform idx.
The uniform must be of vec3 type.
setVec4
shaderArgsBuilderSetVec4 Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => ShaderArgsBuilder |
|
| -> Int32 |
|
| -> Vec4 |
|
| -> m () |
Sets the value of the uniform idx.
The uniform must be of vec4 type.
toArgs
shaderArgsBuilderToArgs Source #
Arguments
| :: (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 #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => ShaderArgsBuilder |
|
| -> m () |
Decreases the reference count of a GskShaderArgBuilder by one.
If the resulting reference count is zero, frees the builder.