15 color_source_(
std::move(color_source)),
16 mask_rect_(mask_rect),
17 blend_mode_(blend_mode) {}
24 if (color_source_ != prev->color_source_ ||
25 mask_rect_ != prev->mask_rect_ || blend_mode_ != prev->blend_mode_) {
56 if (context.raster_cache) {
std::unique_ptr< LayerRasterCacheItem > layer_raster_cache_item_
void Preroll(PrerollContext *context) override
void PaintChildren(PaintContext &context) const override
virtual void DiffChildren(DiffContext *context, const ContainerLayer *old_layer)
void WillPaintWithIntegralTransform()
void SetLayerPaintRegion(const Layer *layer, const PaintRegion ®ion)
void MarkSubtreeDirty(const PaintRegion &previous_paint_region=PaintRegion())
PaintRegion CurrentSubtreeRegion() const
bool has_raster_cache() const
PaintRegion GetOldLayerPaintRegion(const Layer *layer) const
bool IsSubtreeDirty() const
virtual void DrawRect(const DlRect &rect, const DlPaint &paint)=0
virtual void Translate(DlScalar tx, DlScalar ty)=0
DlPaint & setBlendMode(DlBlendMode mode)
DlPaint & setColorSource(std::nullptr_t source)
static AutoPrerollSaveLayerState Create(PrerollContext *preroll_context, bool save_layer_is_active=true, bool layer_itself_performs_readback=false)
static constexpr int kSaveLayerRenderFlags
bool needs_painting(PaintContext &context) const
const DlRect & paint_bounds() const
void fill(MutatorsStack *mutators)
const DlMatrix matrix() const
void Diff(DiffContext *context, const Layer *old_layer) override
ShaderMaskLayer(std::shared_ptr< DlColorSource > color_source, const DlRect &mask_rect, DlBlendMode blend_mode)
void Paint(PaintContext &context) const override
void Preroll(PrerollContext *context) override
#define FML_DCHECK(condition)
LayerStateStack & state_stack
LayerStateStack & state_stack
int renderable_state_flags
constexpr auto GetTop() const
constexpr TSize< Type > GetSize() const
Returns the size of the rectangle which may be negative in either width or height and may have been c...
constexpr auto GetLeft() const
static constexpr TRect MakeSize(const TSize< U > &size)