#include "src/shaders/SkShaderBase.h"
#include "include/core/SkAlphaType.h"
#include "include/core/SkBlendMode.h"
#include "include/core/SkColorFilter.h"
#include "src/core/SkColorSpaceXformSteps.h"
#include "src/core/SkEffectPriv.h"
#include "src/core/SkRasterPipeline.h"
#include "src/core/SkRasterPipelineOpList.h"
#include "src/shaders/SkLocalMatrixShader.h"
class SkWriteBuffer;
namespace SkShaders {
MatrixRec::MatrixRec(const SkMatrix& ctm) : … { … }
std::optional<MatrixRec> MatrixRec::apply(const SkStageRec& rec, const SkMatrix& postInv) const { … }
std::tuple<SkMatrix, bool> MatrixRec::applyForFragmentProcessor(const SkMatrix& postInv) const { … }
MatrixRec MatrixRec::applied() const { … }
MatrixRec MatrixRec::concat(const SkMatrix& m) const { … }
}
SkShaderBase::SkShaderBase() = default;
SkShaderBase::~SkShaderBase() = default;
void SkShaderBase::flatten(SkWriteBuffer& buffer) const { … }
bool SkShaderBase::asLuminanceColor(SkColor4f* colorPtr) const { … }
SkShaderBase::Context* SkShaderBase::makeContext(const ContextRec& rec, SkArenaAlloc* alloc) const { … }
SkShaderBase::Context::Context(const SkShaderBase& shader, const ContextRec& rec)
: … { … }
SkShaderBase::Context::~Context() { … }
bool SkShaderBase::ContextRec::isLegacyCompatible(SkColorSpace* shaderColorSpace) const { … }
sk_sp<SkShader> SkShaderBase::makeAsALocalMatrixShader(SkMatrix*) const { … }
bool SkShaderBase::appendRootStages(const SkStageRec& rec, const SkMatrix& ctm) const { … }
sk_sp<SkShader> SkShaderBase::makeWithCTM(const SkMatrix& postM) const { … }
sk_sp<SkShader> SkShaderBase::makeInvertAlpha() const { … }