5#include "flutter/flow/layers/opacity_layer.h"
7#include "flutter/flow/layers/cacheable_layer.h"
8#include "flutter/flow/raster_cache_util.h"
25 if (alpha_ !=
prev->alpha_ || offset_ !=
prev->offset_) {
79 if (context.raster_cache) {
80 mutator.integralTransform();
static float prev(float f)
static SkMatrix Translate(SkScalar dx, SkScalar dy)
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)
const SkRect & child_paint_bounds() const
void PushTransform(const SkMatrix &transform)
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
void translate(SkScalar tx, SkScalar ty)
SkMatrix transform_3x3() const
void fill(MutatorsStack *mutators)
static constexpr int kCallerCanApplyOpacity
static AutoPrerollSaveLayerState Create(PrerollContext *preroll_context, bool save_layer_is_active=true, bool layer_itself_performs_readback=false)
const SkRect & paint_bounds() const
bool needs_painting(PaintContext &context) const
void set_paint_bounds(const SkRect &paint_bounds)
void Diff(DiffContext *context, const Layer *old_layer) override
bool children_can_accept_opacity() const
void Preroll(PrerollContext *context) override
void Paint(PaintContext &context) const override
void set_children_can_accept_opacity(bool value)
OpacityLayer(SkAlpha alpha, const SkPoint &offset)
#define FML_DCHECK(condition)
static float max(float r, float g, float b)
static constexpr SkScalar toOpacity(uint8_t alpha)
LayerStateStack & state_stack
LayerStateStack & state_stack
int renderable_state_flags