8#ifndef GrMatrixEffect_DEFINED
9#define GrMatrixEffect_DEFINED
21namespace skgpu {
class KeyBuilder; }
27 std::unique_ptr<GrFragmentProcessor> child);
29 std::unique_ptr<GrFragmentProcessor>
clone()
const override;
30 const char*
name()
const override {
return "MatrixEffect"; }
43 std::unique_ptr<ProgramImpl> onMakeProgramImpl()
const override;
#define GR_DECLARE_FRAGMENT_PROCESSOR_TEST
GrFragmentProcessor(ClassID classID, OptimizationFlags optimizationFlags)
static OptimizationFlags ProcessorOptimizationFlags(const GrFragmentProcessor *fp)
GrFragmentProcessor * childProcessor(int index)
void registerChild(std::unique_ptr< GrFragmentProcessor > child, SkSL::SampleUsage sampleUsage=SkSL::SampleUsage::PassThrough())
static SkPMColor4f ConstantOutputForConstantInput(const GrFragmentProcessor *fp, const SkPMColor4f &input)
const char * name() const override
std::unique_ptr< GrFragmentProcessor > clone() const override
static std::unique_ptr< GrFragmentProcessor > Make(const SkMatrix &matrix, std::unique_ptr< GrFragmentProcessor > child)
@ kGrMatrixEffect_ClassID
static SampleUsage UniformMatrix(bool hasPerspective)
unsigned useCenter Optional< SkMatrix > matrix
const myers::Point & get(const myers::Segment &)