163 return SkToBool(fBitfields.fAntiAlias);
170 void setAntiAlias(
bool aa) { fBitfields.fAntiAlias =
static_cast<unsigned>(aa); }
176 return SkToBool(fBitfields.fDither);
182 void setDither(
bool dither) { fBitfields.fDither =
static_cast<unsigned>(dither); }
200 static constexpr int kStyleCount = kStrokeAndFill_Style + 1;
212 void setStyle(Style style);
217 void setStroke(
bool);
254 this->setColor(
color, colorSpace);
276 void setAlphaf(
float a);
280 this->setAlphaf(
a * (1.0f / 255));
328 void setStrokeMiter(
SkScalar miter);
337 kLast_Cap = kSquare_Cap,
338 kDefault_Cap = kButt_Cap,
343 static constexpr int kCapCount = kLast_Cap + 1;
362 kLast_Join = kBevel_Join,
363 kDefault_Join = kMiter_Join,
368 static constexpr int kJoinCount = kLast_Join + 1;
379 void setStrokeCap(
Cap cap);
453 std::optional<SkBlendMode> asBlendMode()
const;
465 bool isSrcOver()
const;
597 bool nothingToDraw()
const;
606 bool canComputeFastBounds()
const;
642 return this->doComputeFastBounds(orig, storage, kStroke_Style);
#define sk_float_round2int(x)
static constexpr bool SkToBool(const T &x)
SkScalar getStrokeMiter() const
@ kButt_Cap
no stroke extension
friend bool operator!=(const SkPaint &a, const SkPaint &b)
sk_sp< SkShader > refShader() const
SkPathEffect * getPathEffect() const
void setAntiAlias(bool aa)
std::true_type sk_is_trivially_relocatable
sk_sp< SkImageFilter > refImageFilter() const
void setDither(bool dither)
SkPaint & operator=(SkPaint &&paint)
void setImageFilter(sk_sp< SkImageFilter > imageFilter)
SkColorFilter * getColorFilter() const
@ kStroke_Style
set to stroke geometry
@ kFill_Style
set to fill geometry
@ kStrokeAndFill_Style
sets to stroke and fill geometry
SkPaint & operator=(const SkPaint &paint)
SkPaint(const SkPaint &paint)
sk_sp< SkColorFilter > refColorFilter() const
void setColor4f(const SkColor4f &color, SkColorSpace *colorSpace=nullptr)
void setMaskFilter(sk_sp< SkMaskFilter > maskFilter)
SkColor4f getColor4f() const
SkMaskFilter * getMaskFilter() const
sk_sp< SkBlender > refBlender() const
void setShader(sk_sp< SkShader > shader)
void setPathEffect(sk_sp< SkPathEffect > pathEffect)
SkScalar getStrokeWidth() const
@ kMiter_Join
extends to miter limit
@ kBevel_Join
connects outside edges
sk_sp< SkMaskFilter > refMaskFilter() const
sk_sp< SkPathEffect > refPathEffect() const
SkBlender * getBlender() const
SkImageFilter * getImageFilter() const
const SkRect & computeFastStrokeBounds(const SkRect &orig, SkRect *storage) const
SkShader * getShader() const
void setColorFilter(sk_sp< SkColorFilter > colorFilter)
Join getStrokeJoin() 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
bool operator==(C p1, const scoped_nsprotocol< C > &p2)
static SkString join(const CommandLineFlags::StringArray &)