Flutter Engine
The Flutter Engine
|
#include "src/gpu/ganesh/gradients/GrGradientShader.h"
#include "include/core/SkColorSpace.h"
#include "include/gpu/GrRecordingContext.h"
#include "include/private/SkColorData.h"
#include "src/base/SkMathPriv.h"
#include "src/core/SkColorSpacePriv.h"
#include "src/core/SkRasterPipeline.h"
#include "src/core/SkRasterPipelineOpList.h"
#include "src/core/SkRuntimeEffectPriv.h"
#include "src/gpu/ganesh/GrCaps.h"
#include "src/gpu/ganesh/GrColor.h"
#include "src/gpu/ganesh/GrColorInfo.h"
#include "src/gpu/ganesh/GrColorSpaceXform.h"
#include "src/gpu/ganesh/GrRecordingContextPriv.h"
#include "src/gpu/ganesh/SkGr.h"
#include "src/gpu/ganesh/effects/GrMatrixEffect.h"
#include "src/gpu/ganesh/effects/GrSkSLFP.h"
#include "src/gpu/ganesh/effects/GrTextureEffect.h"
#include "src/gpu/ganesh/gradients/GrGradientBitmapCache.h"
#include "src/shaders/gradients/SkGradientBaseShader.h"
Go to the source code of this file.
Namespaces | |
namespace | GrGradientShader |
Typedefs | |
using | Vec4 = skvx::Vec< 4, float > |
Functions | |
static std::unique_ptr< GrFragmentProcessor > | make_textured_colorizer (const SkPMColor4f *colors, const SkScalar *positions, int count, bool colorsAreOpaque, const SkGradientShader::Interpolation &interpolation, const SkColorSpace *intermediateColorSpace, const SkColorSpace *dstColorSpace, const GrFPArgs &args) |
static std::unique_ptr< GrFragmentProcessor > | make_single_interval_colorizer (const SkPMColor4f &start, const SkPMColor4f &end) |
static std::unique_ptr< GrFragmentProcessor > | make_dual_interval_colorizer (const SkPMColor4f &c0, const SkPMColor4f &c1, const SkPMColor4f &c2, const SkPMColor4f &c3, float threshold) |
static std::unique_ptr< GrFragmentProcessor > | make_unrolled_colorizer (int intervalCount, const SkPMColor4f *scale, const SkPMColor4f *bias, SkRect thresholds1_7, SkRect thresholds9_13) |
static std::unique_ptr< GrFragmentProcessor > | make_looping_colorizer (int intervalCount, const SkPMColor4f *scale, const SkPMColor4f *bias, const SkScalar *thresholds) |
int | build_intervals (int inputLength, const SkPMColor4f *inColors, const SkScalar *inPositions, int outputLength, SkPMColor4f *outScales, SkPMColor4f *outBiases, SkScalar *outThresholds) |
static std::unique_ptr< GrFragmentProcessor > | make_unrolled_binary_colorizer (const SkPMColor4f *colors, const SkScalar *positions, int count) |
static std::unique_ptr< GrFragmentProcessor > | make_looping_binary_colorizer (const SkPMColor4f *colors, const SkScalar *positions, int count) |
static std::unique_ptr< GrFragmentProcessor > | make_uniform_colorizer (const SkPMColor4f *colors, const SkScalar *positions, int count, bool premul, const GrFPArgs &args) |
static std::unique_ptr< GrFragmentProcessor > | make_clamped_gradient (std::unique_ptr< GrFragmentProcessor > colorizer, std::unique_ptr< GrFragmentProcessor > gradLayout, SkPMColor4f leftBorderColor, SkPMColor4f rightBorderColor, bool colorsAreOpaque) |
static std::unique_ptr< GrFragmentProcessor > | make_tiled_gradient (const GrFPArgs &args, std::unique_ptr< GrFragmentProcessor > colorizer, std::unique_ptr< GrFragmentProcessor > gradLayout, bool mirror, bool colorsAreOpaque) |
static std::unique_ptr< GrFragmentProcessor > | make_interpolated_to_dst (std::unique_ptr< GrFragmentProcessor > gradient, const SkGradientShader::Interpolation &interpolation, SkColorSpace *intermediateColorSpace, const GrColorInfo &dstInfo, bool allOpaque) |
static GrFPResult | GrGradientShader::apply_matrix (std::unique_ptr< GrFragmentProcessor > fp, const SkShaders::MatrixRec &rec, const SkMatrix &postInv) |
std::unique_ptr< GrFragmentProcessor > | GrGradientShader::MakeGradientFP (const SkGradientBaseShader &shader, const GrFPArgs &args, const SkShaders::MatrixRec &mRec, std::unique_ptr< GrFragmentProcessor > layout, const SkMatrix *overrideMatrix) |
std::unique_ptr< GrFragmentProcessor > | GrGradientShader::MakeLinear (const SkLinearGradient &shader, const GrFPArgs &args, const SkShaders::MatrixRec &mRec) |
Variables | |
static const SkScalar | kLowPrecisionIntervalLimit = 0.01f |
static const int | kMaxNumCachedGradientBitmaps = 32 |
static const int | kGradientTextureSize = 256 |
static constexpr int | kMaxUnrolledColorCount = 16 |
static constexpr int | kMaxUnrolledIntervalCount = kMaxUnrolledColorCount / 2 |
static constexpr int | kMaxLoopingColorCount = 128 |
static constexpr int | kMaxLoopingIntervalCount = kMaxLoopingColorCount / 2 |
Definition at line 32 of file GrGradientShader.cpp.
int build_intervals | ( | int | inputLength, |
const SkPMColor4f * | inColors, | ||
const SkScalar * | inPositions, | ||
int | outputLength, | ||
SkPMColor4f * | outScales, | ||
SkPMColor4f * | outBiases, | ||
SkScalar * | outThresholds | ||
) |
Definition at line 360 of file GrGradientShader.cpp.
|
static |
Definition at line 560 of file GrGradientShader.cpp.
|
static |
Definition at line 110 of file GrGradientShader.cpp.
|
static |
Definition at line 683 of file GrGradientShader.cpp.
|
static |
Definition at line 425 of file GrGradientShader.cpp.
|
static |
Definition at line 271 of file GrGradientShader.cpp.
|
static |
Definition at line 93 of file GrGradientShader.cpp.
|
static |
Definition at line 44 of file GrGradientShader.cpp.
|
static |
Definition at line 617 of file GrGradientShader.cpp.
|
static |
Definition at line 458 of file GrGradientShader.cpp.
|
static |
Definition at line 403 of file GrGradientShader.cpp.
|
static |
Definition at line 159 of file GrGradientShader.cpp.
|
static |
Definition at line 40 of file GrGradientShader.cpp.
|
static |
Definition at line 36 of file GrGradientShader.cpp.
|
staticconstexpr |
Definition at line 268 of file GrGradientShader.cpp.
|
staticconstexpr |
Definition at line 269 of file GrGradientShader.cpp.
|
static |
Definition at line 39 of file GrGradientShader.cpp.
|
staticconstexpr |
Definition at line 156 of file GrGradientShader.cpp.
|
staticconstexpr |
Definition at line 157 of file GrGradientShader.cpp.