8#ifndef SkGradientShaderPriv_DEFINED
9#define SkGradientShaderPriv_DEFINED
160 mutable SkBitmap fColorsAndOffsetsBitmap;
163 inline static constexpr size_t kInlineStopCount = 4;
164 inline static constexpr size_t kInlineStorageSize =
168 bool fColorsAreOpaque;
176 bool forceExplicitPositions =
false);
SkRGBA4f< kUnpremul_SkAlphaType > SkColor4f
void SkRegisterLinearGradientShaderFlattenable()
void SkRegisterRadialGradientShaderFlattenable()
void SkRegisterConicalGradientShaderFlattenable()
void SkRegisterSweepGradientShaderFlattenable()
bool unflatten(SkReadBuffer &, SkMatrix *legacyLocalMatrix)
static constexpr SkScalar kDegenerateThreshold
static bool ValidGradient(const SkColor4f colors[], int count, SkTileMode tileMode, const Interpolation &interpolation)
Interpolation fInterpolation
SkColor getLegacyColor(int i) const
const Interpolation & getInterpolation() const
bool colorsAreOpaque() const
bool isOpaque() const override
SkGradientBaseShader(const Descriptor &desc, const SkMatrix &ptsToUnit)
void setCachedBitmap(SkBitmap b) const
bool fFirstStopIsImplicit
virtual void appendGradientStages(SkArenaAlloc *alloc, SkRasterPipeline *tPipeline, SkRasterPipeline *postPipeline) const =0
const float * getPositions() const
bool onAsLuminanceColor(SkColor4f *) const override
SkGradientShader::Interpolation Interpolation
SkScalar getPos(int i) const
static sk_sp< SkShader > MakeDegenerateGradient(const SkColor4f colors[], const SkScalar pos[], int colorCount, sk_sp< SkColorSpace > colorSpace, SkTileMode mode)
~SkGradientBaseShader() override
void flatten(SkWriteBuffer &) const override
bool appendStages(const SkStageRec &, const SkShaders::MatrixRec &) const override
const SkMatrix fPtsToUnit
void commonAsAGradient(GradientInfo *) const
int getColorCount() const
sk_sp< SkColorSpace > fColorSpace
ShaderType type() const final
bool interpolateInPremul() const
static void AppendGradientFillStages(SkRasterPipeline *p, SkArenaAlloc *alloc, const SkPMColor4f *colors, const SkScalar *positions, int count)
const SkBitmap & cachedBitmap() const
static void AppendInterpolatedToDstStages(SkRasterPipeline *p, SkArenaAlloc *alloc, bool colorsAreOpaque, const Interpolation &interpolation, const SkColorSpace *intermediateColorSpace, const SkColorSpace *dstColorSpace)
const SkMatrix & getGradientMatrix() const
SkTileMode getTileMode() const
PODArray< SkColor > colors
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive mode
SkColorConverter(const SkColor *colors, int count)
skia_private::STArray< 2, SkColor4f > fColors4f
const SkColor4f * fColors
const SkScalar * fPositions
sk_sp< SkColorSpace > fColorSpace
Interpolation fInterpolation