10#ifndef GrPaint_DEFINED
11#define GrPaint_DEFINED
54 fXPFactory = xpFactory;
67 SkASSERT(fColorFragmentProcessor ==
nullptr);
68 fColorFragmentProcessor = std::move(
fp);
77 SkASSERT(fCoverageFragmentProcessor ==
nullptr);
78 fCoverageFragmentProcessor = std::move(
fp);
92 return fColorFragmentProcessor.get();
95 return fCoverageFragmentProcessor.get();
99 return (fColorFragmentProcessor && fColorFragmentProcessor->usesSampleCoords()) ||
100 (fCoverageFragmentProcessor && fCoverageFragmentProcessor->usesSampleCoords());
130 std::unique_ptr<GrFragmentProcessor> fColorFragmentProcessor;
131 std::unique_ptr<GrFragmentProcessor> fCoverageFragmentProcessor;
132 bool fTrivial =
true;
constexpr SkPMColor4f SK_PMColor4fWHITE
SkDEBUGCODE(SK_SPI) SkThreadID SkGetThreadID()
static constexpr bool SkToBool(const T &x)
void setCoverageSetOpXPFactory(SkRegion::Op, bool invertCoverage=false)
void setXPFactory(const GrXPFactory *xpFactory)
const GrXPFactory * getXPFactory() const
friend void assert_alive(GrPaint &p)
static GrPaint Clone(const GrPaint &src)
const SkPMColor4f & getColor4f() const
GrFragmentProcessor * getColorFragmentProcessor() const
void setColorFragmentProcessor(std::unique_ptr< GrFragmentProcessor > fp)
bool isConstantBlendedColor(SkPMColor4f *constantColor) const
GrFragmentProcessor * getCoverageFragmentProcessor() const
int hasCoverageFragmentProcessor() const
void setColor4f(const SkPMColor4f &color)
void setCoverageFragmentProcessor(std::unique_ptr< GrFragmentProcessor > fp)
bool hasColorFragmentProcessor() const
void setPorterDuffXPFactory(SkBlendMode mode)
bool usesLocalCoords() const
int numTotalFragmentProcessors() const
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