Package icyllis.arc3d.core.shaders

# Class LocalMatrixShader

java.lang.Object
icyllis.arc3d.core.RefCnt
icyllis.arc3d.core.shaders.LocalMatrixShader

All Implemented Interfaces:
  `RefCounted`, `Shader`

public final class LocalMatrixShader extends RefCnt implements Shader

- ## Field Summary

  ### Fields inherited from interface icyllis.arc3d.core.shaders.Shader

  `TILE_MODE_CLAMP, TILE_MODE_DECAL, TILE_MODE_MIRROR, TILE_MODE_REPEAT`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `deallocate()`
  Override this method to invoke de-allocation of the underlying resource.
  `@RawPtr Shader`
  `getBase()`
  `Matrixc`
  `getLocalMatrix()`
  `boolean`
  `isConstant()`
  Returns true if the shader is guaranteed to produce only a single color.
  `boolean`
  `isOpaque()`
  Returns true if the shader is guaranteed to produce only opaque colors, subject to the Paint using the shader to apply an opaque alpha value.

  ### Methods inherited from class icyllis.arc3d.core.RefCnt

  `create, create, getRefCnt, getRefCntAcquire, getRefCntVolatile, move, move, ref, unique, unref`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface icyllis.arc3d.core.RefCounted

  `ref, unref`

  ### Methods inherited from interface icyllis.arc3d.core.shaders.Shader

  `makeWithLocalMatrix`

- ## Method Details

  - ### deallocate

    protected void deallocate()
    Description copied from class: `RefCnt`
    Override this method to invoke de-allocation of the underlying resource.
    Specified by:
      `deallocate` in class `RefCnt`

  - ### isOpaque

    public boolean isOpaque()
    Description copied from interface: `Shader`
    Returns true if the shader is guaranteed to produce only opaque colors, subject to the Paint using the shader to apply an opaque alpha value. Subclasses should override this to allow some optimizations.
    Specified by:
      `isOpaque` in interface `Shader`

  - ### isConstant

    public boolean isConstant()
    Returns true if the shader is guaranteed to produce only a single color. Subclasses can override this to allow loop-hoisting optimization.
    Specified by:
      `isConstant` in interface `Shader`

  - ### getBase

    @RawPtr public @RawPtr Shader getBase()

  - ### getLocalMatrix

    public Matrixc getLocalMatrix()