58 scratchPath->
addPoly(pts, 4,
true);
85 p.setAntiAlias(
false);
88 p.setMaskFilter(
nullptr);
98 p.getColor4f(), props};
111 rec.
fPipeline->
append(SkRasterPipelineOp::uniform_color_dst, uniformCtx);
113 if (!bm.has_value()) {
119 bool isOpaque = !
colors && transformShader->isOpaque();
120 if (
p.getAlphaf() != 1) {
135 steps.
apply(c4.vec());
147 if (transformShader->update(
inv)) {
static SkM44 inv(const SkM44 &m)
static const uint32_t rgba[kNumPixels]
void SkBlendMode_AppendStages(SkBlendMode mode, SkRasterPipeline *p)
SkBlenderBase * as_BB(SkBlender *blend)
SkColorSpace * sk_srgb_singleton()
SkBlitter * SkCreateRasterPipelineBlitter(const SkPixmap &, const SkPaint &, const SkMatrix &ctm, SkArenaAlloc *, sk_sp< SkShader > clipShader, const SkSurfaceProps &props)
static void fill_rect(const SkMatrix &ctm, const SkRasterClip &rc, const SkRect &r, SkBlitter *blitter, SkPath *scratchPath)
static void load_color(SkRasterPipeline_UniformColorCtx *ctx, const float rgba[])
#define SkScalarRoundToInt(x)
SkShaderBase * as_SB(SkShader *shader)
static SkSurfaceProps SkSurfacePropsCopyOrDefault(const SkSurfaceProps *props)
auto make(Ctor &&ctor) -> decltype(ctor(nullptr))
virtual std::optional< SkBlendMode > asBlendMode() const
const SkSurfaceProps * fProps
void drawAtlas(const SkRSXform[], const SkRect[], const SkColor[], int count, sk_sp< SkBlender >, const SkPaint &)
SkMatrix & postConcat(const SkMatrix &other)
void mapPoints(SkPoint dst[], const SkPoint src[], int count) const
bool invert(SkMatrix *inverse) const
bool rectStaysRect() const
SkMatrix & setRSXform(const SkRSXform &rsxForm)
static const SkMatrix & I()
SkMatrix & preTranslate(SkScalar dx, SkScalar dy)
bool hasPerspective() const
bool mapRect(SkRect *dst, const SkRect &src, SkApplyPerspectiveClip pc=SkApplyPerspectiveClip::kYes) const
@ kFill_Style
set to fill geometry
SkPath & addPoly(const SkPoint pts[], int count, bool close)
SkColorType colorType() const
SkColorSpace * colorSpace() const
sk_sp< SkShader > clipShader() const
void append(SkRasterPipelineOp, void *=nullptr)
static void FillRect(const SkRect &, const SkRasterClip &, SkBlitter *)
static void FillPath(const SkPath &, const SkIRect &, SkBlitter *)
PODArray< SkColor > colors
void toQuad(SkPoint quad[4]) const
SkRasterPipeline * fPipeline