#include <container_layer.h>
Public Member Functions | |
ContainerLayer () | |
void | Diff (DiffContext *context, const Layer *old_layer) override |
void | PreservePaintRegion (DiffContext *context) override |
virtual void | Add (std::shared_ptr< Layer > layer) |
void | Preroll (PrerollContext *context, const SkMatrix &matrix) override |
void | Paint (PaintContext &context) const override |
const std::vector< std::shared_ptr< Layer > > & | layers () const |
virtual void | DiffChildren (DiffContext *context, const ContainerLayer *old_layer) |
void | PaintChildren (PaintContext &context) const |
const ContainerLayer * | as_container_layer () const override |
const SkRect & | child_paint_bounds () const |
![]() | |
Layer () | |
virtual | ~Layer () |
void | AssignOldLayer (Layer *old_layer) |
virtual bool | IsReplacing (DiffContext *context, const Layer *old_layer) const |
bool | subtree_has_platform_view () const |
void | set_subtree_has_platform_view (bool value) |
const SkRect & | paint_bounds () const |
void | set_paint_bounds (const SkRect &paint_bounds) |
bool | is_empty () const |
bool | needs_painting (PaintContext &context) const |
uint64_t | original_layer_id () const |
uint64_t | unique_id () const |
virtual const DisplayListLayer * | as_display_list_layer () const |
virtual const TextureLayer * | as_texture_layer () const |
virtual const PerformanceOverlayLayer * | as_performance_overlay_layer () const |
virtual const testing::MockLayer * | as_mock_layer () const |
Protected Member Functions | |
void | PrerollChildren (PrerollContext *context, const SkMatrix &child_matrix, SkRect *child_paint_bounds) |
Static Protected Member Functions | |
static void | TryToPrepareRasterCache (PrerollContext *context, Layer *layer, const SkMatrix &matrix, RasterCacheLayerStrategy strategy) |
Definition at line 14 of file container_layer.h.
flutter::ContainerLayer::ContainerLayer | ( | ) |
Definition at line 11 of file container_layer.cc.
|
virtual |
Definition at line 106 of file container_layer.cc.
Referenced by flutter::testing::TEST_F().
|
inlineoverridevirtual |
Reimplemented from flutter::Layer.
Definition at line 31 of file container_layer.h.
|
inline |
Definition at line 33 of file container_layer.h.
References PrerollChildren(), and TryToPrepareRasterCache().
Referenced by flutter::ImageFilterLayer::Paint(), flutter::BackdropFilterLayer::Preroll(), flutter::TransformLayer::Preroll(), flutter::PhysicalShapeLayer::Preroll(), Preroll(), flutter::ClipShapeLayer< SkRRect >::Preroll(), PrerollChildren(), and flutter::RasterCache::RasterizeLayer().
|
overridevirtual |
Reimplemented from flutter::Layer.
Reimplemented in flutter::OpacityLayer, flutter::ClipShapeLayer< SkRect >, flutter::ClipShapeLayer< SkPath >, flutter::ClipShapeLayer< SkRRect >, flutter::PhysicalShapeLayer, flutter::ShaderMaskLayer, flutter::TransformLayer, and flutter::ImageFilterLayer.
Definition at line 13 of file container_layer.cc.
References flutter::DiffContext::CurrentSubtreeRegion(), DiffChildren(), and flutter::DiffContext::SetLayerPaintRegion().
Referenced by flutter::testing::DiffContextTest::DiffLayerTree().
|
virtual |
Definition at line 27 of file container_layer.cc.
References flutter::DiffContext::AddDamage(), flutter::DiffContext::AddExistingPaintRegion(), FML_DCHECK, flutter::DiffContext::GetOldLayerPaintRegion(), flutter::Layer::IsReplacing(), flutter::DiffContext::IsSubtreeDirty(), and flutter::DiffContext::MarkSubtreeDirty().
Referenced by flutter::BackdropFilterLayer::Diff(), flutter::ColorFilterLayer::Diff(), flutter::ImageFilterLayer::Diff(), Diff(), flutter::TransformLayer::Diff(), flutter::ShaderMaskLayer::Diff(), flutter::PhysicalShapeLayer::Diff(), flutter::ClipShapeLayer< SkRRect >::Diff(), flutter::OpacityLayer::Diff(), and layers().
|
inline |
Definition at line 26 of file container_layer.h.
References DiffChildren(), and PaintChildren().
Referenced by flutter::RasterCache::Prepare(), and flutter::OpacityLayer::Preroll().
|
overridevirtual |
Implements flutter::Layer.
Reimplemented in flutter::ClipShapeLayer< SkRect >, flutter::ClipShapeLayer< SkPath >, flutter::ClipShapeLayer< SkRRect >, flutter::OpacityLayer, flutter::PhysicalShapeLayer, flutter::ShaderMaskLayer, flutter::TransformLayer, and flutter::ImageFilterLayer.
Definition at line 118 of file container_layer.cc.
References FML_DCHECK, flutter::Layer::needs_painting(), and PaintChildren().
void flutter::ContainerLayer::PaintChildren | ( | PaintContext & | context | ) | const |
Definition at line 176 of file container_layer.cc.
Referenced by layers(), flutter::BackdropFilterLayer::Paint(), flutter::ColorFilterLayer::Paint(), flutter::ImageFilterLayer::Paint(), flutter::TransformLayer::Paint(), flutter::ShaderMaskLayer::Paint(), Paint(), flutter::PhysicalShapeLayer::Paint(), flutter::OpacityLayer::Paint(), flutter::ClipShapeLayer< SkRRect >::Paint(), and flutter::RasterCache::RasterizeLayer().
|
overridevirtual |
Reimplemented from flutter::Layer.
Reimplemented in flutter::ClipShapeLayer< SkRect >, flutter::ClipShapeLayer< SkPath >, flutter::ClipShapeLayer< SkRRect >, flutter::OpacityLayer, flutter::PhysicalShapeLayer, flutter::ShaderMaskLayer, flutter::TransformLayer, and flutter::ImageFilterLayer.
Definition at line 110 of file container_layer.cc.
References child_paint_bounds(), PrerollChildren(), flutter::Layer::set_paint_bounds(), and TRACE_EVENT0.
Referenced by flutter::ColorFilterLayer::Preroll(), flutter::ShaderMaskLayer::Preroll(), and flutter::OpacityLayer::Preroll().
|
protected |
Definition at line 131 of file container_layer.cc.
References child_paint_bounds(), FML_DCHECK, flutter::PrerollContext::has_platform_view, flutter::PrerollContext::has_texture_layer, flutter::safe_intersection_test(), flutter::Layer::set_subtree_has_platform_view(), and flutter::PrerollContext::subtree_can_inherit_opacity.
Referenced by child_paint_bounds(), flutter::BackdropFilterLayer::Preroll(), flutter::ImageFilterLayer::Preroll(), flutter::TransformLayer::Preroll(), flutter::PhysicalShapeLayer::Preroll(), Preroll(), and flutter::ClipShapeLayer< SkRRect >::Preroll().
|
overridevirtual |
Reimplemented from flutter::Layer.
Definition at line 20 of file container_layer.cc.
References flutter::Layer::PreservePaintRegion().
|
staticprotected |
Definition at line 192 of file container_layer.cc.
References flutter::PrerollContext::cull_rect, flutter::PrerollContext::has_platform_view, flutter::PrerollContext::has_texture_layer, flutter::Layer::paint_bounds(), flutter::RasterCache::Prepare(), flutter::PrerollContext::raster_cache, and flutter::RasterCache::Touch().
Referenced by child_paint_bounds(), flutter::ImageFilterLayer::Preroll(), flutter::ColorFilterLayer::Preroll(), flutter::ShaderMaskLayer::Preroll(), flutter::OpacityLayer::Preroll(), and flutter::ClipShapeLayer< SkRRect >::Preroll().