Package icyllis.arc3d.core.shaders
Class Gradient1DShader
java.lang.Object
icyllis.arc3d.core.shaders.GradientShader
icyllis.arc3d.core.shaders.Gradient1DShader
- All Implemented Interfaces:
RefCounted,Shader
- Direct Known Subclasses:
AngularGradient,LinearGradient,RadialGradient
public abstract sealed class Gradient1DShader
extends GradientShader
permits LinearGradient, RadialGradient, AngularGradient
Base class for gradient colors that can be represented by a 1D function,
it generates one parameter for interpolation:
grad_layout(x,y) -> floatSuch as linear gradient, radial gradient, angular gradient.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class icyllis.arc3d.core.shaders.GradientShader
GradientShader.Interpolation -
Field Summary
FieldsFields inherited from class icyllis.arc3d.core.shaders.GradientShader
kDegenerateToleranceFields inherited from interface icyllis.arc3d.core.shaders.Shader
TILE_MODE_CLAMP, TILE_MODE_DECAL, TILE_MODE_MIRROR, TILE_MODE_REPEAT -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedGradient1DShader(float[] inColors, ColorSpace colorSpace, float[] inPositions, int inColorCount, int tileMode, int interpolation, Matrix ptsToUnit) -
Method Summary
Modifier and TypeMethodDescriptionprotected static booleancheckGradient1D(float[] colors, float[] positions, int colorCount, int tileMode) booleanintfloat[]intfloatgetPos(int i) float[]intprotected static @SharedPtr ShadermakeDegenerateGradient(float[] colors, ColorSpace colorSpace, float[] positions, int colorCount, int tileMode) static voidsrgb_to_hsl(int i, float[] colors, BitSet hueIsPowerless) static voidsrgb_to_hwb(int i, float[] colors, BitSet hueIsPowerless) Methods inherited from class icyllis.arc3d.core.shaders.GradientShader
ref, unrefMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface icyllis.arc3d.core.shaders.Shader
isOpaque, makeWithLocalMatrix
-
Field Details
-
mPtsToUnit
-
mTileMode
protected final int mTileMode
-
-
Constructor Details
-
Gradient1DShader
protected Gradient1DShader(@Nonnull float[] inColors, @Nullable ColorSpace colorSpace, @Nullable float[] inPositions, int inColorCount, int tileMode, int interpolation, @Nonnull Matrix ptsToUnit)
-
-
Method Details
-
getColors
@VisibleForTesting public float[] getColors() -
getPositions
@VisibleForTesting public float[] getPositions() -
getPos
public float getPos(int i) -
getColorSpace
-
getColorCount
public int getColorCount() -
getInterpolation
public int getInterpolation() -
getTileMode
public int getTileMode() -
getGradientMatrix
-
colorsAreOpaque
public boolean colorsAreOpaque() -
checkGradient1D
protected static boolean checkGradient1D(float[] colors, float[] positions, int colorCount, int tileMode) -
makeDegenerateGradient
@Nullable @SharedPtr protected static @SharedPtr Shader makeDegenerateGradient(float[] colors, @Nullable ColorSpace colorSpace, float[] positions, int colorCount, int tileMode) -
srgb_to_hsl
-
srgb_to_hwb
-