5#ifndef FLUTTER_FLOW_LAYERS_CLIP_SHAPE_LAYER_H_
6#define FLUTTER_FLOW_LAYERS_CLIP_SHAPE_LAYER_H_
30 if (clip_behavior_ != prev->clip_behavior_ ||
31 clip_shape_ != prev->clip_shape_) {
69 if (uses_save_layer) {
86 if (context.raster_cache) {
87 mutator.integralTransform();
std::unique_ptr< LayerRasterCacheItem > layer_raster_cache_item_
void Paint(PaintContext &context) const override
Clip clip_behavior() const
const ClipShape & clip_shape() const
bool UsesSaveLayer() const
virtual const DlRect clip_shape_bounds() const =0
void Preroll(PrerollContext *context) override
virtual ~ClipShapeLayer()=default
virtual void ApplyClip(LayerStateStack::MutatorContext &mutator) const =0
ClipShapeLayer(const ClipShape &clip_shape, Clip clip_behavior)
void Diff(DiffContext *context, const Layer *old_layer) override
const DlRect & child_paint_bounds() const
void PrerollChildren(PrerollContext *context, DlRect *child_paint_bounds)
void PaintChildren(PaintContext &context) const override
virtual void DiffChildren(DiffContext *context, const ContainerLayer *old_layer)
void WillPaintWithIntegralTransform()
bool PushCullRect(const DlRect &clip)
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
static AutoPrerollSaveLayerState Create(PrerollContext *preroll_context, bool save_layer_is_active=true, bool layer_itself_performs_readback=false)
static constexpr int kSaveLayerRenderFlags
void set_paint_bounds(const DlRect &paint_bounds)
bool needs_painting(PaintContext &context) const
const DlRect & paint_bounds() const
void fill(MutatorsStack *mutators)
AutoRestore applyState(const DlRect &bounds, int can_apply_flags)
const DlMatrix matrix() const
static constexpr int kCallerCanApplyOpacity
#define FML_DCHECK(condition)
#define FML_DISALLOW_COPY_AND_ASSIGN(TypeName)
@ kAntiAliasWithSaveLayer
LayerStateStack & state_stack
LayerStateStack & state_stack
int renderable_state_flags
constexpr TRect IntersectionOrEmpty(const TRect &o) const