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 |
The Shader
structure contains only private data
and should be accessed using the provided API
Since: 0.6
Synopsis
- newtype Shader = Shader (ManagedPtr Shader)
- class (GObject o, IsDescendantOf Shader o) => IsShader o
- toShader :: (MonadIO m, IsShader o) => o -> m Shader
- shaderCompile :: (HasCallStack, MonadIO m, IsShader a) => a -> m ()
- shaderGetCoglFragmentShader :: (HasCallStack, MonadIO m, IsShader a) => a -> m (Ptr ())
- shaderGetCoglProgram :: (HasCallStack, MonadIO m, IsShader a) => a -> m (Ptr ())
- shaderGetCoglVertexShader :: (HasCallStack, MonadIO m, IsShader a) => a -> m (Ptr ())
- shaderGetFragmentSource :: (HasCallStack, MonadIO m, IsShader a) => a -> m Text
- shaderGetIsEnabled :: (HasCallStack, MonadIO m, IsShader a) => a -> m Bool
- shaderGetVertexSource :: (HasCallStack, MonadIO m, IsShader a) => a -> m Text
- shaderIsCompiled :: (HasCallStack, MonadIO m, IsShader a) => a -> m Bool
- shaderNew :: (HasCallStack, MonadIO m) => m Shader
- shaderRelease :: (HasCallStack, MonadIO m, IsShader a) => a -> m ()
- shaderSetFragmentSource :: (HasCallStack, MonadIO m, IsShader a) => a -> Text -> Int64 -> m ()
- shaderSetIsEnabled :: (HasCallStack, MonadIO m, IsShader a) => a -> Bool -> m ()
- shaderSetUniform :: (HasCallStack, MonadIO m, IsShader a) => a -> Text -> GValue -> m ()
- shaderSetVertexSource :: (HasCallStack, MonadIO m, IsShader a) => a -> Text -> Int64 -> m ()
- getShaderCompiled :: (MonadIO m, IsShader o) => o -> m Bool
- constructShaderEnabled :: (IsShader o, MonadIO m) => Bool -> m (GValueConstruct o)
- getShaderEnabled :: (MonadIO m, IsShader o) => o -> m Bool
- setShaderEnabled :: (MonadIO m, IsShader o) => o -> Bool -> m ()
- clearShaderFragmentSource :: (MonadIO m, IsShader o) => o -> m ()
- constructShaderFragmentSource :: (IsShader o, MonadIO m) => Text -> m (GValueConstruct o)
- getShaderFragmentSource :: (MonadIO m, IsShader o) => o -> m Text
- setShaderFragmentSource :: (MonadIO m, IsShader o) => o -> Text -> m ()
- clearShaderVertexSource :: (MonadIO m, IsShader o) => o -> m ()
- constructShaderVertexSource :: (IsShader o, MonadIO m) => Text -> m (GValueConstruct o)
- getShaderVertexSource :: (MonadIO m, IsShader o) => o -> m Text
- setShaderVertexSource :: (MonadIO m, IsShader o) => o -> Text -> m ()
Exported types
Memory-managed wrapper type.
Instances
Eq Shader Source # | |
GObject Shader Source # | |
Defined in GI.Clutter.Objects.Shader | |
ManagedPtrNewtype Shader Source # | |
Defined in GI.Clutter.Objects.Shader toManagedPtr :: Shader -> ManagedPtr Shader | |
TypedObject Shader Source # | |
Defined in GI.Clutter.Objects.Shader | |
HasParentTypes Shader Source # | |
Defined in GI.Clutter.Objects.Shader | |
IsGValue (Maybe Shader) Source # | Convert |
Defined in GI.Clutter.Objects.Shader gvalueGType_ :: IO GType gvalueSet_ :: Ptr GValue -> Maybe Shader -> IO () gvalueGet_ :: Ptr GValue -> IO (Maybe Shader) | |
type ParentTypes Shader Source # | |
Defined in GI.Clutter.Objects.Shader type ParentTypes Shader = '[Object] |
class (GObject o, IsDescendantOf Shader o) => IsShader o Source #
Instances
(GObject o, IsDescendantOf Shader o) => IsShader o Source # | |
Defined in GI.Clutter.Objects.Shader |
Methods
Click to display all available methods, including inherited ones
Methods
bindProperty, bindPropertyFull, compile, forceFloating, freezeNotify, getv, isCompiled, isFloating, notify, notifyByPspec, ref, refSink, release, runDispose, stealData, stealQdata, thawNotify, unref, watchClosure.
Getters
getCoglFragmentShader, getCoglProgram, getCoglVertexShader, getData, getFragmentSource, getIsEnabled, getProperty, getQdata, getVertexSource.
Setters
setData, setDataFull, setFragmentSource, setIsEnabled, setProperty, setUniform, setVertexSource.
compile
:: (HasCallStack, MonadIO m, IsShader a) | |
=> a |
|
-> m () | (Can throw |
Deprecated: (Since version 1.8)Use ShaderEffect
instead.
Compiles and links GLSL sources set for vertex and fragment shaders for
a Shader
. If the compilation fails and a GError
return location is
provided the error will contain the errors from the compiler, if any.
Since: 0.8
getCoglFragmentShader
shaderGetCoglFragmentShader Source #
:: (HasCallStack, MonadIO m, IsShader a) | |
=> a |
|
-> m (Ptr ()) | Returns: A |
Deprecated: (Since version 1.8)Use ShaderEffect
instead.
Retrieves the underlying CoglHandle
for the fragment shader.
Since: 1.0
getCoglProgram
:: (HasCallStack, MonadIO m, IsShader a) | |
=> a |
|
-> m (Ptr ()) | Returns: A |
Deprecated: (Since version 1.8)Use ShaderEffect
instead.
Retrieves the underlying CoglHandle
for the shader program.
Since: 1.0
getCoglVertexShader
shaderGetCoglVertexShader Source #
:: (HasCallStack, MonadIO m, IsShader a) | |
=> a |
|
-> m (Ptr ()) | Returns: A |
Deprecated: (Since version 1.8)Use ShaderEffect
instead.
Retrieves the underlying CoglHandle
for the vertex shader.
Since: 1.0
getFragmentSource
shaderGetFragmentSource Source #
:: (HasCallStack, MonadIO m, IsShader a) | |
=> a |
|
-> m Text | Returns: the source of the fragment shader for this
ClutterShader object or |
Deprecated: (Since version 1.8)Use ShaderEffect
instead.
Query the current GLSL fragment source set on shader
.
Since: 0.6
getIsEnabled
getVertexSource
shaderGetVertexSource Source #
:: (HasCallStack, MonadIO m, IsShader a) | |
=> a |
|
-> m Text | Returns: the source of the vertex shader for this
ClutterShader object or |
Deprecated: (Since version 1.8)Use ShaderEffect
instead.
Query the current GLSL vertex source set on shader
.
Since: 0.6
isCompiled
:: (HasCallStack, MonadIO m, IsShader a) | |
=> a |
|
-> m Bool | Returns: |
Deprecated: (Since version 1.8)Use ShaderEffect
instead.
Checks whether shader
is is currently compiled, linked and bound
to the GL context.
Since: 0.8
new
:: (HasCallStack, MonadIO m) | |
=> m Shader | Returns: a new |
release
:: (HasCallStack, MonadIO m, IsShader a) | |
=> a |
|
-> m () |
Deprecated: (Since version 1.8)Use ShaderEffect
instead.
Frees up any GL context resources held by the shader.
Since: 0.6
setFragmentSource
shaderSetFragmentSource Source #
:: (HasCallStack, MonadIO m, IsShader a) | |
=> a |
|
-> Text |
|
-> Int64 |
|
-> m () |
Deprecated: (Since version 1.8)Use ShaderEffect
instead.
Sets the GLSL source code to be used by a Shader
for the fragment
program.
Since: 0.6
setIsEnabled
:: (HasCallStack, MonadIO m, IsShader a) | |
=> a |
|
-> Bool |
|
-> m () |
Deprecated: (Since version 1.8)Use ShaderEffect
instead.
Enables a shader. This function will attempt to compile and link the shader, if it isn't already.
When enabled
is False
the default state of the GL pipeline will be
used instead.
Since: 0.6
setUniform
:: (HasCallStack, MonadIO m, IsShader a) | |
=> a |
|
-> Text |
|
-> GValue |
|
-> m () |
Deprecated: (Since version 1.8)Use ShaderEffect
instead.
Sets a user configurable variable in the GLSL shader programs attached to
a Shader
.
Since: 1.0
setVertexSource
shaderSetVertexSource Source #
:: (HasCallStack, MonadIO m, IsShader a) | |
=> a |
|
-> Text |
|
-> Int64 |
|
-> m () |
Deprecated: (Since version 1.8)Use ShaderEffect
instead.
Sets the GLSL source code to be used by a Shader
for the vertex
program.
Since: 0.6
Properties
compiled
Whether the shader is compiled and linked, ready for use in the GL context.
Since: 0.8
getShaderCompiled :: (MonadIO m, IsShader o) => o -> m Bool Source #
Get the value of the “compiled
” property.
When overloading is enabled, this is equivalent to
get
shader #compiled
enabled
Whether the shader is currently used in the GL rendering pipeline.
Since: 0.6
constructShaderEnabled :: (IsShader o, MonadIO m) => Bool -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “enabled
” property. This is rarely needed directly, but it is used by new
.
getShaderEnabled :: (MonadIO m, IsShader o) => o -> m Bool Source #
Get the value of the “enabled
” property.
When overloading is enabled, this is equivalent to
get
shader #enabled
setShaderEnabled :: (MonadIO m, IsShader o) => o -> Bool -> m () Source #
Set the value of the “enabled
” property.
When overloading is enabled, this is equivalent to
set
shader [ #enabled:=
value ]
fragmentSource
GLSL source code for the fragment shader part of the shader program.
Since: 0.6
clearShaderFragmentSource :: (MonadIO m, IsShader o) => o -> m () Source #
Set the value of the “fragment-source
” property to Nothing
.
When overloading is enabled, this is equivalent to
clear
#fragmentSource
constructShaderFragmentSource :: (IsShader o, MonadIO m) => Text -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “fragment-source
” property. This is rarely needed directly, but it is used by new
.
getShaderFragmentSource :: (MonadIO m, IsShader o) => o -> m Text Source #
Get the value of the “fragment-source
” property.
When overloading is enabled, this is equivalent to
get
shader #fragmentSource
setShaderFragmentSource :: (MonadIO m, IsShader o) => o -> Text -> m () Source #
Set the value of the “fragment-source
” property.
When overloading is enabled, this is equivalent to
set
shader [ #fragmentSource:=
value ]
vertexSource
GLSL source code for the vertex shader part of the shader program, if any
Since: 0.6
clearShaderVertexSource :: (MonadIO m, IsShader o) => o -> m () Source #
Set the value of the “vertex-source
” property to Nothing
.
When overloading is enabled, this is equivalent to
clear
#vertexSource
constructShaderVertexSource :: (IsShader o, MonadIO m) => Text -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “vertex-source
” property. This is rarely needed directly, but it is used by new
.
getShaderVertexSource :: (MonadIO m, IsShader o) => o -> m Text Source #
Get the value of the “vertex-source
” property.
When overloading is enabled, this is equivalent to
get
shader #vertexSource
setShaderVertexSource :: (MonadIO m, IsShader o) => o -> Text -> m () Source #
Set the value of the “vertex-source
” property.
When overloading is enabled, this is equivalent to
set
shader [ #vertexSource:=
value ]