15#include "third_party/skia/include/core/SkColorFilter.h"
29 save_stack_.emplace_back(opacity_);
30 set_opacity(child_opacity);
33 if (save_stack_.empty()) {
36 set_opacity(save_stack_.back().opacity);
37 save_stack_.pop_back();
41 paint_.setAntiAlias(aa);
44 invert_colors_ = invert;
45 paint_.setColorFilter(makeColorFilter());
48 paint_.setStrokeCap(
ToSk(cap));
51 paint_.setStrokeJoin(
ToSk(join));
54 paint_.setStyle(
ToSk(style));
57 paint_.setStrokeWidth(
width);
60 paint_.setStrokeMiter(limit);
63 current_color_ = color;
66 paint_.setAlphaf(paint_.getAlphaf() *
opacity());
81 color_source_gradient_ = source && source->
isGradient();
82 paint_.setShader(
ToSk(source));
85 paint_.setImageFilter(
ToSk(filter));
88 sk_color_filter_ =
ToSk(filter);
89 paint_.setColorFilter(makeColorFilter());
92 paint_.setMaskFilter(
ToSk(filter));
95sk_sp<SkColorFilter> DlSkPaintDispatchHelper::makeColorFilter()
const {
96 if (!invert_colors_) {
97 return sk_color_filter_;
99 sk_sp<SkColorFilter> invert_filter =
101 if (sk_color_filter_) {
102 invert_filter = invert_filter->makeComposed(sk_color_filter_);
104 return invert_filter;
virtual bool isGradient() const
If the underlying platform data represents a gradient.
void setStrokeMiter(SkScalar limit) override
void setDrawStyle(DlDrawStyle style) override
void setMaskFilter(const DlMaskFilter *filter) override
void setColorFilter(const DlColorFilter *filter) override
void setAntiAlias(bool aa) override
void setStrokeCap(DlStrokeCap cap) override
void setBlendMode(DlBlendMode mode) override
void setColorSource(const DlColorSource *source) override
void setStrokeWidth(SkScalar width) override
void save_opacity(SkScalar opacity_for_children)
void setImageFilter(const DlImageFilter *filter) override
void setColor(DlColor color) override
void setInvertColors(bool invert) override
void setStrokeJoin(DlStrokeJoin join) override
SkPaint ToSk(const DlPaint &paint)
SkColor4f ToSkColor4f(DlColor color)
constexpr float kInvertColorMatrix[20]
it will be possible to load the file into Perfetto s trace viewer use test Running tests that layout and measure text will not yield consistent results across various platforms Enabling this option will make font resolution default to the Ahem test font on all 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