com.io7m.jcanephora.fake

## Interface FakeShaderListenerType

-     public interface FakeShaderListenerType

  The type of listeners that can be used to control the results of fake shader compilation.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `onCompileFragmentShaderStart(FakeContext context, String name, List<String> sources)` Called when the fragment shader `name` is about to be compiled.
    `void` | `onCompileGeometryShaderStart(FakeContext context, String name, List<String> sources)` Called when the geometry shader `name` is about to be compiled.
    `void` | `onCompileVertexShaderStart(FakeContext context, String name, List<String> sources)` Called when the vertex shader `name` is about to be compiled.
    `void` | `onLinkProgram(FakeContext context, JCGLProgramShaderUsableType p, String name, JCGLVertexShaderUsableType v, Optional<JCGLGeometryShaderUsableType> g, JCGLFragmentShaderUsableType f, Map<String,JCGLProgramAttributeType> attributes, Map<String,JCGLProgramUniformType> uniforms)` Called when a program is about to be linked.

- - ### Method Detail

    - #### onCompileVertexShaderStart

          void onCompileVertexShaderStart(FakeContext context,
                                          String name,
                                          List<String> sources)
                                   throws JCGLException

      Called when the vertex shader `name` is about to be compiled.
      Parameters:
        `context` - The current context
        `name` - The name
        `sources` - The source code
      Throws:
        `JCGLException` - If required

    - #### onCompileFragmentShaderStart

          void onCompileFragmentShaderStart(FakeContext context,
                                            String name,
                                            List<String> sources)
                                     throws JCGLException

      Called when the fragment shader `name` is about to be compiled.
      Parameters:
        `context` - The current context
        `name` - The name
        `sources` - The source code
      Throws:
        `JCGLException` - If required

    - #### onCompileGeometryShaderStart

          void onCompileGeometryShaderStart(FakeContext context,
                                            String name,
                                            List<String> sources)
                                     throws JCGLException

      Called when the geometry shader `name` is about to be compiled.
      Parameters:
        `context` - The current context
        `name` - The name
        `sources` - The source code
      Throws:
        `JCGLException` - If required

    - #### onLinkProgram

          void onLinkProgram(FakeContext context,
                             JCGLProgramShaderUsableType p,
                             String name,
                             JCGLVertexShaderUsableType v,
                             Optional<JCGLGeometryShaderUsableType> g,
                             JCGLFragmentShaderUsableType f,
                             Map<String,JCGLProgramAttributeType> attributes,
                             Map<String,JCGLProgramUniformType> uniforms)
                      throws JCGLException

      Called when a program is about to be linked.
      Parameters:
        `context` - The current context
        `p` - The resulting program
        `name` - The program name
        `v` - The vertex shader
        `g` - The optional geometry shader
        `f` - The fragment shader
        `attributes` - The attributes that the resulting program will have
        `uniforms` - The uniforms that the resulting program will have
      Throws:
        `JCGLException` - If required

Copyright © 2016 <code@io7m.com> http://io7m.com