restructure DL sources into sub-directories and new file naming conventions (#40157)
restructure DL sources into sub-directories and new file naming conventions
diff --git a/ci/licenses_golden/excluded_files b/ci/licenses_golden/excluded_files
index 2cb5675..f111966 100644
--- a/ci/licenses_golden/excluded_files
+++ b/ci/licenses_golden/excluded_files
@@ -29,22 +29,21 @@
../../../flutter/build
../../../flutter/ci
../../../flutter/common/README.md
-../../../flutter/display_list/display_list_color_filter_unittests.cc
-../../../flutter/display_list/display_list_color_source_unittests.cc
-../../../flutter/display_list/display_list_color_unittests.cc
-../../../flutter/display_list/display_list_complexity_unittests.cc
-../../../flutter/display_list/display_list_image_filter_unittests.cc
-../../../flutter/display_list/display_list_mask_filter_unittests.cc
-../../../flutter/display_list/display_list_matrix_clip_tracker_unittests.cc
-../../../flutter/display_list/display_list_paint_unittests.cc
-../../../flutter/display_list/display_list_path_effect_unittests.cc
-../../../flutter/display_list/display_list_rtree_unittests.cc
+../../../flutter/display_list/benchmarking/dl_complexity_unittests.cc
../../../flutter/display_list/display_list_unittests.cc
-../../../flutter/display_list/display_list_vertices_unittests.cc
-../../../flutter/display_list/dl_rendering_unittests.cc
+../../../flutter/display_list/dl_color_unittests.cc
+../../../flutter/display_list/dl_paint_unittests.cc
+../../../flutter/display_list/dl_vertices_unittests.cc
+../../../flutter/display_list/effects/dl_color_filter_unittests.cc
+../../../flutter/display_list/effects/dl_color_source_unittests.cc
+../../../flutter/display_list/effects/dl_image_filter_unittests.cc
+../../../flutter/display_list/effects/dl_mask_filter_unittests.cc
+../../../flutter/display_list/effects/dl_path_effect_unittests.cc
+../../../flutter/display_list/geometry/dl_rtree_unittests.cc
../../../flutter/display_list/skia/dl_sk_conversions_unittests.cc
-../../../flutter/display_list/skia/dl_sk_utils_unittests.cc
+../../../flutter/display_list/skia/dl_sk_paint_dispatcher_unittests.cc
../../../flutter/display_list/testing
+../../../flutter/display_list/utils/dl_matrix_clip_tracker_unittests.cc
../../../flutter/docs
../../../flutter/examples
../../../flutter/flow/README.md
diff --git a/ci/licenses_golden/licenses_flutter b/ci/licenses_golden/licenses_flutter
index 5a60d16..bec4b4a 100644
--- a/ci/licenses_golden/licenses_flutter
+++ b/ci/licenses_golden/licenses_flutter
@@ -704,70 +704,72 @@
ORIGIN: ../../../flutter/common/settings.h + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/common/task_runners.cc + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/common/task_runners.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/benchmarking/dl_benchmarks.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/benchmarking/dl_benchmarks.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/benchmarking/dl_builder_benchmarks.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/benchmarking/dl_complexity.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/benchmarking/dl_complexity.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/benchmarking/dl_complexity_gl.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/benchmarking/dl_complexity_gl.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/benchmarking/dl_complexity_helper.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/benchmarking/dl_complexity_metal.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/benchmarking/dl_complexity_metal.h + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/display_list/display_list.cc + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/display_list/display_list.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_attributes.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_benchmarks.cc + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_benchmarks.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_blend_mode.cc + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_blend_mode.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_builder.cc + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_builder.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_builder_benchmarks.cc + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_color.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_color_filter.cc + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_color_filter.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_color_source.cc + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_color_source.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_comparable.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_complexity.cc + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_complexity.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_complexity_gl.cc + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_complexity_gl.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_complexity_helper.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_complexity_metal.cc + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_complexity_metal.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_flags.cc + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_flags.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_image.cc + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_image.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_image_filter.cc + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_image_filter.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_image_skia.cc + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_image_skia.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_mask_filter.cc + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_mask_filter.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_matrix_clip_tracker.cc + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_matrix_clip_tracker.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_ops.cc + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_ops.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_paint.cc + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_paint.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_path_effect.cc + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_path_effect.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_rtree.cc + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_rtree.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_runtime_effect.cc + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_runtime_effect.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_sampling_options.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_tile_mode.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_utils.cc + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_utils.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_vertices.cc + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/display_list_vertices.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/dl_attributes.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/dl_blend_mode.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/dl_blend_mode.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/dl_builder.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/dl_builder.h + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/display_list/dl_canvas.cc + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/display_list/dl_canvas.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/dl_color.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/dl_op_flags.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/dl_op_flags.h + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/display_list/dl_op_receiver.cc + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/display_list/dl_op_receiver.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/dl_op_records.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/dl_op_records.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/dl_paint.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/dl_paint.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/dl_sampling_options.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/dl_tile_mode.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/dl_vertices.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/dl_vertices.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/effects/dl_color_filter.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/effects/dl_color_filter.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/effects/dl_color_source.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/effects/dl_color_source.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/effects/dl_image_filter.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/effects/dl_image_filter.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/effects/dl_mask_filter.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/effects/dl_mask_filter.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/effects/dl_path_effect.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/effects/dl_path_effect.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/effects/dl_runtime_effect.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/effects/dl_runtime_effect.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/geometry/dl_rtree.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/geometry/dl_rtree.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/image/dl_image.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/image/dl_image.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/image/dl_image_skia.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/image/dl_image_skia.h + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/display_list/skia/dl_sk_canvas.cc + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/display_list/skia/dl_sk_canvas.h + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/display_list/skia/dl_sk_conversions.cc + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/display_list/skia/dl_sk_conversions.h + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/display_list/skia/dl_sk_dispatcher.cc + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/display_list/skia/dl_sk_dispatcher.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/skia/dl_sk_utils.cc + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/skia/dl_sk_utils.h + ../../../flutter/LICENSE
-ORIGIN: ../../../flutter/display_list/types.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/skia/dl_sk_paint_dispatcher.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/skia/dl_sk_paint_dispatcher.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/skia/dl_sk_types.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/utils/dl_bounds_accumulator.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/utils/dl_bounds_accumulator.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/utils/dl_comparable.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/utils/dl_matrix_clip_tracker.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/utils/dl_matrix_clip_tracker.h + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/utils/dl_receiver_utils.cc + ../../../flutter/LICENSE
+ORIGIN: ../../../flutter/display_list/utils/dl_receiver_utils.h + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/flow/compositor_context.cc + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/flow/compositor_context.h + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/flow/diff_context.cc + ../../../flutter/LICENSE
@@ -3240,70 +3242,72 @@
FILE: ../../../flutter/common/settings.h
FILE: ../../../flutter/common/task_runners.cc
FILE: ../../../flutter/common/task_runners.h
+FILE: ../../../flutter/display_list/benchmarking/dl_benchmarks.cc
+FILE: ../../../flutter/display_list/benchmarking/dl_benchmarks.h
+FILE: ../../../flutter/display_list/benchmarking/dl_builder_benchmarks.cc
+FILE: ../../../flutter/display_list/benchmarking/dl_complexity.cc
+FILE: ../../../flutter/display_list/benchmarking/dl_complexity.h
+FILE: ../../../flutter/display_list/benchmarking/dl_complexity_gl.cc
+FILE: ../../../flutter/display_list/benchmarking/dl_complexity_gl.h
+FILE: ../../../flutter/display_list/benchmarking/dl_complexity_helper.h
+FILE: ../../../flutter/display_list/benchmarking/dl_complexity_metal.cc
+FILE: ../../../flutter/display_list/benchmarking/dl_complexity_metal.h
FILE: ../../../flutter/display_list/display_list.cc
FILE: ../../../flutter/display_list/display_list.h
-FILE: ../../../flutter/display_list/display_list_attributes.h
-FILE: ../../../flutter/display_list/display_list_benchmarks.cc
-FILE: ../../../flutter/display_list/display_list_benchmarks.h
-FILE: ../../../flutter/display_list/display_list_blend_mode.cc
-FILE: ../../../flutter/display_list/display_list_blend_mode.h
-FILE: ../../../flutter/display_list/display_list_builder.cc
-FILE: ../../../flutter/display_list/display_list_builder.h
-FILE: ../../../flutter/display_list/display_list_builder_benchmarks.cc
-FILE: ../../../flutter/display_list/display_list_color.h
-FILE: ../../../flutter/display_list/display_list_color_filter.cc
-FILE: ../../../flutter/display_list/display_list_color_filter.h
-FILE: ../../../flutter/display_list/display_list_color_source.cc
-FILE: ../../../flutter/display_list/display_list_color_source.h
-FILE: ../../../flutter/display_list/display_list_comparable.h
-FILE: ../../../flutter/display_list/display_list_complexity.cc
-FILE: ../../../flutter/display_list/display_list_complexity.h
-FILE: ../../../flutter/display_list/display_list_complexity_gl.cc
-FILE: ../../../flutter/display_list/display_list_complexity_gl.h
-FILE: ../../../flutter/display_list/display_list_complexity_helper.h
-FILE: ../../../flutter/display_list/display_list_complexity_metal.cc
-FILE: ../../../flutter/display_list/display_list_complexity_metal.h
-FILE: ../../../flutter/display_list/display_list_flags.cc
-FILE: ../../../flutter/display_list/display_list_flags.h
-FILE: ../../../flutter/display_list/display_list_image.cc
-FILE: ../../../flutter/display_list/display_list_image.h
-FILE: ../../../flutter/display_list/display_list_image_filter.cc
-FILE: ../../../flutter/display_list/display_list_image_filter.h
-FILE: ../../../flutter/display_list/display_list_image_skia.cc
-FILE: ../../../flutter/display_list/display_list_image_skia.h
-FILE: ../../../flutter/display_list/display_list_mask_filter.cc
-FILE: ../../../flutter/display_list/display_list_mask_filter.h
-FILE: ../../../flutter/display_list/display_list_matrix_clip_tracker.cc
-FILE: ../../../flutter/display_list/display_list_matrix_clip_tracker.h
-FILE: ../../../flutter/display_list/display_list_ops.cc
-FILE: ../../../flutter/display_list/display_list_ops.h
-FILE: ../../../flutter/display_list/display_list_paint.cc
-FILE: ../../../flutter/display_list/display_list_paint.h
-FILE: ../../../flutter/display_list/display_list_path_effect.cc
-FILE: ../../../flutter/display_list/display_list_path_effect.h
-FILE: ../../../flutter/display_list/display_list_rtree.cc
-FILE: ../../../flutter/display_list/display_list_rtree.h
-FILE: ../../../flutter/display_list/display_list_runtime_effect.cc
-FILE: ../../../flutter/display_list/display_list_runtime_effect.h
-FILE: ../../../flutter/display_list/display_list_sampling_options.h
-FILE: ../../../flutter/display_list/display_list_tile_mode.h
-FILE: ../../../flutter/display_list/display_list_utils.cc
-FILE: ../../../flutter/display_list/display_list_utils.h
-FILE: ../../../flutter/display_list/display_list_vertices.cc
-FILE: ../../../flutter/display_list/display_list_vertices.h
+FILE: ../../../flutter/display_list/dl_attributes.h
+FILE: ../../../flutter/display_list/dl_blend_mode.cc
+FILE: ../../../flutter/display_list/dl_blend_mode.h
+FILE: ../../../flutter/display_list/dl_builder.cc
+FILE: ../../../flutter/display_list/dl_builder.h
FILE: ../../../flutter/display_list/dl_canvas.cc
FILE: ../../../flutter/display_list/dl_canvas.h
+FILE: ../../../flutter/display_list/dl_color.h
+FILE: ../../../flutter/display_list/dl_op_flags.cc
+FILE: ../../../flutter/display_list/dl_op_flags.h
FILE: ../../../flutter/display_list/dl_op_receiver.cc
FILE: ../../../flutter/display_list/dl_op_receiver.h
+FILE: ../../../flutter/display_list/dl_op_records.cc
+FILE: ../../../flutter/display_list/dl_op_records.h
+FILE: ../../../flutter/display_list/dl_paint.cc
+FILE: ../../../flutter/display_list/dl_paint.h
+FILE: ../../../flutter/display_list/dl_sampling_options.h
+FILE: ../../../flutter/display_list/dl_tile_mode.h
+FILE: ../../../flutter/display_list/dl_vertices.cc
+FILE: ../../../flutter/display_list/dl_vertices.h
+FILE: ../../../flutter/display_list/effects/dl_color_filter.cc
+FILE: ../../../flutter/display_list/effects/dl_color_filter.h
+FILE: ../../../flutter/display_list/effects/dl_color_source.cc
+FILE: ../../../flutter/display_list/effects/dl_color_source.h
+FILE: ../../../flutter/display_list/effects/dl_image_filter.cc
+FILE: ../../../flutter/display_list/effects/dl_image_filter.h
+FILE: ../../../flutter/display_list/effects/dl_mask_filter.cc
+FILE: ../../../flutter/display_list/effects/dl_mask_filter.h
+FILE: ../../../flutter/display_list/effects/dl_path_effect.cc
+FILE: ../../../flutter/display_list/effects/dl_path_effect.h
+FILE: ../../../flutter/display_list/effects/dl_runtime_effect.cc
+FILE: ../../../flutter/display_list/effects/dl_runtime_effect.h
+FILE: ../../../flutter/display_list/geometry/dl_rtree.cc
+FILE: ../../../flutter/display_list/geometry/dl_rtree.h
+FILE: ../../../flutter/display_list/image/dl_image.cc
+FILE: ../../../flutter/display_list/image/dl_image.h
+FILE: ../../../flutter/display_list/image/dl_image_skia.cc
+FILE: ../../../flutter/display_list/image/dl_image_skia.h
FILE: ../../../flutter/display_list/skia/dl_sk_canvas.cc
FILE: ../../../flutter/display_list/skia/dl_sk_canvas.h
FILE: ../../../flutter/display_list/skia/dl_sk_conversions.cc
FILE: ../../../flutter/display_list/skia/dl_sk_conversions.h
FILE: ../../../flutter/display_list/skia/dl_sk_dispatcher.cc
FILE: ../../../flutter/display_list/skia/dl_sk_dispatcher.h
-FILE: ../../../flutter/display_list/skia/dl_sk_utils.cc
-FILE: ../../../flutter/display_list/skia/dl_sk_utils.h
-FILE: ../../../flutter/display_list/types.h
+FILE: ../../../flutter/display_list/skia/dl_sk_paint_dispatcher.cc
+FILE: ../../../flutter/display_list/skia/dl_sk_paint_dispatcher.h
+FILE: ../../../flutter/display_list/skia/dl_sk_types.h
+FILE: ../../../flutter/display_list/utils/dl_bounds_accumulator.cc
+FILE: ../../../flutter/display_list/utils/dl_bounds_accumulator.h
+FILE: ../../../flutter/display_list/utils/dl_comparable.h
+FILE: ../../../flutter/display_list/utils/dl_matrix_clip_tracker.cc
+FILE: ../../../flutter/display_list/utils/dl_matrix_clip_tracker.h
+FILE: ../../../flutter/display_list/utils/dl_receiver_utils.cc
+FILE: ../../../flutter/display_list/utils/dl_receiver_utils.h
FILE: ../../../flutter/flow/compositor_context.cc
FILE: ../../../flutter/flow/compositor_context.h
FILE: ../../../flutter/flow/diff_context.cc
diff --git a/display_list/BUILD.gn b/display_list/BUILD.gn
index 797e4cc..25b3b23 100644
--- a/display_list/BUILD.gn
+++ b/display_list/BUILD.gn
@@ -17,65 +17,67 @@
source_set("display_list") {
sources = [
+ "benchmarking/dl_complexity.cc",
+ "benchmarking/dl_complexity.h",
+ "benchmarking/dl_complexity_gl.cc",
+ "benchmarking/dl_complexity_gl.h",
+ "benchmarking/dl_complexity_metal.cc",
+ "benchmarking/dl_complexity_metal.h",
"display_list.cc",
"display_list.h",
- "display_list_attributes.h",
- "display_list_blend_mode.cc",
- "display_list_blend_mode.h",
- "display_list_builder.cc",
- "display_list_builder.h",
- "display_list_color.h",
- "display_list_color_filter.cc",
- "display_list_color_filter.h",
- "display_list_color_source.cc",
- "display_list_color_source.h",
- "display_list_complexity.cc",
- "display_list_complexity.h",
- "display_list_complexity_gl.cc",
- "display_list_complexity_gl.h",
- "display_list_complexity_metal.cc",
- "display_list_complexity_metal.h",
- "display_list_flags.cc",
- "display_list_flags.h",
- "display_list_image.cc",
- "display_list_image.h",
- "display_list_image_filter.cc",
- "display_list_image_filter.h",
- "display_list_image_skia.cc",
- "display_list_image_skia.h",
- "display_list_mask_filter.cc",
- "display_list_mask_filter.h",
- "display_list_matrix_clip_tracker.cc",
- "display_list_matrix_clip_tracker.h",
- "display_list_ops.cc",
- "display_list_ops.h",
- "display_list_paint.cc",
- "display_list_paint.h",
- "display_list_path_effect.cc",
- "display_list_path_effect.h",
- "display_list_rtree.cc",
- "display_list_rtree.h",
- "display_list_runtime_effect.cc",
- "display_list_runtime_effect.h",
- "display_list_sampling_options.h",
- "display_list_tile_mode.h",
- "display_list_utils.cc",
- "display_list_utils.h",
- "display_list_vertices.cc",
- "display_list_vertices.h",
+ "dl_attributes.h",
+ "dl_blend_mode.cc",
+ "dl_blend_mode.h",
+ "dl_builder.cc",
+ "dl_builder.h",
"dl_canvas.cc",
"dl_canvas.h",
+ "dl_color.h",
+ "dl_op_flags.cc",
+ "dl_op_flags.h",
"dl_op_receiver.cc",
"dl_op_receiver.h",
+ "dl_op_records.cc",
+ "dl_op_records.h",
+ "dl_paint.cc",
+ "dl_paint.h",
+ "dl_sampling_options.h",
+ "dl_tile_mode.h",
+ "dl_vertices.cc",
+ "dl_vertices.h",
+ "effects/dl_color_filter.cc",
+ "effects/dl_color_filter.h",
+ "effects/dl_color_source.cc",
+ "effects/dl_color_source.h",
+ "effects/dl_image_filter.cc",
+ "effects/dl_image_filter.h",
+ "effects/dl_mask_filter.cc",
+ "effects/dl_mask_filter.h",
+ "effects/dl_path_effect.cc",
+ "effects/dl_path_effect.h",
+ "effects/dl_runtime_effect.cc",
+ "effects/dl_runtime_effect.h",
+ "geometry/dl_rtree.cc",
+ "geometry/dl_rtree.h",
+ "image/dl_image.cc",
+ "image/dl_image.h",
+ "image/dl_image_skia.cc",
+ "image/dl_image_skia.h",
"skia/dl_sk_canvas.cc",
"skia/dl_sk_canvas.h",
"skia/dl_sk_conversions.cc",
"skia/dl_sk_conversions.h",
"skia/dl_sk_dispatcher.cc",
"skia/dl_sk_dispatcher.h",
- "skia/dl_sk_utils.cc",
- "skia/dl_sk_utils.h",
- "types.h",
+ "skia/dl_sk_paint_dispatcher.cc",
+ "skia/dl_sk_paint_dispatcher.h",
+ "skia/dl_sk_types.h",
+ "utils/dl_bounds_accumulator.cc",
+ "utils/dl_bounds_accumulator.h",
+ "utils/dl_matrix_clip_tracker.cc",
+ "utils/dl_matrix_clip_tracker.h",
+ "utils/dl_receiver_utils.cc",
+ "utils/dl_receiver_utils.h",
]
public_configs = [ ":display_list_config" ]
@@ -100,20 +102,20 @@
testonly = true
sources = [
- "display_list_color_filter_unittests.cc",
- "display_list_color_source_unittests.cc",
- "display_list_color_unittests.cc",
- "display_list_complexity_unittests.cc",
- "display_list_image_filter_unittests.cc",
- "display_list_mask_filter_unittests.cc",
- "display_list_matrix_clip_tracker_unittests.cc",
- "display_list_paint_unittests.cc",
- "display_list_path_effect_unittests.cc",
- "display_list_rtree_unittests.cc",
+ "benchmarking/dl_complexity_unittests.cc",
"display_list_unittests.cc",
- "display_list_vertices_unittests.cc",
+ "dl_color_unittests.cc",
+ "dl_paint_unittests.cc",
+ "dl_vertices_unittests.cc",
+ "effects/dl_color_filter_unittests.cc",
+ "effects/dl_color_source_unittests.cc",
+ "effects/dl_image_filter_unittests.cc",
+ "effects/dl_mask_filter_unittests.cc",
+ "effects/dl_path_effect_unittests.cc",
+ "geometry/dl_rtree_unittests.cc",
"skia/dl_sk_conversions_unittests.cc",
- "skia/dl_sk_utils_unittests.cc",
+ "skia/dl_sk_paint_dispatcher_unittests.cc",
+ "utils/dl_matrix_clip_tracker_unittests.cc",
]
deps = [
@@ -141,7 +143,7 @@
executable("display_list_rendertests") {
testonly = true
- sources = [ "dl_rendering_unittests.cc" ]
+ sources = [ "testing/dl_rendering_unittests.cc" ]
deps = [
":display_list",
@@ -169,7 +171,7 @@
executable("display_list_builder_benchmarks") {
testonly = true
- sources = [ "display_list_builder_benchmarks.cc" ]
+ sources = [ "benchmarking/dl_builder_benchmarks.cc" ]
deps = [
":display_list",
@@ -189,8 +191,8 @@
testonly = true
sources = [
- "display_list_benchmarks.cc",
- "display_list_benchmarks.h",
+ "benchmarking/dl_benchmarks.cc",
+ "benchmarking/dl_benchmarks.h",
]
deps = [
diff --git a/display_list/display_list_benchmarks.cc b/display_list/benchmarking/dl_benchmarks.cc
similarity index 98%
rename from display_list/display_list_benchmarks.cc
rename to display_list/benchmarking/dl_benchmarks.cc
index b9644ec..ca010af 100644
--- a/display_list/display_list_benchmarks.cc
+++ b/display_list/benchmarking/dl_benchmarks.cc
@@ -2,11 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_benchmarks.h"
-#include "flutter/display_list/display_list_builder.h"
-#include "flutter/display_list/display_list_flags.h"
+#include "flutter/display_list/benchmarking/dl_benchmarks.h"
+#include "flutter/display_list/dl_builder.h"
+#include "flutter/display_list/dl_op_flags.h"
#include "flutter/display_list/skia/dl_sk_canvas.h"
+#include "third_party/skia/include/core/SkBitmap.h"
#include "third_party/skia/include/core/SkPoint.h"
#include "third_party/skia/include/core/SkSurface.h"
#include "third_party/skia/include/core/SkTextBlob.h"
diff --git a/display_list/display_list_benchmarks.h b/display_list/benchmarking/dl_benchmarks.h
similarity index 98%
rename from display_list/display_list_benchmarks.h
rename to display_list/benchmarking/dl_benchmarks.h
index 4d02664..130c65c 100644
--- a/display_list/display_list_benchmarks.h
+++ b/display_list/benchmarking/dl_benchmarks.h
@@ -2,12 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef FLUTTER_FLOW_DISPLAY_LIST_BENCHMARKS_H_
-#define FLUTTER_FLOW_DISPLAY_LIST_BENCHMARKS_H_
+#ifndef FLUTTER_FLOW_DISPLAY_LIST_BENCHMARKING_DL_BENCHMARKS_H_
+#define FLUTTER_FLOW_DISPLAY_LIST_BENCHMARKING_DL_BENCHMARKS_H_
-#include "flutter/display_list/display_list_sampling_options.h"
-#include "flutter/display_list/display_list_vertices.h"
#include "flutter/display_list/dl_canvas.h"
+#include "flutter/display_list/dl_sampling_options.h"
+#include "flutter/display_list/dl_vertices.h"
#include "flutter/display_list/testing/dl_test_surface_provider.h"
#include "third_party/benchmark/include/benchmark/benchmark.h"
@@ -587,4 +587,4 @@
} // namespace testing
} // namespace flutter
-#endif // FLUTTER_FLOW_DISPLAY_LIST_BENCHMARKS_H_
+#endif // FLUTTER_FLOW_DISPLAY_LIST_BENCHMARKING_DL_BENCHMARKS_H_
diff --git a/display_list/display_list_builder_benchmarks.cc b/display_list/benchmarking/dl_builder_benchmarks.cc
similarity index 100%
rename from display_list/display_list_builder_benchmarks.cc
rename to display_list/benchmarking/dl_builder_benchmarks.cc
diff --git a/display_list/display_list_complexity.cc b/display_list/benchmarking/dl_complexity.cc
similarity index 84%
rename from display_list/display_list_complexity.cc
rename to display_list/benchmarking/dl_complexity.cc
index 1823088..cda80c6 100644
--- a/display_list/display_list_complexity.cc
+++ b/display_list/benchmarking/dl_complexity.cc
@@ -2,10 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_complexity.h"
+#include "flutter/display_list/benchmarking/dl_complexity.h"
+#include "flutter/display_list/benchmarking/dl_complexity_gl.h"
+#include "flutter/display_list/benchmarking/dl_complexity_metal.h"
#include "flutter/display_list/display_list.h"
-#include "flutter/display_list/display_list_complexity_gl.h"
-#include "flutter/display_list/display_list_complexity_metal.h"
namespace flutter {
diff --git a/display_list/display_list_complexity.h b/display_list/benchmarking/dl_complexity.h
similarity index 89%
rename from display_list/display_list_complexity.h
rename to display_list/benchmarking/dl_complexity.h
index 958e2ac..0ccdbff 100644
--- a/display_list/display_list_complexity.h
+++ b/display_list/benchmarking/dl_complexity.h
@@ -2,11 +2,11 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef FLUTTER_FLOW_DISPLAY_LIST_COMPLEXITY_H_
-#define FLUTTER_FLOW_DISPLAY_LIST_COMPLEXITY_H_
+#ifndef FLUTTER_FLOW_DISPLAY_LIST_BENCHMARKING_DL_COMPLEXITY_H_
+#define FLUTTER_FLOW_DISPLAY_LIST_BENCHMARKING_DL_COMPLEXITY_H_
#include "flutter/display_list/display_list.h"
-#include "flutter/display_list/types.h"
+
#include "third_party/skia/include/gpu/GrTypes.h"
namespace flutter {
@@ -55,4 +55,4 @@
} // namespace flutter
-#endif // FLUTTER_FLOW_DISPLAY_LIST_COMPLEXITY_H_
+#endif // FLUTTER_FLOW_DISPLAY_LIST_BENCHMARKING_DL_COMPLEXITY_H_
diff --git a/display_list/display_list_complexity_gl.cc b/display_list/benchmarking/dl_complexity_gl.cc
similarity index 99%
rename from display_list/display_list_complexity_gl.cc
rename to display_list/benchmarking/dl_complexity_gl.cc
index 165744d..f8dd1c5 100644
--- a/display_list/display_list_complexity_gl.cc
+++ b/display_list/benchmarking/dl_complexity_gl.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_complexity_gl.h"
+#include "flutter/display_list/benchmarking/dl_complexity_gl.h"
// The numbers and weightings used in this file stem from taking the
// data from the DisplayListBenchmarks suite run on an Pixel 4 and
diff --git a/display_list/display_list_complexity_gl.h b/display_list/benchmarking/dl_complexity_gl.h
similarity index 92%
rename from display_list/display_list_complexity_gl.h
rename to display_list/benchmarking/dl_complexity_gl.h
index 821c696..9fc7596 100644
--- a/display_list/display_list_complexity_gl.h
+++ b/display_list/benchmarking/dl_complexity_gl.h
@@ -2,10 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef FLUTTER_FLOW_DISPLAY_LIST_COMPLEXITY_GL_H_
-#define FLUTTER_FLOW_DISPLAY_LIST_COMPLEXITY_GL_H_
+#ifndef FLUTTER_FLOW_DISPLAY_LIST_BENCHMARKING_DL_COMPLEXITY_GL_H_
+#define FLUTTER_FLOW_DISPLAY_LIST_BENCHMARKING_DL_COMPLEXITY_GL_H_
-#include "flutter/display_list/display_list_complexity_helper.h"
+#include "flutter/display_list/benchmarking/dl_complexity_helper.h"
namespace flutter {
@@ -98,4 +98,4 @@
} // namespace flutter
-#endif // FLUTTER_FLOW_DISPLAY_LIST_COMPLEXITY_GL_H_
+#endif // FLUTTER_FLOW_DISPLAY_LIST_BENCHMARKING_DL_COMPLEXITY_GL_H_
diff --git a/display_list/display_list_complexity_helper.h b/display_list/benchmarking/dl_complexity_helper.h
similarity index 95%
rename from display_list/display_list_complexity_helper.h
rename to display_list/benchmarking/dl_complexity_helper.h
index 488dc32..5a57698 100644
--- a/display_list/display_list_complexity_helper.h
+++ b/display_list/benchmarking/dl_complexity_helper.h
@@ -2,13 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef FLUTTER_FLOW_DISPLAY_LIST_COMPLEXITY_HELPER_H_
-#define FLUTTER_FLOW_DISPLAY_LIST_COMPLEXITY_HELPER_H_
+#ifndef FLUTTER_FLOW_DISPLAY_LIST_BENCHMARKING_COMPLEXITY_HELPER_H_
+#define FLUTTER_FLOW_DISPLAY_LIST_BENCHMARKING_COMPLEXITY_HELPER_H_
-#include "flutter/display_list/display_list_blend_mode.h"
-#include "flutter/display_list/display_list_complexity.h"
-#include "flutter/display_list/display_list_utils.h"
+#include "flutter/display_list/benchmarking/dl_complexity.h"
+#include "flutter/display_list/dl_blend_mode.h"
#include "flutter/display_list/dl_op_receiver.h"
+#include "flutter/display_list/utils/dl_receiver_utils.h"
namespace flutter {
@@ -269,4 +269,4 @@
} // namespace flutter
-#endif // FLUTTER_FLOW_DISPLAY_LIST_COMPLEXITY_HELPER_H_
+#endif // FLUTTER_FLOW_DISPLAY_LIST_BENCHMARKING_COMPLEXITY_HELPER_H_
diff --git a/display_list/display_list_complexity_metal.cc b/display_list/benchmarking/dl_complexity_metal.cc
similarity index 99%
rename from display_list/display_list_complexity_metal.cc
rename to display_list/benchmarking/dl_complexity_metal.cc
index 8edb87a..56d4f3b 100644
--- a/display_list/display_list_complexity_metal.cc
+++ b/display_list/benchmarking/dl_complexity_metal.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_complexity_metal.h"
+#include "flutter/display_list/benchmarking/dl_complexity_metal.h"
// The numbers and weightings used in this file stem from taking the
// data from the DisplayListBenchmarks suite run on an iPhone 12 and
diff --git a/display_list/display_list_complexity_metal.h b/display_list/benchmarking/dl_complexity_metal.h
similarity index 91%
rename from display_list/display_list_complexity_metal.h
rename to display_list/benchmarking/dl_complexity_metal.h
index 94d3ca5..aa63863 100644
--- a/display_list/display_list_complexity_metal.h
+++ b/display_list/benchmarking/dl_complexity_metal.h
@@ -2,10 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef FLUTTER_FLOW_DISPLAY_LIST_COMPLEXITY_METAL_H_
-#define FLUTTER_FLOW_DISPLAY_LIST_COMPLEXITY_METAL_H_
+#ifndef FLUTTER_FLOW_DISPLAY_LIST_BENCHMARKING_DL_COMPLEXITY_METAL_H_
+#define FLUTTER_FLOW_DISPLAY_LIST_BENCHMARKING_DL_COMPLEXITY_METAL_H_
-#include "flutter/display_list/display_list_complexity_helper.h"
+#include "flutter/display_list/benchmarking/dl_complexity_helper.h"
namespace flutter {
@@ -98,4 +98,4 @@
} // namespace flutter
-#endif // FLUTTER_FLOW_DISPLAY_LIST_COMPLEXITY_METAL_H_
+#endif // FLUTTER_FLOW_DISPLAY_LIST_BENCHMARKING_DL_COMPLEXITY_METAL_H_
diff --git a/display_list/display_list_complexity_unittests.cc b/display_list/benchmarking/dl_complexity_unittests.cc
similarity index 97%
rename from display_list/display_list_complexity_unittests.cc
rename to display_list/benchmarking/dl_complexity_unittests.cc
index 3d4f9b0..f728413 100644
--- a/display_list/display_list_complexity_unittests.cc
+++ b/display_list/benchmarking/dl_complexity_unittests.cc
@@ -2,14 +2,16 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "flutter/display_list/benchmarking/dl_complexity.h"
+#include "flutter/display_list/benchmarking/dl_complexity_gl.h"
+#include "flutter/display_list/benchmarking/dl_complexity_metal.h"
#include "flutter/display_list/display_list.h"
-#include "flutter/display_list/display_list_builder.h"
-#include "flutter/display_list/display_list_complexity.h"
-#include "flutter/display_list/display_list_complexity_gl.h"
-#include "flutter/display_list/display_list_complexity_metal.h"
-#include "flutter/display_list/display_list_sampling_options.h"
+#include "flutter/display_list/dl_builder.h"
+#include "flutter/display_list/dl_sampling_options.h"
#include "flutter/display_list/testing/dl_test_snippets.h"
#include "flutter/testing/testing.h"
+
+#include "third_party/skia/include/core/SkBitmap.h"
#include "third_party/skia/include/core/SkColor.h"
namespace flutter {
diff --git a/display_list/display_list.cc b/display_list/display_list.cc
index 5ac4ea5..146eef1 100644
--- a/display_list/display_list.cc
+++ b/display_list/display_list.cc
@@ -5,8 +5,7 @@
#include <type_traits>
#include "flutter/display_list/display_list.h"
-#include "flutter/display_list/display_list_builder.h"
-#include "flutter/display_list/display_list_ops.h"
+#include "flutter/display_list/dl_op_records.h"
#include "flutter/fml/trace_event.h"
namespace flutter {
diff --git a/display_list/display_list.h b/display_list/display_list.h
index a66040a..42a7de0 100644
--- a/display_list/display_list.h
+++ b/display_list/display_list.h
@@ -8,9 +8,8 @@
#include <memory>
#include <optional>
-#include "flutter/display_list/display_list_rtree.h"
-#include "flutter/display_list/display_list_sampling_options.h"
-#include "flutter/display_list/types.h"
+#include "flutter/display_list/dl_sampling_options.h"
+#include "flutter/display_list/geometry/dl_rtree.h"
#include "flutter/fml/logging.h"
// The Flutter DisplayList mechanism encapsulates a persistent sequence of
diff --git a/display_list/display_list_mask_filter.cc b/display_list/display_list_mask_filter.cc
deleted file mode 100644
index 4095d2d..0000000
--- a/display_list/display_list_mask_filter.cc
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2013 The Flutter Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "flutter/display_list/display_list_mask_filter.h"
-
-namespace flutter {
-
-// Just exists to ensure that the header can be cleanly imported.
-
-} // namespace flutter
diff --git a/display_list/display_list_unittests.cc b/display_list/display_list_unittests.cc
index 03c05c0..35bf68b 100644
--- a/display_list/display_list_unittests.cc
+++ b/display_list/display_list_unittests.cc
@@ -9,13 +9,13 @@
#include <vector>
#include "flutter/display_list/display_list.h"
-#include "flutter/display_list/display_list_blend_mode.h"
-#include "flutter/display_list/display_list_builder.h"
-#include "flutter/display_list/display_list_paint.h"
-#include "flutter/display_list/display_list_rtree.h"
-#include "flutter/display_list/display_list_utils.h"
+#include "flutter/display_list/dl_blend_mode.h"
+#include "flutter/display_list/dl_builder.h"
+#include "flutter/display_list/dl_paint.h"
+#include "flutter/display_list/geometry/dl_rtree.h"
#include "flutter/display_list/skia/dl_sk_dispatcher.h"
#include "flutter/display_list/testing/dl_test_snippets.h"
+#include "flutter/display_list/utils/dl_receiver_utils.h"
#include "flutter/fml/logging.h"
#include "flutter/fml/math.h"
#include "flutter/testing/display_list_testing.h"
diff --git a/display_list/display_list_utils.h b/display_list/display_list_utils.h
deleted file mode 100644
index 152ae10..0000000
--- a/display_list/display_list_utils.h
+++ /dev/null
@@ -1,286 +0,0 @@
-// Copyright 2013 The Flutter Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef FLUTTER_DISPLAY_LIST_DISPLAY_LIST_UTILS_H_
-#define FLUTTER_DISPLAY_LIST_DISPLAY_LIST_UTILS_H_
-
-#include <optional>
-
-#include "flutter/display_list/display_list_rtree.h"
-#include "flutter/display_list/dl_op_receiver.h"
-#include "flutter/fml/logging.h"
-
-// This file contains various utility classes to ease implementing
-// a Flutter DisplayList DlOpReceiver, including:
-//
-// IgnoreAttributeDispatchHelper:
-// IgnoreClipDispatchHelper:
-// IgnoreTransformDispatchHelper
-// Empty overrides of all of the associated methods of DlOpReceiver
-// for receivers that only track some of the rendering operations
-
-namespace flutter {
-
-// A utility class that will ignore all DlOpReceiver methods relating
-// to the setting of attributes.
-class IgnoreAttributeDispatchHelper : public virtual DlOpReceiver {
- public:
- void setAntiAlias(bool aa) override {}
- void setDither(bool dither) override {}
- void setInvertColors(bool invert) override {}
- void setStrokeCap(DlStrokeCap cap) override {}
- void setStrokeJoin(DlStrokeJoin join) override {}
- void setStyle(DlDrawStyle style) override {}
- void setStrokeWidth(float width) override {}
- void setStrokeMiter(float limit) override {}
- void setColor(DlColor color) override {}
- void setBlendMode(DlBlendMode mode) override {}
- void setColorSource(const DlColorSource* source) override {}
- void setImageFilter(const DlImageFilter* filter) override {}
- void setColorFilter(const DlColorFilter* filter) override {}
- void setPathEffect(const DlPathEffect* effect) override {}
- void setMaskFilter(const DlMaskFilter* filter) override {}
-};
-
-// A utility class that will ignore all DlOpReceiver methods relating
-// to setting a clip.
-class IgnoreClipDispatchHelper : public virtual DlOpReceiver {
- void clipRect(const SkRect& rect,
- DlCanvas::ClipOp clip_op,
- bool is_aa) override {}
- void clipRRect(const SkRRect& rrect,
- DlCanvas::ClipOp clip_op,
- bool is_aa) override {}
- void clipPath(const SkPath& path,
- DlCanvas::ClipOp clip_op,
- bool is_aa) override {}
-};
-
-// A utility class that will ignore all DlOpReceiver methods relating
-// to modifying the transform.
-class IgnoreTransformDispatchHelper : public virtual DlOpReceiver {
- public:
- void translate(SkScalar tx, SkScalar ty) override {}
- void scale(SkScalar sx, SkScalar sy) override {}
- void rotate(SkScalar degrees) override {}
- void skew(SkScalar sx, SkScalar sy) override {}
- // clang-format off
- // 2x3 2D affine subset of a 4x4 transform in row major order
- void transform2DAffine(SkScalar mxx, SkScalar mxy, SkScalar mxt,
- SkScalar myx, SkScalar myy, SkScalar myt) override {}
- // full 4x4 transform in row major order
- void transformFullPerspective(
- SkScalar mxx, SkScalar mxy, SkScalar mxz, SkScalar mxt,
- SkScalar myx, SkScalar myy, SkScalar myz, SkScalar myt,
- SkScalar mzx, SkScalar mzy, SkScalar mzz, SkScalar mzt,
- SkScalar mwx, SkScalar mwy, SkScalar mwz, SkScalar mwt) override {}
- // clang-format on
- void transformReset() override {}
-};
-
-class IgnoreDrawDispatchHelper : public virtual DlOpReceiver {
- public:
- void save() override {}
- void saveLayer(const SkRect* bounds,
- const SaveLayerOptions options,
- const DlImageFilter* backdrop) override {}
- void restore() override {}
- void drawColor(DlColor color, DlBlendMode mode) override {}
- void drawPaint() override {}
- void drawLine(const SkPoint& p0, const SkPoint& p1) override {}
- void drawRect(const SkRect& rect) override {}
- void drawOval(const SkRect& bounds) override {}
- void drawCircle(const SkPoint& center, SkScalar radius) override {}
- void drawRRect(const SkRRect& rrect) override {}
- void drawDRRect(const SkRRect& outer, const SkRRect& inner) override {}
- void drawPath(const SkPath& path) override {}
- void drawArc(const SkRect& oval_bounds,
- SkScalar start_degrees,
- SkScalar sweep_degrees,
- bool use_center) override {}
- void drawPoints(DlCanvas::PointMode mode,
- uint32_t count,
- const SkPoint points[]) override {}
- void drawVertices(const DlVertices* vertices, DlBlendMode mode) override {}
- void drawImage(const sk_sp<DlImage> image,
- const SkPoint point,
- DlImageSampling sampling,
- bool render_with_attributes) override {}
- void drawImageRect(const sk_sp<DlImage> image,
- const SkRect& src,
- const SkRect& dst,
- DlImageSampling sampling,
- bool render_with_attributes,
- SrcRectConstraint constraint) override {}
- void drawImageNine(const sk_sp<DlImage> image,
- const SkIRect& center,
- const SkRect& dst,
- DlFilterMode filter,
- bool render_with_attributes) override {}
- void drawAtlas(const sk_sp<DlImage> atlas,
- const SkRSXform xform[],
- const SkRect tex[],
- const DlColor colors[],
- int count,
- DlBlendMode mode,
- DlImageSampling sampling,
- const SkRect* cull_rect,
- bool render_with_attributes) override {}
- void drawDisplayList(const sk_sp<DisplayList> display_list,
- SkScalar opacity) override {}
- void drawTextBlob(const sk_sp<SkTextBlob> blob,
- SkScalar x,
- SkScalar y) override {}
- void drawShadow(const SkPath& path,
- const DlColor color,
- const SkScalar elevation,
- bool transparent_occluder,
- SkScalar dpr) override {}
-};
-
-enum class BoundsAccumulatorType {
- kRect,
- kRTree,
-};
-
-class BoundsAccumulator {
- public:
- /// function definition for modifying the bounds of a rectangle
- /// during a restore operation. The function is used primarily
- /// to account for the bounds impact of an ImageFilter on a
- /// saveLayer on a per-rect basis. The implementation may apply
- /// this function at whatever granularity it can manage easily
- /// (for example, a Rect accumulator might apply it to the entire
- /// local bounds being restored, whereas an RTree accumulator might
- /// apply it individually to each element in the local RTree).
- ///
- /// The function will do a best faith attempt at determining the
- /// modified bounds and store the results in the supplied |dest|
- /// rectangle and return true. If the function is unable to
- /// accurately determine the modifed bounds, it will set the
- /// |dest| rectangle to a copy of the input bounds (or a best
- /// guess) and return false to indicate that the bounds should not
- /// be trusted.
- typedef bool BoundsModifier(const SkRect& original, SkRect* dest);
-
- virtual ~BoundsAccumulator() = default;
-
- virtual void accumulate(const SkRect& r, int index = 0) = 0;
-
- /// Save aside the rects/bounds currently being accumulated and start
- /// accumulating a new set of rects/bounds. When restore is called,
- /// some additional modifications may be applied to these new bounds
- /// before they are accumulated back into the surrounding bounds.
- virtual void save() = 0;
-
- /// Restore to the previous accumulation and incorporate the bounds of
- /// the primitives that were recorded since the last save (if needed).
- virtual void restore() = 0;
-
- /// Restore the previous set of accumulation rects/bounds and accumulate
- /// the current rects/bounds that were accumulated since the most recent
- /// call to |save| into them with modifications specified by the |map|
- /// parameter and clipping to the clip parameter if it is not null.
- ///
- /// The indicated map function is applied to the various rects and bounds
- /// that have been accumulated in this save/restore cycle before they
- /// are then accumulated into the previous accumulations. The granularity
- /// of the application of the map function to the rectangles that were
- /// accumulated during the save period is left up to the implementation.
- ///
- /// This method will return true if the map function returned true on
- /// every single invocation. A false return value means that the
- /// bounds accumulated during this restore may not be trusted (as
- /// determined by the map function).
- ///
- /// If there are no saved accumulations to restore to, this method will
- /// NOP ignoring the map function and the optional clip entirely.
- virtual bool restore(
- std::function<bool(const SkRect& original, SkRect& modified)> map,
- const SkRect* clip = nullptr) = 0;
-
- virtual SkRect bounds() const = 0;
-
- virtual sk_sp<DlRTree> rtree() const = 0;
-
- virtual BoundsAccumulatorType type() const = 0;
-};
-
-class RectBoundsAccumulator final : public virtual BoundsAccumulator {
- public:
- void accumulate(SkScalar x, SkScalar y) { rect_.accumulate(x, y); }
- void accumulate(const SkPoint& p) { rect_.accumulate(p.fX, p.fY); }
- void accumulate(const SkRect& r, int index) override;
-
- bool is_empty() const { return rect_.is_empty(); }
- bool is_not_empty() const { return rect_.is_not_empty(); }
-
- void save() override;
- void restore() override;
- bool restore(std::function<bool(const SkRect&, SkRect&)> mapper,
- const SkRect* clip) override;
-
- SkRect bounds() const override {
- FML_DCHECK(saved_rects_.empty());
- return rect_.bounds();
- }
-
- BoundsAccumulatorType type() const override {
- return BoundsAccumulatorType::kRect;
- }
-
- sk_sp<DlRTree> rtree() const override { return nullptr; }
-
- private:
- class AccumulationRect {
- public:
- AccumulationRect();
-
- void accumulate(SkScalar x, SkScalar y);
-
- bool is_empty() const { return min_x_ >= max_x_ || min_y_ >= max_y_; }
- bool is_not_empty() const { return min_x_ < max_x_ && min_y_ < max_y_; }
-
- SkRect bounds() const;
-
- private:
- SkScalar min_x_;
- SkScalar min_y_;
- SkScalar max_x_;
- SkScalar max_y_;
- };
-
- void pop_and_accumulate(SkRect& layer_bounds, const SkRect* clip);
-
- AccumulationRect rect_;
- std::vector<AccumulationRect> saved_rects_;
-};
-
-class RTreeBoundsAccumulator final : public virtual BoundsAccumulator {
- public:
- void accumulate(const SkRect& r, int index) override;
- void save() override;
- void restore() override;
-
- bool restore(
- std::function<bool(const SkRect& original, SkRect& modified)> map,
- const SkRect* clip = nullptr) override;
-
- SkRect bounds() const override;
-
- sk_sp<DlRTree> rtree() const override;
-
- BoundsAccumulatorType type() const override {
- return BoundsAccumulatorType::kRTree;
- }
-
- private:
- std::vector<SkRect> rects_;
- std::vector<int> rect_indices_;
- std::vector<size_t> saved_offsets_;
-};
-
-} // namespace flutter
-
-#endif // FLUTTER_DISPLAY_LIST_DISPLAY_LIST_UTILS_H_
diff --git a/display_list/display_list_attributes.h b/display_list/dl_attributes.h
similarity index 98%
rename from display_list/display_list_attributes.h
rename to display_list/dl_attributes.h
index aa10863..18b06ef 100644
--- a/display_list/display_list_attributes.h
+++ b/display_list/dl_attributes.h
@@ -5,7 +5,7 @@
#ifndef FLUTTER_DISPLAY_LIST_DISPLAY_LIST_ATTRIBUTES_H_
#define FLUTTER_DISPLAY_LIST_DISPLAY_LIST_ATTRIBUTES_H_
-#include "flutter/display_list/types.h"
+#include <memory>
namespace flutter {
diff --git a/display_list/display_list_blend_mode.cc b/display_list/dl_blend_mode.cc
similarity index 78%
rename from display_list/display_list_blend_mode.cc
rename to display_list/dl_blend_mode.cc
index a8f2425..3b3bb91 100644
--- a/display_list/display_list_blend_mode.cc
+++ b/display_list/dl_blend_mode.cc
@@ -2,6 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_blend_mode.h"
+#include "flutter/display_list/dl_blend_mode.h"
namespace flutter {} // namespace flutter
diff --git a/display_list/display_list_blend_mode.h b/display_list/dl_blend_mode.h
similarity index 88%
rename from display_list/display_list_blend_mode.h
rename to display_list/dl_blend_mode.h
index 2b5daa9..61c67f6 100644
--- a/display_list/display_list_blend_mode.h
+++ b/display_list/dl_blend_mode.h
@@ -2,10 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef FLUTTER_DISPLAY_LIST_DISPLAY_LIST_BLEND_MODE_H_
-#define FLUTTER_DISPLAY_LIST_DISPLAY_LIST_BLEND_MODE_H_
-
-#include "include/core/SkBlendMode.h"
+#ifndef FLUTTER_DISPLAY_LIST_DL_BLEND_MODE_H_
+#define FLUTTER_DISPLAY_LIST_DL_BLEND_MODE_H_
namespace flutter {
@@ -15,13 +13,13 @@
/// destination) and return a new color. Many of these operate the same on all 4
/// components: red, green, blue, alpha. For these, we just document what
/// happens to one component, rather than naming each one separately. Different
-/// SkColorTypes have different representations for color components:
+/// color types might have different representations for color components:
/// 8-bit: 0..255
/// 6-bit: 0..63
/// 5-bit: 0..31
/// 4-bit: 0..15
/// floats: 0...1
-/// The documentation is expressed as if the component values are always 0..1
+/// The comments are expressed as if the component values are always 0..1
/// (floats). For brevity, the documentation uses the following abbreviations s
/// : source d : destination sa : source alpha da : destination alpha Results
/// are abbreviated r : if all 4 components are computed in the same manner ra
@@ -68,4 +66,4 @@
} // namespace flutter
-#endif // FLUTTER_DISPLAY_LIST_DISPLAY_LIST_BLEND_MODE_H_
+#endif // FLUTTER_DISPLAY_LIST_DL_BLEND_MODE_H_
diff --git a/display_list/display_list_builder.cc b/display_list/dl_builder.cc
similarity index 99%
rename from display_list/display_list_builder.cc
rename to display_list/dl_builder.cc
index 9ab9db3..68f790c 100644
--- a/display_list/display_list_builder.cc
+++ b/display_list/dl_builder.cc
@@ -2,12 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_builder.h"
+#include "flutter/display_list/dl_builder.h"
#include "flutter/display_list/display_list.h"
-#include "flutter/display_list/display_list_blend_mode.h"
-#include "flutter/display_list/display_list_color_source.h"
-#include "flutter/display_list/display_list_ops.h"
+#include "flutter/display_list/dl_blend_mode.h"
+#include "flutter/display_list/dl_op_records.h"
+#include "flutter/display_list/effects/dl_color_source.h"
+#include "flutter/display_list/utils/dl_bounds_accumulator.h"
#include "fml/logging.h"
namespace flutter {
@@ -1250,7 +1251,7 @@
}
// Unusual blendmodes require us to process a saved layer
- // even with operations outisde the clip.
+ // even with operations outside the clip.
// For example, DstIn is used by masking layers.
// https://code.google.com/p/skia/issues/detail?id=1291
// https://crbug.com/401593
diff --git a/display_list/display_list_builder.h b/display_list/dl_builder.h
similarity index 97%
rename from display_list/display_list_builder.h
rename to display_list/dl_builder.h
index 4e85207..4917783 100644
--- a/display_list/display_list_builder.h
+++ b/display_list/dl_builder.h
@@ -6,18 +6,17 @@
#define FLUTTER_DISPLAY_LIST_DISPLAY_LIST_BUILDER_H_
#include "flutter/display_list/display_list.h"
-#include "flutter/display_list/display_list_blend_mode.h"
-#include "flutter/display_list/display_list_comparable.h"
-#include "flutter/display_list/display_list_flags.h"
-#include "flutter/display_list/display_list_image.h"
-#include "flutter/display_list/display_list_matrix_clip_tracker.h"
-#include "flutter/display_list/display_list_paint.h"
-#include "flutter/display_list/display_list_path_effect.h"
-#include "flutter/display_list/display_list_sampling_options.h"
-#include "flutter/display_list/display_list_utils.h"
+#include "flutter/display_list/dl_blend_mode.h"
#include "flutter/display_list/dl_canvas.h"
+#include "flutter/display_list/dl_op_flags.h"
#include "flutter/display_list/dl_op_receiver.h"
-#include "flutter/display_list/types.h"
+#include "flutter/display_list/dl_paint.h"
+#include "flutter/display_list/dl_sampling_options.h"
+#include "flutter/display_list/effects/dl_path_effect.h"
+#include "flutter/display_list/image/dl_image.h"
+#include "flutter/display_list/utils/dl_bounds_accumulator.h"
+#include "flutter/display_list/utils/dl_comparable.h"
+#include "flutter/display_list/utils/dl_matrix_clip_tracker.h"
#include "flutter/fml/macros.h"
namespace flutter {
diff --git a/display_list/dl_canvas.cc b/display_list/dl_canvas.cc
index 7f9e3fc..200ceb6 100644
--- a/display_list/dl_canvas.cc
+++ b/display_list/dl_canvas.cc
@@ -4,6 +4,7 @@
#include "flutter/display_list/dl_canvas.h"
+#include "third_party/skia/include/core/SkPoint3.h"
#include "third_party/skia/include/utils/SkShadowUtils.h"
namespace flutter {
diff --git a/display_list/dl_canvas.h b/display_list/dl_canvas.h
index 7d94352c..8fad40d 100644
--- a/display_list/dl_canvas.h
+++ b/display_list/dl_canvas.h
@@ -5,10 +5,18 @@
#ifndef FLUTTER_DISPLAY_LIST_DL_CANVAS_H_
#define FLUTTER_DISPLAY_LIST_DL_CANVAS_H_
-#include "flutter/display_list/display_list_blend_mode.h"
-#include "flutter/display_list/display_list_image.h"
-#include "flutter/display_list/display_list_paint.h"
-#include "flutter/display_list/display_list_vertices.h"
+#include "flutter/display_list/dl_blend_mode.h"
+#include "flutter/display_list/dl_paint.h"
+#include "flutter/display_list/dl_vertices.h"
+#include "flutter/display_list/image/dl_image.h"
+
+#include "third_party/skia/include/core/SkM44.h"
+#include "third_party/skia/include/core/SkMatrix.h"
+#include "third_party/skia/include/core/SkPath.h"
+#include "third_party/skia/include/core/SkRRect.h"
+#include "third_party/skia/include/core/SkRSXform.h"
+#include "third_party/skia/include/core/SkRect.h"
+#include "third_party/skia/include/core/SkTextBlob.h"
namespace flutter {
diff --git a/display_list/display_list_color.h b/display_list/dl_color.h
similarity index 94%
rename from display_list/display_list_color.h
rename to display_list/dl_color.h
index 855df42..c52a166 100644
--- a/display_list/display_list_color.h
+++ b/display_list/dl_color.h
@@ -2,10 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef FLUTTER_DISPLAY_LIST_DISPLAY_LIST_COLOR_H_
-#define FLUTTER_DISPLAY_LIST_DISPLAY_LIST_COLOR_H_
+#ifndef FLUTTER_DISPLAY_LIST_DL_COLOR_H_
+#define FLUTTER_DISPLAY_LIST_DL_COLOR_H_
-#include "flutter/display_list/types.h"
+#include "third_party/skia/include/core/SkScalar.h"
namespace flutter {
@@ -90,4 +90,4 @@
} // namespace flutter
-#endif // FLUTTER_DISPLAY_LIST_DISPLAY_LIST_COLOR_H_
+#endif // FLUTTER_DISPLAY_LIST_DL_COLOR_H_
diff --git a/display_list/display_list_color_unittests.cc b/display_list/dl_color_unittests.cc
similarity index 82%
rename from display_list/display_list_color_unittests.cc
rename to display_list/dl_color_unittests.cc
index 0d44688..37d60b2 100644
--- a/display_list/display_list_color_unittests.cc
+++ b/display_list/dl_color_unittests.cc
@@ -2,11 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_builder.h"
-#include "flutter/display_list/display_list_color_source.h"
-#include "flutter/display_list/testing/dl_test_equality.h"
-#include "flutter/display_list/types.h"
-#include "third_party/skia/include/core/SkSurface.h"
+#include "flutter/display_list/dl_color.h"
+#include "flutter/testing/testing.h"
+
+#include "third_party/skia/include/core/SkColor.h"
namespace flutter {
namespace testing {
diff --git a/display_list/display_list_flags.cc b/display_list/dl_op_flags.cc
similarity index 90%
rename from display_list/display_list_flags.cc
rename to display_list/dl_op_flags.cc
index 741954a..8c444dd 100644
--- a/display_list/display_list_flags.cc
+++ b/display_list/dl_op_flags.cc
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_flags.h"
-#include "flutter/display_list/display_list_path_effect.h"
+#include "flutter/display_list/dl_op_flags.h"
+#include "flutter/display_list/effects/dl_path_effect.h"
namespace flutter {
diff --git a/display_list/display_list_flags.h b/display_list/dl_op_flags.h
similarity index 98%
rename from display_list/display_list_flags.h
rename to display_list/dl_op_flags.h
index 15bdb66..9bb6c01 100644
--- a/display_list/display_list_flags.h
+++ b/display_list/dl_op_flags.h
@@ -2,11 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef FLUTTER_DISPLAY_LIST_DISPLAY_LIST_FLAGS_H_
-#define FLUTTER_DISPLAY_LIST_DISPLAY_LIST_FLAGS_H_
+#ifndef FLUTTER_DISPLAY_LIST_DL_OP_FLAGS_H_
+#define FLUTTER_DISPLAY_LIST_DL_OP_FLAGS_H_
-#include "flutter/display_list/display_list_paint.h"
-#include "flutter/display_list/types.h"
+#include "flutter/display_list/dl_paint.h"
#include "flutter/fml/logging.h"
namespace flutter {
@@ -428,4 +427,4 @@
} // namespace flutter
-#endif // FLUTTER_DISPLAY_LIST_DISPLAY_LIST_FLAGS_H_
+#endif // FLUTTER_DISPLAY_LIST_DL_OP_FLAGS_H_
diff --git a/display_list/dl_op_receiver.h b/display_list/dl_op_receiver.h
index 0f406f9..1e3d92f 100644
--- a/display_list/dl_op_receiver.h
+++ b/display_list/dl_op_receiver.h
@@ -6,17 +6,17 @@
#define FLUTTER_DISPLAY_LIST_DISPLAY_LIST_DISPATCHER_H_
#include "flutter/display_list/display_list.h"
-#include "flutter/display_list/display_list_blend_mode.h"
-#include "flutter/display_list/display_list_color_filter.h"
-#include "flutter/display_list/display_list_color_source.h"
-#include "flutter/display_list/display_list_image.h"
-#include "flutter/display_list/display_list_image_filter.h"
-#include "flutter/display_list/display_list_mask_filter.h"
-#include "flutter/display_list/display_list_paint.h"
-#include "flutter/display_list/display_list_path_effect.h"
-#include "flutter/display_list/display_list_sampling_options.h"
-#include "flutter/display_list/display_list_vertices.h"
+#include "flutter/display_list/dl_blend_mode.h"
#include "flutter/display_list/dl_canvas.h"
+#include "flutter/display_list/dl_paint.h"
+#include "flutter/display_list/dl_sampling_options.h"
+#include "flutter/display_list/dl_vertices.h"
+#include "flutter/display_list/effects/dl_color_filter.h"
+#include "flutter/display_list/effects/dl_color_source.h"
+#include "flutter/display_list/effects/dl_image_filter.h"
+#include "flutter/display_list/effects/dl_mask_filter.h"
+#include "flutter/display_list/effects/dl_path_effect.h"
+#include "flutter/display_list/image/dl_image.h"
namespace flutter {
@@ -38,7 +38,7 @@
// MaxDrawPointsCount * sizeof(SkPoint) must be less than 1 << 32
static constexpr int kMaxDrawPointsCount = ((1 << 29) - 1);
- // The following methods are nearly 1:1 with the methods on SkPaint and
+ // The following methods are nearly 1:1 with the methods on DlPaint and
// carry the same meanings. Each method sets a persistent value for the
// attribute for the rest of the display list or until it is reset by
// another method that changes the same attribute. The current set of
@@ -53,8 +53,8 @@
virtual void setStrokeJoin(DlStrokeJoin join) = 0;
virtual void setColorSource(const DlColorSource* source) = 0;
virtual void setColorFilter(const DlColorFilter* filter) = 0;
- // setInvertColors does not exist in SkPaint, but is a quick way to set
- // a ColorFilter that inverts the rgb values of all rendered colors.
+ // setInvertColors is a quick way to set a ColorFilter that inverts the
+ // rgb values of all rendered colors.
// It is not reset by |setColorFilter|, but instead composed with that
// filter so that the color inversion happens after the ColorFilter.
virtual void setInvertColors(bool invert) = 0;
diff --git a/display_list/display_list_ops.cc b/display_list/dl_op_records.cc
similarity index 84%
rename from display_list/display_list_ops.cc
rename to display_list/dl_op_records.cc
index 4e8bdb2..e93e65a 100644
--- a/display_list/display_list_ops.cc
+++ b/display_list/dl_op_records.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_ops.h"
+#include "flutter/display_list/dl_op_records.h"
namespace flutter {
diff --git a/display_list/display_list_ops.h b/display_list/dl_op_records.h
similarity index 98%
rename from display_list/display_list_ops.h
rename to display_list/dl_op_records.h
index e9c6642..2657dbb 100644
--- a/display_list/display_list_ops.h
+++ b/display_list/dl_op_records.h
@@ -2,17 +2,18 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef FLUTTER_DISPLAY_LIST_DISPLAY_LIST_OPS_H_
-#define FLUTTER_DISPLAY_LIST_DISPLAY_LIST_OPS_H_
+#ifndef FLUTTER_DISPLAY_LIST_DL_OP_RECORDS_H_
+#define FLUTTER_DISPLAY_LIST_DL_OP_RECORDS_H_
-#include "display_list_color_source.h"
#include "flutter/display_list/display_list.h"
-#include "flutter/display_list/display_list_blend_mode.h"
-#include "flutter/display_list/display_list_sampling_options.h"
+#include "flutter/display_list/dl_blend_mode.h"
#include "flutter/display_list/dl_op_receiver.h"
-#include "flutter/display_list/types.h"
+#include "flutter/display_list/dl_sampling_options.h"
+#include "flutter/display_list/effects/dl_color_source.h"
#include "flutter/fml/macros.h"
+#include "third_party/skia/include/core/SkRSXform.h"
+
namespace flutter {
// Structure holding the information necessary to dispatch and
@@ -1112,4 +1113,4 @@
} // namespace flutter
-#endif // FLUTTER_DISPLAY_LIST_DISPLAY_LIST_OPS_H_
+#endif // FLUTTER_DISPLAY_LIST_DL_OP_RECORDS_H_
diff --git a/display_list/display_list_paint.cc b/display_list/dl_paint.cc
similarity index 96%
rename from display_list/display_list_paint.cc
rename to display_list/dl_paint.cc
index 40c6aef..7ea9cf9 100644
--- a/display_list/display_list_paint.cc
+++ b/display_list/dl_paint.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_paint.h"
+#include "flutter/display_list/dl_paint.h"
namespace flutter {
diff --git a/display_list/display_list_paint.h b/display_list/dl_paint.h
similarity index 90%
rename from display_list/display_list_paint.h
rename to display_list/dl_paint.h
index 7bfdbfa..77619a2 100644
--- a/display_list/display_list_paint.h
+++ b/display_list/dl_paint.h
@@ -2,17 +2,17 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef FLUTTER_DISPLAY_LIST_DISPLAY_LIST_PAINT_H_
-#define FLUTTER_DISPLAY_LIST_DISPLAY_LIST_PAINT_H_
+#ifndef FLUTTER_DISPLAY_LIST_DL_PAINT_H_
+#define FLUTTER_DISPLAY_LIST_DL_PAINT_H_
#include <memory>
-#include "flutter/display_list/display_list_blend_mode.h"
-#include "flutter/display_list/display_list_color.h"
-#include "flutter/display_list/display_list_color_filter.h"
-#include "flutter/display_list/display_list_color_source.h"
-#include "flutter/display_list/display_list_image_filter.h"
-#include "flutter/display_list/display_list_mask_filter.h"
-#include "flutter/display_list/display_list_path_effect.h"
+#include "flutter/display_list/dl_blend_mode.h"
+#include "flutter/display_list/dl_color.h"
+#include "flutter/display_list/effects/dl_color_filter.h"
+#include "flutter/display_list/effects/dl_color_source.h"
+#include "flutter/display_list/effects/dl_image_filter.h"
+#include "flutter/display_list/effects/dl_mask_filter.h"
+#include "flutter/display_list/effects/dl_path_effect.h"
namespace flutter {
@@ -237,10 +237,8 @@
std::shared_ptr<const DlImageFilter> imageFilter_;
std::shared_ptr<const DlMaskFilter> maskFilter_;
std::shared_ptr<const DlPathEffect> pathEffect_;
- // missing (as compared to SkPaint):
- // DlBlender - not planning on using that object in a pure DisplayList world
};
} // namespace flutter
-#endif // FLUTTER_DISPLAY_LIST_DISPLAY_LIST_PAINT_H_
+#endif // FLUTTER_DISPLAY_LIST_DL_PAINT_H_
diff --git a/display_list/display_list_paint_unittests.cc b/display_list/dl_paint_unittests.cc
similarity index 94%
rename from display_list/display_list_paint_unittests.cc
rename to display_list/dl_paint_unittests.cc
index fe8aca8..c870cd5 100644
--- a/display_list/display_list_paint_unittests.cc
+++ b/display_list/dl_paint_unittests.cc
@@ -2,9 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_paint.h"
+#include "flutter/display_list/dl_paint.h"
-#include "flutter/display_list/display_list_comparable.h"
+#include "flutter/display_list/utils/dl_comparable.h"
#include "gtest/gtest.h"
namespace flutter {
@@ -66,7 +66,7 @@
DlBlurImageFilter image_filter(1.3, 4.7, DlTileMode::kClamp);
EXPECT_NE(paint, DlPaint().setImageFilter(image_filter.shared()));
- DlBlurMaskFilter mask_filter(SkBlurStyle::kInner_SkBlurStyle, 3.14);
+ DlBlurMaskFilter mask_filter(DlBlurStyle::kInner, 3.14);
EXPECT_NE(paint, DlPaint().setMaskFilter(mask_filter.shared()));
}
@@ -114,8 +114,7 @@
.shared())
.setImageFilter(
DlBlurImageFilter(1.3, 4.7, DlTileMode::kClamp).shared())
- .setMaskFilter(
- DlBlurMaskFilter(SkBlurStyle::kInner_SkBlurStyle, 3.14).shared());
+ .setMaskFilter(DlBlurMaskFilter(DlBlurStyle::kInner, 3.14).shared());
EXPECT_TRUE(paint.isAntiAlias());
EXPECT_TRUE(paint.isDither());
EXPECT_TRUE(paint.isInvertColors());
@@ -133,7 +132,7 @@
EXPECT_EQ(*paint.getImageFilter(),
DlBlurImageFilter(1.3, 4.7, DlTileMode::kClamp));
EXPECT_EQ(*paint.getMaskFilter(),
- DlBlurMaskFilter(SkBlurStyle::kInner_SkBlurStyle, 3.14));
+ DlBlurMaskFilter(DlBlurStyle::kInner, 3.14));
EXPECT_NE(paint, DlPaint());
}
diff --git a/display_list/display_list_sampling_options.h b/display_list/dl_sampling_options.h
similarity index 88%
rename from display_list/display_list_sampling_options.h
rename to display_list/dl_sampling_options.h
index c3896bf..4a4e97d 100644
--- a/display_list/display_list_sampling_options.h
+++ b/display_list/dl_sampling_options.h
@@ -5,8 +5,6 @@
#ifndef FLUTTER_DISPLAY_LIST_DISPLAY_LIST_SAMPLING_OPTIONS_H_
#define FLUTTER_DISPLAY_LIST_DISPLAY_LIST_SAMPLING_OPTIONS_H_
-#include "include/core/SkColorSpace.h"
-#include "include/core/SkSamplingOptions.h"
namespace flutter {
enum class DlFilterMode {
diff --git a/display_list/display_list_tile_mode.h b/display_list/dl_tile_mode.h
similarity index 95%
rename from display_list/display_list_tile_mode.h
rename to display_list/dl_tile_mode.h
index 15c04cf..c9e1377 100644
--- a/display_list/display_list_tile_mode.h
+++ b/display_list/dl_tile_mode.h
@@ -5,8 +5,6 @@
#ifndef FLUTTER_DISPLAY_LIST_DISPLAY_LIST_TILE_MODE_H_
#define FLUTTER_DISPLAY_LIST_DISPLAY_LIST_TILE_MODE_H_
-#include "third_party/skia/include/core/SkTileMode.h"
-
namespace flutter {
// An enum to define how to repeat, fold, or omit colors outside of the
diff --git a/display_list/display_list_vertices.cc b/display_list/dl_vertices.cc
similarity index 98%
rename from display_list/display_list_vertices.cc
rename to display_list/dl_vertices.cc
index e6a9b72..f56150e 100644
--- a/display_list/display_list_vertices.cc
+++ b/display_list/dl_vertices.cc
@@ -2,9 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_vertices.h"
+#include "flutter/display_list/dl_vertices.h"
-#include "flutter/display_list/display_list_utils.h"
+#include "flutter/display_list/utils/dl_bounds_accumulator.h"
#include "flutter/fml/logging.h"
namespace flutter {
diff --git a/display_list/display_list_vertices.h b/display_list/dl_vertices.h
similarity index 98%
rename from display_list/display_list_vertices.h
rename to display_list/dl_vertices.h
index 04044ba..7c3ed34 100644
--- a/display_list/display_list_vertices.h
+++ b/display_list/dl_vertices.h
@@ -5,8 +5,11 @@
#ifndef FLUTTER_DISPLAY_LIST_DISPLAY_LIST_VERTICES_H_
#define FLUTTER_DISPLAY_LIST_DISPLAY_LIST_VERTICES_H_
-#include "flutter/display_list/display_list_color.h"
-#include "flutter/display_list/types.h"
+#include <memory>
+
+#include "flutter/display_list/dl_color.h"
+
+#include "third_party/skia/include/core/SkRect.h"
namespace flutter {
diff --git a/display_list/display_list_vertices_unittests.cc b/display_list/dl_vertices_unittests.cc
similarity index 99%
rename from display_list/display_list_vertices_unittests.cc
rename to display_list/dl_vertices_unittests.cc
index 5a11dc2e..f30f473 100644
--- a/display_list/display_list_vertices_unittests.cc
+++ b/display_list/dl_vertices_unittests.cc
@@ -2,11 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_builder.h"
-#include "flutter/display_list/display_list_comparable.h"
-#include "flutter/display_list/display_list_vertices.h"
+#include "flutter/display_list/dl_builder.h"
+#include "flutter/display_list/dl_vertices.h"
#include "flutter/display_list/testing/dl_test_equality.h"
-#include "flutter/display_list/types.h"
+#include "flutter/display_list/utils/dl_comparable.h"
#include "gtest/gtest.h"
namespace flutter {
diff --git a/display_list/display_list_color_filter.cc b/display_list/effects/dl_color_filter.cc
similarity index 97%
rename from display_list/display_list_color_filter.cc
rename to display_list/effects/dl_color_filter.cc
index 778214e..99f4a7c 100644
--- a/display_list/display_list_color_filter.cc
+++ b/display_list/effects/dl_color_filter.cc
@@ -2,9 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_color_filter.h"
+#include "flutter/display_list/effects/dl_color_filter.h"
-#include "flutter/display_list/display_list_color.h"
+#include "flutter/display_list/dl_color.h"
namespace flutter {
diff --git a/display_list/display_list_color_filter.h b/display_list/effects/dl_color_filter.h
similarity index 94%
rename from display_list/display_list_color_filter.h
rename to display_list/effects/dl_color_filter.h
index b02bad4..a96517b 100644
--- a/display_list/display_list_color_filter.h
+++ b/display_list/effects/dl_color_filter.h
@@ -2,13 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef FLUTTER_DISPLAY_LIST_DISPLAY_LIST_COLOR_FILTER_H_
-#define FLUTTER_DISPLAY_LIST_DISPLAY_LIST_COLOR_FILTER_H_
+#ifndef FLUTTER_DISPLAY_LIST_EFFECTS_DL_COLOR_FILTER_H_
+#define FLUTTER_DISPLAY_LIST_EFFECTS_DL_COLOR_FILTER_H_
-#include "flutter/display_list/display_list_attributes.h"
-#include "flutter/display_list/display_list_blend_mode.h"
-#include "flutter/display_list/display_list_color.h"
-#include "flutter/display_list/types.h"
+#include "flutter/display_list/dl_attributes.h"
+#include "flutter/display_list/dl_blend_mode.h"
+#include "flutter/display_list/dl_color.h"
#include "flutter/fml/logging.h"
namespace flutter {
@@ -216,4 +215,4 @@
} // namespace flutter
-#endif // FLUTTER_DISPLAY_LIST_DISPLAY_LIST_COLOR_FILTER_H_
+#endif // FLUTTER_DISPLAY_LIST_EFFECTS_DL_COLOR_FILTER_H_
diff --git a/display_list/display_list_color_filter_unittests.cc b/display_list/effects/dl_color_filter_unittests.cc
similarity index 96%
rename from display_list/display_list_color_filter_unittests.cc
rename to display_list/effects/dl_color_filter_unittests.cc
index efdd1b5..c82ca6e 100644
--- a/display_list/display_list_color_filter_unittests.cc
+++ b/display_list/effects/dl_color_filter_unittests.cc
@@ -2,10 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_builder.h"
-#include "flutter/display_list/display_list_color_filter.h"
+#include "flutter/display_list/effects/dl_color_filter.h"
#include "flutter/display_list/testing/dl_test_equality.h"
-#include "flutter/display_list/types.h"
namespace flutter {
namespace testing {
diff --git a/display_list/display_list_color_source.cc b/display_list/effects/dl_color_source.cc
similarity index 94%
rename from display_list/display_list_color_source.cc
rename to display_list/effects/dl_color_source.cc
index 01da26d..5b1744f 100644
--- a/display_list/display_list_color_source.cc
+++ b/display_list/effects/dl_color_source.cc
@@ -2,10 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_color_source.h"
+#include "flutter/display_list/effects/dl_color_source.h"
-#include "flutter/display_list/display_list_runtime_effect.h"
-#include "flutter/display_list/display_list_sampling_options.h"
+#include "flutter/display_list/dl_sampling_options.h"
+#include "flutter/display_list/effects/dl_runtime_effect.h"
#include "flutter/fml/logging.h"
namespace flutter {
diff --git a/display_list/display_list_color_source.h b/display_list/effects/dl_color_source.h
similarity index 94%
rename from display_list/display_list_color_source.h
rename to display_list/effects/dl_color_source.h
index 8c93dc8..b34e8ee 100644
--- a/display_list/display_list_color_source.h
+++ b/display_list/effects/dl_color_source.h
@@ -2,25 +2,23 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef FLUTTER_DISPLAY_LIST_DISPLAY_LIST_COLOR_SOURCE_H_
-#define FLUTTER_DISPLAY_LIST_DISPLAY_LIST_COLOR_SOURCE_H_
+#ifndef FLUTTER_DISPLAY_LIST_EFFECTS_DL_COLOR_SOURCE_H_
+#define FLUTTER_DISPLAY_LIST_EFFECTS_DL_COLOR_SOURCE_H_
#include <memory>
#include <utility>
#include <vector>
#include "flutter/display_list/display_list.h"
-#include "flutter/display_list/display_list_attributes.h"
-#include "flutter/display_list/display_list_color.h"
-#include "flutter/display_list/display_list_image.h"
-#include "flutter/display_list/display_list_runtime_effect.h"
-#include "flutter/display_list/display_list_sampling_options.h"
-#include "flutter/display_list/display_list_tile_mode.h"
-#include "flutter/display_list/types.h"
+#include "flutter/display_list/dl_attributes.h"
+#include "flutter/display_list/dl_color.h"
+#include "flutter/display_list/dl_sampling_options.h"
+#include "flutter/display_list/dl_tile_mode.h"
+#include "flutter/display_list/effects/dl_runtime_effect.h"
+#include "flutter/display_list/image/dl_image.h"
#include "flutter/fml/logging.h"
+
#include "third_party/skia/include/core/SkShader.h"
-#include "third_party/skia/include/effects/SkGradientShader.h"
-#include "third_party/skia/include/effects/SkRuntimeEffect.h"
#ifdef IMPELLER_ENABLE_3D
#include "impeller/geometry/matrix.h" // nogncheck
@@ -151,15 +149,6 @@
virtual const DlSceneColorSource* asScene() const { return nullptr; }
#endif // IMPELLER_ENABLE_3D
- // If this filter contains images, specifies the owning context for those
- // images.
- // Images with a DlImage::OwningContext::kRaster must only call skia_object
- // on the raster task runner.
- // A nullopt return means there is no image.
- virtual std::optional<DlImage::OwningContext> owning_context() const {
- return std::nullopt;
- }
-
protected:
DlColorSource() = default;
@@ -243,10 +232,6 @@
bool is_opaque() const override { return image_->isOpaque(); }
- std::optional<DlImage::OwningContext> owning_context() const override {
- return image_->owning_context();
- }
-
sk_sp<const DlImage> image() const { return image_; }
DlTileMode horizontal_tile_mode() const { return horizontal_tile_mode_; }
DlTileMode vertical_tile_mode() const { return vertical_tile_mode_; }
@@ -716,4 +701,4 @@
} // namespace flutter
-#endif // FLUTTER_DISPLAY_LIST_DISPLAY_LIST_COLOR_SOURCE_H_
+#endif // FLUTTER_DISPLAY_LIST_EFFECTS_DL_COLOR_SOURCE_H_
diff --git a/display_list/display_list_color_source_unittests.cc b/display_list/effects/dl_color_source_unittests.cc
similarity index 98%
rename from display_list/display_list_color_source_unittests.cc
rename to display_list/effects/dl_color_source_unittests.cc
index 582d723..9187eca 100644
--- a/display_list/display_list_color_source_unittests.cc
+++ b/display_list/effects/dl_color_source_unittests.cc
@@ -5,14 +5,13 @@
#include <memory>
#include <vector>
-#include "flutter/display_list/display_list_builder.h"
-#include "flutter/display_list/display_list_color_source.h"
-#include "flutter/display_list/display_list_image.h"
-#include "flutter/display_list/display_list_runtime_effect.h"
-#include "flutter/display_list/display_list_sampling_options.h"
+#include "flutter/display_list/dl_sampling_options.h"
+#include "flutter/display_list/effects/dl_color_source.h"
+#include "flutter/display_list/effects/dl_runtime_effect.h"
+#include "flutter/display_list/image/dl_image.h"
#include "flutter/display_list/testing/dl_test_equality.h"
-#include "flutter/display_list/types.h"
-#include "third_party/skia/include/core/SkString.h"
+
+#include "third_party/skia/include/core/SkCanvas.h"
#include "third_party/skia/include/core/SkSurface.h"
namespace flutter {
diff --git a/display_list/display_list_image_filter.cc b/display_list/effects/dl_image_filter.cc
similarity index 97%
rename from display_list/display_list_image_filter.cc
rename to display_list/effects/dl_image_filter.cc
index fbc97b8..7f0481f 100644
--- a/display_list/display_list_image_filter.cc
+++ b/display_list/effects/dl_image_filter.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_image_filter.h"
+#include "flutter/display_list/effects/dl_image_filter.h"
namespace flutter {
diff --git a/display_list/display_list_image_filter.h b/display_list/effects/dl_image_filter.h
similarity index 97%
rename from display_list/display_list_image_filter.h
rename to display_list/effects/dl_image_filter.h
index c497d4f..70dcc30 100644
--- a/display_list/display_list_image_filter.h
+++ b/display_list/effects/dl_image_filter.h
@@ -2,17 +2,17 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef FLUTTER_DISPLAY_LIST_DISPLAY_LIST_IMAGE_FILTER_H_
-#define FLUTTER_DISPLAY_LIST_DISPLAY_LIST_IMAGE_FILTER_H_
+#ifndef FLUTTER_DISPLAY_LIST_EFFECTS_DL_IMAGE_FILTER_H_
+#define FLUTTER_DISPLAY_LIST_EFFECTS_DL_IMAGE_FILTER_H_
-#include "flutter/display_list/display_list_attributes.h"
-#include "flutter/display_list/display_list_color_filter.h"
-#include "flutter/display_list/display_list_comparable.h"
-#include "flutter/display_list/display_list_sampling_options.h"
-#include "flutter/display_list/display_list_tile_mode.h"
-#include "flutter/display_list/types.h"
+#include "flutter/display_list/dl_attributes.h"
+#include "flutter/display_list/dl_sampling_options.h"
+#include "flutter/display_list/dl_tile_mode.h"
+#include "flutter/display_list/effects/dl_color_filter.h"
+#include "flutter/display_list/utils/dl_comparable.h"
#include "flutter/fml/logging.h"
-#include "third_party/skia/include/effects/SkImageFilters.h"
+
+#include "third_party/skia/include/core/SkMatrix.h"
namespace flutter {
@@ -734,4 +734,4 @@
} // namespace flutter
-#endif // FLUTTER_DISPLAY_LIST_DISPLAY_LIST_IMAGE_FILTER_H_
+#endif // FLUTTER_DISPLAY_LIST_EFFECTS_DL_IMAGE_FILTER_H_
diff --git a/display_list/display_list_image_filter_unittests.cc b/display_list/effects/dl_image_filter_unittests.cc
similarity index 97%
rename from display_list/display_list_image_filter_unittests.cc
rename to display_list/effects/dl_image_filter_unittests.cc
index 1cc0231..8b94aaf 100644
--- a/display_list/display_list_image_filter_unittests.cc
+++ b/display_list/effects/dl_image_filter_unittests.cc
@@ -2,18 +2,18 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_blend_mode.h"
-#include "flutter/display_list/display_list_builder.h"
-#include "flutter/display_list/display_list_color.h"
-#include "flutter/display_list/display_list_color_filter.h"
-#include "flutter/display_list/display_list_comparable.h"
-#include "flutter/display_list/display_list_image_filter.h"
-#include "flutter/display_list/display_list_sampling_options.h"
-#include "flutter/display_list/display_list_tile_mode.h"
+#include "flutter/display_list/dl_blend_mode.h"
+#include "flutter/display_list/dl_color.h"
+#include "flutter/display_list/dl_sampling_options.h"
+#include "flutter/display_list/dl_tile_mode.h"
+#include "flutter/display_list/effects/dl_color_filter.h"
+#include "flutter/display_list/effects/dl_image_filter.h"
#include "flutter/display_list/testing/dl_test_equality.h"
-#include "flutter/display_list/types.h"
+#include "flutter/display_list/utils/dl_comparable.h"
#include "gtest/gtest.h"
+#include "third_party/skia/include/effects/SkImageFilters.h"
+
namespace flutter {
namespace testing {
diff --git a/display_list/display_list_ops.cc b/display_list/effects/dl_mask_filter.cc
similarity index 82%
copy from display_list/display_list_ops.cc
copy to display_list/effects/dl_mask_filter.cc
index 4e8bdb2..554fafe 100644
--- a/display_list/display_list_ops.cc
+++ b/display_list/effects/dl_mask_filter.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_ops.h"
+#include "flutter/display_list/effects/dl_mask_filter.h"
namespace flutter {
diff --git a/display_list/display_list_mask_filter.h b/display_list/effects/dl_mask_filter.h
similarity index 79%
rename from display_list/display_list_mask_filter.h
rename to display_list/effects/dl_mask_filter.h
index c48dae5..0749048 100644
--- a/display_list/display_list_mask_filter.h
+++ b/display_list/effects/dl_mask_filter.h
@@ -2,13 +2,14 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef FLUTTER_DISPLAY_LIST_DISPLAY_LIST_MASK_FILTER_H_
-#define FLUTTER_DISPLAY_LIST_DISPLAY_LIST_MASK_FILTER_H_
+#ifndef FLUTTER_DISPLAY_LIST_EFFECTS_DL_MASK_FILTER_H_
+#define FLUTTER_DISPLAY_LIST_EFFECTS_DL_MASK_FILTER_H_
-#include "flutter/display_list/display_list_attributes.h"
-#include "flutter/display_list/types.h"
+#include "flutter/display_list/dl_attributes.h"
#include "flutter/fml/logging.h"
+#include "third_party/skia/include/core/SkScalar.h"
+
namespace flutter {
class DlBlurMaskFilter;
@@ -20,6 +21,13 @@
// An enumerated type for the supported MaskFilter operations.
enum class DlMaskFilterType { kBlur };
+enum class DlBlurStyle {
+ kNormal, //!< fuzzy inside and outside
+ kSolid, //!< solid inside, fuzzy outside
+ kOuter, //!< nothing inside, fuzzy outside
+ kInner, //!< fuzzy inside, nothing outside
+};
+
class DlMaskFilter : public DlAttribute<DlMaskFilter, DlMaskFilterType> {
public:
// Return a DlBlurMaskFilter pointer to this object iff it is a Blur
@@ -34,7 +42,7 @@
// filter is then used to combine those colors.
class DlBlurMaskFilter final : public DlMaskFilter {
public:
- DlBlurMaskFilter(SkBlurStyle style, SkScalar sigma, bool respect_ctm = true)
+ DlBlurMaskFilter(DlBlurStyle style, SkScalar sigma, bool respect_ctm = true)
: style_(style), sigma_(sigma), respect_ctm_(respect_ctm) {}
DlBlurMaskFilter(const DlBlurMaskFilter& filter)
: DlBlurMaskFilter(filter.style_, filter.sigma_, filter.respect_ctm_) {}
@@ -42,7 +50,7 @@
: DlBlurMaskFilter(filter->style_, filter->sigma_, filter->respect_ctm_) {
}
- static std::shared_ptr<DlMaskFilter> Make(SkBlurStyle style,
+ static std::shared_ptr<DlMaskFilter> Make(DlBlurStyle style,
SkScalar sigma,
bool respect_ctm = true) {
if (SkScalarIsFinite(sigma) && sigma > 0) {
@@ -60,7 +68,7 @@
const DlBlurMaskFilter* asBlur() const override { return this; }
- SkBlurStyle style() const { return style_; }
+ DlBlurStyle style() const { return style_; }
SkScalar sigma() const { return sigma_; }
bool respectCTM() const { return respect_ctm_; }
@@ -73,7 +81,7 @@
}
private:
- SkBlurStyle style_;
+ DlBlurStyle style_;
SkScalar sigma_;
// Added for backward compatibility with Flutter text shadow rendering which
// uses Skia blur filters with this flag set to false.
@@ -82,4 +90,4 @@
} // namespace flutter
-#endif // FLUTTER_DISPLAY_LIST_DISPLAY_LIST_MASK_FILTER_H_
+#endif // FLUTTER_DISPLAY_LIST_EFFECTS_DL_MASK_FILTER_H_
diff --git a/display_list/display_list_mask_filter_unittests.cc b/display_list/effects/dl_mask_filter_unittests.cc
similarity index 79%
rename from display_list/display_list_mask_filter_unittests.cc
rename to display_list/effects/dl_mask_filter_unittests.cc
index b794360..9c23cff 100644
--- a/display_list/display_list_mask_filter_unittests.cc
+++ b/display_list/effects/dl_mask_filter_unittests.cc
@@ -2,48 +2,46 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_builder.h"
-#include "flutter/display_list/display_list_comparable.h"
-#include "flutter/display_list/display_list_mask_filter.h"
+#include "flutter/display_list/effects/dl_mask_filter.h"
#include "flutter/display_list/testing/dl_test_equality.h"
-#include "flutter/display_list/types.h"
+#include "flutter/display_list/utils/dl_comparable.h"
#include "gtest/gtest.h"
namespace flutter {
namespace testing {
TEST(DisplayListMaskFilter, BlurConstructor) {
- DlBlurMaskFilter filter(SkBlurStyle::kNormal_SkBlurStyle, 5.0);
+ DlBlurMaskFilter filter(DlBlurStyle::kNormal, 5.0);
}
TEST(DisplayListMaskFilter, BlurShared) {
- DlBlurMaskFilter filter(SkBlurStyle::kNormal_SkBlurStyle, 5.0);
+ DlBlurMaskFilter filter(DlBlurStyle::kNormal, 5.0);
ASSERT_NE(filter.shared().get(), &filter);
ASSERT_EQ(*filter.shared(), filter);
}
TEST(DisplayListMaskFilter, BlurAsBlur) {
- DlBlurMaskFilter filter(SkBlurStyle::kNormal_SkBlurStyle, 5.0);
+ DlBlurMaskFilter filter(DlBlurStyle::kNormal, 5.0);
ASSERT_NE(filter.asBlur(), nullptr);
ASSERT_EQ(filter.asBlur(), &filter);
}
TEST(DisplayListMaskFilter, BlurContents) {
- DlBlurMaskFilter filter(SkBlurStyle::kNormal_SkBlurStyle, 5.0);
- ASSERT_EQ(filter.style(), SkBlurStyle::kNormal_SkBlurStyle);
+ DlBlurMaskFilter filter(DlBlurStyle::kNormal, 5.0);
+ ASSERT_EQ(filter.style(), DlBlurStyle::kNormal);
ASSERT_EQ(filter.sigma(), 5.0);
}
TEST(DisplayListMaskFilter, BlurEquals) {
- DlBlurMaskFilter filter1(SkBlurStyle::kNormal_SkBlurStyle, 5.0);
- DlBlurMaskFilter filter2(SkBlurStyle::kNormal_SkBlurStyle, 5.0);
+ DlBlurMaskFilter filter1(DlBlurStyle::kNormal, 5.0);
+ DlBlurMaskFilter filter2(DlBlurStyle::kNormal, 5.0);
TestEquals(filter1, filter2);
}
TEST(DisplayListMaskFilter, BlurNotEquals) {
- DlBlurMaskFilter filter1(SkBlurStyle::kNormal_SkBlurStyle, 5.0);
- DlBlurMaskFilter filter2(SkBlurStyle::kInner_SkBlurStyle, 5.0);
- DlBlurMaskFilter filter3(SkBlurStyle::kNormal_SkBlurStyle, 6.0);
+ DlBlurMaskFilter filter1(DlBlurStyle::kNormal, 5.0);
+ DlBlurMaskFilter filter2(DlBlurStyle::kInner, 5.0);
+ DlBlurMaskFilter filter3(DlBlurStyle::kNormal, 6.0);
TestNotEquals(filter1, filter2, "Blur style differs");
TestNotEquals(filter1, filter3, "blur radius differs");
}
@@ -100,9 +98,9 @@
}
TEST(DisplayListMaskFilter, ComparableTemplates) {
- DlBlurMaskFilter filter1a(SkBlurStyle::kNormal_SkBlurStyle, 3.0);
- DlBlurMaskFilter filter1b(SkBlurStyle::kNormal_SkBlurStyle, 3.0);
- DlBlurMaskFilter filter2(SkBlurStyle::kNormal_SkBlurStyle, 5.0);
+ DlBlurMaskFilter filter1a(DlBlurStyle::kNormal, 3.0);
+ DlBlurMaskFilter filter1b(DlBlurStyle::kNormal, 3.0);
+ DlBlurMaskFilter filter2(DlBlurStyle::kNormal, 5.0);
std::shared_ptr<DlMaskFilter> shared_null;
// null to null
diff --git a/display_list/display_list_path_effect.cc b/display_list/effects/dl_path_effect.cc
similarity index 77%
rename from display_list/display_list_path_effect.cc
rename to display_list/effects/dl_path_effect.cc
index 2b203d5..658dd3b 100644
--- a/display_list/display_list_path_effect.cc
+++ b/display_list/effects/dl_path_effect.cc
@@ -2,14 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_path_effect.h"
-
-#include <memory>
-#include <optional>
-#include <utility>
-
-#include "include/core/SkRefCnt.h"
-#include "include/core/SkScalar.h"
+#include "flutter/display_list/effects/dl_path_effect.h"
namespace flutter {
@@ -35,8 +28,7 @@
}
std::optional<SkRect> DlDashPathEffect::effect_bounds(SkRect& rect) const {
- // SkDashPathEffect returns the original bounds as the bounds of the effect
- // since the dashed path will always be a subset of the original.
+ // The dashed path will always be a subset of the original.
return rect;
}
diff --git a/display_list/display_list_path_effect.h b/display_list/effects/dl_path_effect.h
similarity index 91%
rename from display_list/display_list_path_effect.h
rename to display_list/effects/dl_path_effect.h
index f8bd030..ca310db 100644
--- a/display_list/display_list_path_effect.h
+++ b/display_list/effects/dl_path_effect.h
@@ -2,15 +2,14 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef FLUTTER_DISPLAY_LIST_DISPLAY_LIST_PATH_EFFECT_H_
-#define FLUTTER_DISPLAY_LIST_DISPLAY_LIST_PATH_EFFECT_H_
+#ifndef FLUTTER_DISPLAY_LIST_EFFECTS_DL_PATH_EFFECT_H_
+#define FLUTTER_DISPLAY_LIST_EFFECTS_DL_PATH_EFFECT_H_
-#include <cstring>
#include <optional>
-#include "flutter/display_list/display_list_attributes.h"
-#include "flutter/display_list/types.h"
+
+#include "flutter/display_list/dl_attributes.h"
#include "flutter/fml/logging.h"
-#include "include/core/SkScalar.h"
+#include "include/core/SkRect.h"
namespace flutter {
@@ -123,4 +122,4 @@
} // namespace flutter
-#endif // FLUTTER_DISPLAY_LIST_DISPLAY_LIST_PATH_EFFECT_H_
+#endif // FLUTTER_DISPLAY_LIST_EFFECTS_DL_PATH_EFFECT_H_
diff --git a/display_list/display_list_path_effect_unittests.cc b/display_list/effects/dl_path_effect_unittests.cc
similarity index 90%
rename from display_list/display_list_path_effect_unittests.cc
rename to display_list/effects/dl_path_effect_unittests.cc
index e111108..38f49fb 100644
--- a/display_list/display_list_path_effect_unittests.cc
+++ b/display_list/effects/dl_path_effect_unittests.cc
@@ -2,12 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_builder.h"
-#include "flutter/display_list/display_list_comparable.h"
+#include "flutter/display_list/effects/dl_path_effect.h"
#include "flutter/display_list/testing/dl_test_equality.h"
-#include "flutter/display_list/types.h"
+#include "flutter/display_list/utils/dl_comparable.h"
#include "gtest/gtest.h"
-#include "include/core/SkPath.h"
#include "include/core/SkScalar.h"
namespace flutter {
diff --git a/display_list/display_list_runtime_effect.cc b/display_list/effects/dl_runtime_effect.cc
similarity index 96%
rename from display_list/display_list_runtime_effect.cc
rename to display_list/effects/dl_runtime_effect.cc
index 377bcea..bad115d 100644
--- a/display_list/display_list_runtime_effect.cc
+++ b/display_list/effects/dl_runtime_effect.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_runtime_effect.h"
+#include "flutter/display_list/effects/dl_runtime_effect.h"
#include "third_party/skia/include/core/SkRefCnt.h"
diff --git a/display_list/display_list_runtime_effect.h b/display_list/effects/dl_runtime_effect.h
similarity index 100%
rename from display_list/display_list_runtime_effect.h
rename to display_list/effects/dl_runtime_effect.h
diff --git a/display_list/display_list_rtree.cc b/display_list/geometry/dl_rtree.cc
similarity index 98%
rename from display_list/display_list_rtree.cc
rename to display_list/geometry/dl_rtree.cc
index 9979bf1..509607e 100644
--- a/display_list/display_list_rtree.cc
+++ b/display_list/geometry/dl_rtree.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_rtree.h"
+#include "flutter/display_list/geometry/dl_rtree.h"
#include "flutter/fml/logging.h"
diff --git a/display_list/display_list_rtree.h b/display_list/geometry/dl_rtree.h
similarity index 96%
rename from display_list/display_list_rtree.h
rename to display_list/geometry/dl_rtree.h
index d6a3147..9a3ab40 100644
--- a/display_list/display_list_rtree.h
+++ b/display_list/geometry/dl_rtree.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef FLUTTER_DISPLAY_LIST_RTREE_H_
-#define FLUTTER_DISPLAY_LIST_RTREE_H_
+#ifndef FLUTTER_DISPLAY_LIST_GEOMETRY_DL_RTREE_H_
+#define FLUTTER_DISPLAY_LIST_GEOMETRY_DL_RTREE_H_
#include <list>
#include <vector>
@@ -129,4 +129,4 @@
} // namespace flutter
-#endif // FLUTTER_DISPLAY_LIST_RTREE_H_
+#endif // FLUTTER_DISPLAY_LIST_GEOMETRY_DL_RTREE_H_
diff --git a/display_list/display_list_rtree_unittests.cc b/display_list/geometry/dl_rtree_unittests.cc
similarity index 98%
rename from display_list/display_list_rtree_unittests.cc
rename to display_list/geometry/dl_rtree_unittests.cc
index eb61081..8067793 100644
--- a/display_list/display_list_rtree_unittests.cc
+++ b/display_list/geometry/dl_rtree_unittests.cc
@@ -2,8 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_rtree.h"
+#include "flutter/display_list/geometry/dl_rtree.h"
#include "gtest/gtest.h"
+
#include "third_party/skia/include/core/SkRect.h"
namespace flutter {
diff --git a/display_list/display_list_image.cc b/display_list/image/dl_image.cc
similarity index 86%
rename from display_list/display_list_image.cc
rename to display_list/image/dl_image.cc
index 7196a4e..b4a0c4b 100644
--- a/display_list/display_list_image.cc
+++ b/display_list/image/dl_image.cc
@@ -2,9 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_image.h"
+#include "flutter/display_list/image/dl_image.h"
-#include "flutter/display_list/display_list_image_skia.h"
+#include "flutter/display_list/image/dl_image_skia.h"
namespace flutter {
diff --git a/display_list/display_list_image.h b/display_list/image/dl_image.h
similarity index 100%
rename from display_list/display_list_image.h
rename to display_list/image/dl_image.h
diff --git a/display_list/display_list_image_skia.cc b/display_list/image/dl_image_skia.cc
similarity index 94%
rename from display_list/display_list_image_skia.cc
rename to display_list/image/dl_image_skia.cc
index 2e0b0f3..da6398e 100644
--- a/display_list/display_list_image_skia.cc
+++ b/display_list/image/dl_image_skia.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_image_skia.h"
+#include "flutter/display_list/image/dl_image_skia.h"
namespace flutter {
diff --git a/display_list/display_list_image_skia.h b/display_list/image/dl_image_skia.h
similarity index 78%
rename from display_list/display_list_image_skia.h
rename to display_list/image/dl_image_skia.h
index 7e76de8..c277cb2 100644
--- a/display_list/display_list_image_skia.h
+++ b/display_list/image/dl_image_skia.h
@@ -2,10 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef FLUTTER_DISPLAY_LIST_DISPLAY_LIST_IMAGE_SKIA_H_
-#define FLUTTER_DISPLAY_LIST_DISPLAY_LIST_IMAGE_SKIA_H_
+#ifndef FLUTTER_DISPLAY_LIST_IMAGE_DL_IMAGE_SKIA_H_
+#define FLUTTER_DISPLAY_LIST_IMAGE_DL_IMAGE_SKIA_H_
-#include "flutter/display_list/display_list_image.h"
+#include "flutter/display_list/image/dl_image.h"
#include "flutter/fml/macros.h"
namespace flutter {
@@ -43,4 +43,4 @@
} // namespace flutter
-#endif // FLUTTER_DISPLAY_LIST_DISPLAY_LIST_IMAGE_SKIA_H_
+#endif // FLUTTER_DISPLAY_LIST_IMAGE_DL_IMAGE_SKIA_H_
diff --git a/display_list/skia/dl_sk_canvas.h b/display_list/skia/dl_sk_canvas.h
index fc66bcc..af774b7 100644
--- a/display_list/skia/dl_sk_canvas.h
+++ b/display_list/skia/dl_sk_canvas.h
@@ -6,6 +6,7 @@
#define FLUTTER_DISPLAY_LIST_SKIA_DL_SK_CANVAS_H_
#include "flutter/display_list/dl_canvas.h"
+#include "flutter/display_list/skia/dl_sk_types.h"
namespace flutter {
diff --git a/display_list/skia/dl_sk_conversions.cc b/display_list/skia/dl_sk_conversions.cc
index e8dd4cf..5c3a126 100644
--- a/display_list/skia/dl_sk_conversions.cc
+++ b/display_list/skia/dl_sk_conversions.cc
@@ -4,6 +4,9 @@
#include "flutter/display_list/skia/dl_sk_conversions.h"
+#include "third_party/skia/include/effects/SkGradientShader.h"
+#include "third_party/skia/include/effects/SkImageFilters.h"
+
namespace flutter {
sk_sp<SkShader> ToSk(const DlColorSource* source) {
@@ -208,7 +211,8 @@
case DlMaskFilterType::kBlur: {
const DlBlurMaskFilter* blur_filter = filter->asBlur();
FML_DCHECK(blur_filter != nullptr);
- return SkMaskFilter::MakeBlur(blur_filter->style(), blur_filter->sigma(),
+ return SkMaskFilter::MakeBlur(ToSk(blur_filter->style()),
+ blur_filter->sigma(),
blur_filter->respectCTM());
}
}
diff --git a/display_list/skia/dl_sk_conversions.h b/display_list/skia/dl_sk_conversions.h
index 54056c4..2291b4a 100644
--- a/display_list/skia/dl_sk_conversions.h
+++ b/display_list/skia/dl_sk_conversions.h
@@ -6,6 +6,7 @@
#define FLUTTER_DISPLAY_LIST_SKIA_DL_SK_CONVERSIONS_H_
#include "flutter/display_list/dl_op_receiver.h"
+#include "flutter/display_list/skia/dl_sk_types.h"
namespace flutter {
@@ -29,6 +30,10 @@
return static_cast<SkTileMode>(dl_mode);
}
+inline SkBlurStyle ToSk(const DlBlurStyle blur_style) {
+ return static_cast<SkBlurStyle>(blur_style);
+}
+
inline SkFilterMode ToSk(const DlFilterMode filter_mode) {
return static_cast<SkFilterMode>(filter_mode);
}
diff --git a/display_list/skia/dl_sk_conversions_unittests.cc b/display_list/skia/dl_sk_conversions_unittests.cc
index c35a3c2..f330cc4 100644
--- a/display_list/skia/dl_sk_conversions_unittests.cc
+++ b/display_list/skia/dl_sk_conversions_unittests.cc
@@ -4,12 +4,11 @@
#include "flutter/display_list/skia/dl_sk_conversions.h"
-#include "flutter/display_list/display_list_blend_mode.h"
-#include "flutter/display_list/display_list_paint.h"
-#include "flutter/display_list/display_list_sampling_options.h"
-#include "flutter/display_list/display_list_tile_mode.h"
-#include "flutter/display_list/display_list_vertices.h"
-#include "flutter/display_list/types.h"
+#include "flutter/display_list/dl_blend_mode.h"
+#include "flutter/display_list/dl_paint.h"
+#include "flutter/display_list/dl_sampling_options.h"
+#include "flutter/display_list/dl_tile_mode.h"
+#include "flutter/display_list/dl_vertices.h"
#include "gtest/gtest.h"
#include "include/core/SkSamplingOptions.h"
@@ -33,6 +32,13 @@
ASSERT_EQ(ToSk(DlTileMode::kDecal), SkTileMode::kDecal);
}
+TEST(DisplayListSkConversions, ToSkBlurStyle) {
+ ASSERT_EQ(ToSk(DlBlurStyle::kInner), SkBlurStyle::kInner_SkBlurStyle);
+ ASSERT_EQ(ToSk(DlBlurStyle::kOuter), SkBlurStyle::kOuter_SkBlurStyle);
+ ASSERT_EQ(ToSk(DlBlurStyle::kSolid), SkBlurStyle::kSolid_SkBlurStyle);
+ ASSERT_EQ(ToSk(DlBlurStyle::kNormal), SkBlurStyle::kNormal_SkBlurStyle);
+}
+
TEST(DisplayListSkConversions, ToSkDrawStyle) {
ASSERT_EQ(ToSk(DlDrawStyle::kFill), SkPaint::Style::kFill_Style);
ASSERT_EQ(ToSk(DlDrawStyle::kStroke), SkPaint::Style::kStroke_Style);
diff --git a/display_list/skia/dl_sk_dispatcher.cc b/display_list/skia/dl_sk_dispatcher.cc
index a808464..def08fa 100644
--- a/display_list/skia/dl_sk_dispatcher.cc
+++ b/display_list/skia/dl_sk_dispatcher.cc
@@ -4,9 +4,11 @@
#include "flutter/display_list/skia/dl_sk_dispatcher.h"
-#include "flutter/display_list/display_list_blend_mode.h"
+#include "flutter/display_list/dl_blend_mode.h"
#include "flutter/display_list/skia/dl_sk_conversions.h"
+#include "flutter/display_list/skia/dl_sk_types.h"
#include "flutter/fml/trace_event.h"
+
#include "third_party/skia/include/utils/SkShadowUtils.h"
namespace flutter {
diff --git a/display_list/skia/dl_sk_dispatcher.h b/display_list/skia/dl_sk_dispatcher.h
index 1edf2d4..fca8483 100644
--- a/display_list/skia/dl_sk_dispatcher.h
+++ b/display_list/skia/dl_sk_dispatcher.h
@@ -2,12 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef FLUTTER_DISPLAY_LIST_DISPLAY_LIST_CANVAS_DISPATCHER_H_
-#define FLUTTER_DISPLAY_LIST_DISPLAY_LIST_CANVAS_DISPATCHER_H_
+#ifndef FLUTTER_DISPLAY_LIST_SKIA_DL_SK_CANVAS_DISPATCHER_H_
+#define FLUTTER_DISPLAY_LIST_SKIA_DL_SK_CANVAS_DISPATCHER_H_
#include "flutter/display_list/display_list.h"
#include "flutter/display_list/dl_op_receiver.h"
-#include "flutter/display_list/skia/dl_sk_utils.h"
+#include "flutter/display_list/skia/dl_sk_paint_dispatcher.h"
+#include "flutter/display_list/skia/dl_sk_types.h"
#include "flutter/fml/macros.h"
namespace flutter {
@@ -19,10 +20,10 @@
/// Receives all methods on Dispatcher and sends them to an SkCanvas
///
class DlSkCanvasDispatcher : public virtual DlOpReceiver,
- public SkPaintDispatchHelper {
+ public DlSkPaintDispatchHelper {
public:
explicit DlSkCanvasDispatcher(SkCanvas* canvas, SkScalar opacity = SK_Scalar1)
- : SkPaintDispatchHelper(opacity),
+ : DlSkPaintDispatchHelper(opacity),
canvas_(canvas),
original_transform_(canvas->getLocalToDevice()) {}
@@ -120,4 +121,4 @@
} // namespace flutter
-#endif // FLUTTER_DISPLAY_LIST_DISPLAY_LIST_CANVAS_DISPATCHER_H_
+#endif // FLUTTER_DISPLAY_LIST_SKIA_DL_SK_CANVAS_DISPATCHER_H_
diff --git a/display_list/skia/dl_sk_paint_dispatcher.cc b/display_list/skia/dl_sk_paint_dispatcher.cc
new file mode 100644
index 0000000..061cfda
--- /dev/null
+++ b/display_list/skia/dl_sk_paint_dispatcher.cc
@@ -0,0 +1,102 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "flutter/display_list/skia/dl_sk_paint_dispatcher.h"
+
+#include <math.h>
+#include <optional>
+#include <type_traits>
+
+#include "flutter/display_list/dl_blend_mode.h"
+#include "flutter/display_list/skia/dl_sk_conversions.h"
+#include "flutter/fml/logging.h"
+
+namespace flutter {
+
+// clang-format off
+constexpr float kInvertColorMatrix[20] = {
+ -1.0, 0, 0, 1.0, 0,
+ 0, -1.0, 0, 1.0, 0,
+ 0, 0, -1.0, 1.0, 0,
+ 1.0, 1.0, 1.0, 1.0, 0
+};
+// clang-format on
+
+void DlSkPaintDispatchHelper::save_opacity(SkScalar child_opacity) {
+ save_stack_.emplace_back(opacity_);
+ set_opacity(child_opacity);
+}
+void DlSkPaintDispatchHelper::restore_opacity() {
+ if (save_stack_.empty()) {
+ return;
+ }
+ set_opacity(save_stack_.back().opacity);
+ save_stack_.pop_back();
+}
+
+void DlSkPaintDispatchHelper::setAntiAlias(bool aa) {
+ paint_.setAntiAlias(aa);
+}
+void DlSkPaintDispatchHelper::setDither(bool dither) {
+ paint_.setDither(dither);
+}
+void DlSkPaintDispatchHelper::setInvertColors(bool invert) {
+ invert_colors_ = invert;
+ paint_.setColorFilter(makeColorFilter());
+}
+void DlSkPaintDispatchHelper::setStrokeCap(DlStrokeCap cap) {
+ paint_.setStrokeCap(ToSk(cap));
+}
+void DlSkPaintDispatchHelper::setStrokeJoin(DlStrokeJoin join) {
+ paint_.setStrokeJoin(ToSk(join));
+}
+void DlSkPaintDispatchHelper::setStyle(DlDrawStyle style) {
+ paint_.setStyle(ToSk(style));
+}
+void DlSkPaintDispatchHelper::setStrokeWidth(SkScalar width) {
+ paint_.setStrokeWidth(width);
+}
+void DlSkPaintDispatchHelper::setStrokeMiter(SkScalar limit) {
+ paint_.setStrokeMiter(limit);
+}
+void DlSkPaintDispatchHelper::setColor(DlColor color) {
+ current_color_ = color;
+ paint_.setColor(color);
+ if (has_opacity()) {
+ paint_.setAlphaf(paint_.getAlphaf() * opacity());
+ }
+}
+void DlSkPaintDispatchHelper::setBlendMode(DlBlendMode mode) {
+ paint_.setBlendMode(ToSk(mode));
+}
+void DlSkPaintDispatchHelper::setColorSource(const DlColorSource* source) {
+ paint_.setShader(ToSk(source));
+}
+void DlSkPaintDispatchHelper::setImageFilter(const DlImageFilter* filter) {
+ paint_.setImageFilter(ToSk(filter));
+}
+void DlSkPaintDispatchHelper::setColorFilter(const DlColorFilter* filter) {
+ sk_color_filter_ = ToSk(filter);
+ paint_.setColorFilter(makeColorFilter());
+}
+void DlSkPaintDispatchHelper::setPathEffect(const DlPathEffect* effect) {
+ paint_.setPathEffect(ToSk(effect));
+}
+void DlSkPaintDispatchHelper::setMaskFilter(const DlMaskFilter* filter) {
+ paint_.setMaskFilter(ToSk(filter));
+}
+
+sk_sp<SkColorFilter> DlSkPaintDispatchHelper::makeColorFilter() const {
+ if (!invert_colors_) {
+ return sk_color_filter_;
+ }
+ sk_sp<SkColorFilter> invert_filter =
+ SkColorFilters::Matrix(kInvertColorMatrix);
+ if (sk_color_filter_) {
+ invert_filter = invert_filter->makeComposed(sk_color_filter_);
+ }
+ return invert_filter;
+}
+
+} // namespace flutter
diff --git a/display_list/skia/dl_sk_utils.h b/display_list/skia/dl_sk_paint_dispatcher.h
similarity index 89%
rename from display_list/skia/dl_sk_utils.h
rename to display_list/skia/dl_sk_paint_dispatcher.h
index e61848d..80aad91 100644
--- a/display_list/skia/dl_sk_utils.h
+++ b/display_list/skia/dl_sk_paint_dispatcher.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef FLUTTER_DISPLAY_LIST_SKIA_DL_SK_UTILS_H_
-#define FLUTTER_DISPLAY_LIST_SKIA_DL_SK_UTILS_H_
+#ifndef FLUTTER_DISPLAY_LIST_SKIA_DL_SK_PAINT_DISPATCHER_H_
+#define FLUTTER_DISPLAY_LIST_SKIA_DL_SK_PAINT_DISPATCHER_H_
#include "flutter/display_list/dl_op_receiver.h"
@@ -12,9 +12,9 @@
// A utility class that will monitor the DlOpReceiver methods relating
// to the rendering attributes and accumulate them into an SkPaint
// which can be accessed at any time via paint().
-class SkPaintDispatchHelper : public virtual DlOpReceiver {
+class DlSkPaintDispatchHelper : public virtual DlOpReceiver {
public:
- SkPaintDispatchHelper(SkScalar opacity = SK_Scalar1)
+ DlSkPaintDispatchHelper(SkScalar opacity = SK_Scalar1)
: current_color_(SK_ColorBLACK), opacity_(opacity) {
if (opacity < SK_Scalar1) {
paint_.setAlphaf(opacity);
@@ -82,4 +82,4 @@
} // namespace flutter
-#endif // FLUTTER_DISPLAY_LIST_SKIA_DL_SK_UTILS_H_
+#endif // FLUTTER_DISPLAY_LIST_SKIA_DL_SK_PAINT_DISPATCHER_H_
diff --git a/display_list/skia/dl_sk_utils_unittests.cc b/display_list/skia/dl_sk_paint_dispatcher_unittests.cc
similarity index 72%
rename from display_list/skia/dl_sk_utils_unittests.cc
rename to display_list/skia/dl_sk_paint_dispatcher_unittests.cc
index ccab201..402891e 100644
--- a/display_list/skia/dl_sk_utils_unittests.cc
+++ b/display_list/skia/dl_sk_paint_dispatcher_unittests.cc
@@ -2,22 +2,23 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_utils.h"
-#include "flutter/display_list/skia/dl_sk_utils.h"
+#include "flutter/display_list/skia/dl_sk_paint_dispatcher.h"
+
+#include "flutter/display_list/utils/dl_receiver_utils.h"
#include "gtest/gtest.h"
namespace flutter {
namespace testing {
class MockDispatchHelper final : public virtual DlOpReceiver,
- public SkPaintDispatchHelper,
+ public DlSkPaintDispatchHelper,
public IgnoreClipDispatchHelper,
public IgnoreTransformDispatchHelper,
public IgnoreDrawDispatchHelper {
public:
- void save() override { SkPaintDispatchHelper::save_opacity(0.5f); }
+ void save() override { DlSkPaintDispatchHelper::save_opacity(0.5f); }
- void restore() override { SkPaintDispatchHelper::restore_opacity(); }
+ void restore() override { DlSkPaintDispatchHelper::restore_opacity(); }
};
// Regression test for https://github.com/flutter/flutter/issues/100176.
diff --git a/display_list/types.h b/display_list/skia/dl_sk_types.h
similarity index 100%
rename from display_list/types.h
rename to display_list/skia/dl_sk_types.h
diff --git a/display_list/skia/dl_sk_utils.cc b/display_list/skia/dl_sk_utils.cc
deleted file mode 100644
index 3476ab3..0000000
--- a/display_list/skia/dl_sk_utils.cc
+++ /dev/null
@@ -1,102 +0,0 @@
-// Copyright 2013 The Flutter Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "flutter/display_list/skia/dl_sk_utils.h"
-
-#include <math.h>
-#include <optional>
-#include <type_traits>
-
-#include "flutter/display_list/display_list_blend_mode.h"
-#include "flutter/display_list/skia/dl_sk_conversions.h"
-#include "flutter/fml/logging.h"
-
-namespace flutter {
-
-// clang-format off
-constexpr float kInvertColorMatrix[20] = {
- -1.0, 0, 0, 1.0, 0,
- 0, -1.0, 0, 1.0, 0,
- 0, 0, -1.0, 1.0, 0,
- 1.0, 1.0, 1.0, 1.0, 0
-};
-// clang-format on
-
-void SkPaintDispatchHelper::save_opacity(SkScalar child_opacity) {
- save_stack_.emplace_back(opacity_);
- set_opacity(child_opacity);
-}
-void SkPaintDispatchHelper::restore_opacity() {
- if (save_stack_.empty()) {
- return;
- }
- set_opacity(save_stack_.back().opacity);
- save_stack_.pop_back();
-}
-
-void SkPaintDispatchHelper::setAntiAlias(bool aa) {
- paint_.setAntiAlias(aa);
-}
-void SkPaintDispatchHelper::setDither(bool dither) {
- paint_.setDither(dither);
-}
-void SkPaintDispatchHelper::setInvertColors(bool invert) {
- invert_colors_ = invert;
- paint_.setColorFilter(makeColorFilter());
-}
-void SkPaintDispatchHelper::setStrokeCap(DlStrokeCap cap) {
- paint_.setStrokeCap(ToSk(cap));
-}
-void SkPaintDispatchHelper::setStrokeJoin(DlStrokeJoin join) {
- paint_.setStrokeJoin(ToSk(join));
-}
-void SkPaintDispatchHelper::setStyle(DlDrawStyle style) {
- paint_.setStyle(ToSk(style));
-}
-void SkPaintDispatchHelper::setStrokeWidth(SkScalar width) {
- paint_.setStrokeWidth(width);
-}
-void SkPaintDispatchHelper::setStrokeMiter(SkScalar limit) {
- paint_.setStrokeMiter(limit);
-}
-void SkPaintDispatchHelper::setColor(DlColor color) {
- current_color_ = color;
- paint_.setColor(color);
- if (has_opacity()) {
- paint_.setAlphaf(paint_.getAlphaf() * opacity());
- }
-}
-void SkPaintDispatchHelper::setBlendMode(DlBlendMode mode) {
- paint_.setBlendMode(ToSk(mode));
-}
-void SkPaintDispatchHelper::setColorSource(const DlColorSource* source) {
- paint_.setShader(ToSk(source));
-}
-void SkPaintDispatchHelper::setImageFilter(const DlImageFilter* filter) {
- paint_.setImageFilter(ToSk(filter));
-}
-void SkPaintDispatchHelper::setColorFilter(const DlColorFilter* filter) {
- sk_color_filter_ = ToSk(filter);
- paint_.setColorFilter(makeColorFilter());
-}
-void SkPaintDispatchHelper::setPathEffect(const DlPathEffect* effect) {
- paint_.setPathEffect(ToSk(effect));
-}
-void SkPaintDispatchHelper::setMaskFilter(const DlMaskFilter* filter) {
- paint_.setMaskFilter(ToSk(filter));
-}
-
-sk_sp<SkColorFilter> SkPaintDispatchHelper::makeColorFilter() const {
- if (!invert_colors_) {
- return sk_color_filter_;
- }
- sk_sp<SkColorFilter> invert_filter =
- SkColorFilters::Matrix(kInvertColorMatrix);
- if (sk_color_filter_) {
- invert_filter = invert_filter->makeComposed(sk_color_filter_);
- }
- return invert_filter;
-}
-
-} // namespace flutter
diff --git a/display_list/dl_rendering_unittests.cc b/display_list/testing/dl_rendering_unittests.cc
similarity index 99%
rename from display_list/dl_rendering_unittests.cc
rename to display_list/testing/dl_rendering_unittests.cc
index 4f40d1f..3070b8f 100644
--- a/display_list/dl_rendering_unittests.cc
+++ b/display_list/testing/dl_rendering_unittests.cc
@@ -5,19 +5,22 @@
#include <utility>
#include "flutter/display_list/display_list.h"
-#include "flutter/display_list/display_list_builder.h"
-#include "flutter/display_list/display_list_comparable.h"
-#include "flutter/display_list/display_list_flags.h"
-#include "flutter/display_list/display_list_sampling_options.h"
+#include "flutter/display_list/dl_builder.h"
+#include "flutter/display_list/dl_op_flags.h"
+#include "flutter/display_list/dl_sampling_options.h"
#include "flutter/display_list/skia/dl_sk_canvas.h"
#include "flutter/display_list/skia/dl_sk_dispatcher.h"
#include "flutter/display_list/testing/dl_test_surface_provider.h"
+#include "flutter/display_list/utils/dl_comparable.h"
#include "flutter/fml/math.h"
#include "flutter/testing/display_list_testing.h"
#include "flutter/testing/testing.h"
+
#include "third_party/skia/include/core/SkColorFilter.h"
#include "third_party/skia/include/core/SkPictureRecorder.h"
#include "third_party/skia/include/core/SkSurface.h"
+#include "third_party/skia/include/effects/SkGradientShader.h"
+#include "third_party/skia/include/effects/SkImageFilters.h"
namespace flutter {
namespace testing {
@@ -1494,7 +1497,7 @@
}
{
- const DlBlurMaskFilter dl_mask_filter(kNormal_SkBlurStyle, 5.0);
+ const DlBlurMaskFilter dl_mask_filter(DlBlurStyle::kNormal, 5.0);
auto sk_mask_filter = SkMaskFilter::MakeBlur(kNormal_SkBlurStyle, 5.0);
BoundsTolerance blur_5_tolerance = tolerance.addBoundsPadding(4, 4);
{
diff --git a/display_list/testing/dl_test_equality.h b/display_list/testing/dl_test_equality.h
index 8e511e5..9d24d54 100644
--- a/display_list/testing/dl_test_equality.h
+++ b/display_list/testing/dl_test_equality.h
@@ -5,8 +5,8 @@
#ifndef FLUTTER_DISPLAY_LIST_TESTING_DL_TEST_EQUALITY_H_
#define FLUTTER_DISPLAY_LIST_TESTING_DL_TEST_EQUALITY_H_
-#include "flutter/display_list/display_list_attributes.h"
-#include "flutter/display_list/display_list_comparable.h"
+#include "flutter/display_list/dl_attributes.h"
+#include "flutter/display_list/utils/dl_comparable.h"
#include "gtest/gtest.h"
namespace flutter {
diff --git a/display_list/testing/dl_test_snippets.cc b/display_list/testing/dl_test_snippets.cc
index 2116cf9..e0066cc 100644
--- a/display_list/testing/dl_test_snippets.cc
+++ b/display_list/testing/dl_test_snippets.cc
@@ -3,7 +3,7 @@
// found in the LICENSE file.
#include "flutter/display_list/testing/dl_test_snippets.h"
-#include "flutter/display_list/display_list_builder.h"
+#include "flutter/display_list/dl_builder.h"
#include "flutter/display_list/dl_op_receiver.h"
namespace flutter {
diff --git a/display_list/testing/dl_test_snippets.h b/display_list/testing/dl_test_snippets.h
index 69bab82..d60f6f4 100644
--- a/display_list/testing/dl_test_snippets.h
+++ b/display_list/testing/dl_test_snippets.h
@@ -6,8 +6,9 @@
#define FLUTTER_DISPLAY_LIST_TESTING_DL_TEST_SNIPPETS_H_
#include "flutter/display_list/display_list.h"
-#include "flutter/display_list/display_list_builder.h"
+#include "flutter/display_list/dl_builder.h"
+#include "third_party/skia/include/core/SkCanvas.h"
#include "third_party/skia/include/core/SkSurface.h"
#include "third_party/skia/include/effects/SkDashPathEffect.h"
#include "third_party/skia/include/effects/SkGradientShader.h"
@@ -178,11 +179,11 @@
DlDashPathEffect::Make(kTestDashes1, 2, 0.0f);
static const std::shared_ptr<DlPathEffect> kTestPathEffect2 =
DlDashPathEffect::Make(kTestDashes2, 2, 0.0f);
-static const DlBlurMaskFilter kTestMaskFilter1(kNormal_SkBlurStyle, 3.0);
-static const DlBlurMaskFilter kTestMaskFilter2(kNormal_SkBlurStyle, 5.0);
-static const DlBlurMaskFilter kTestMaskFilter3(kSolid_SkBlurStyle, 3.0);
-static const DlBlurMaskFilter kTestMaskFilter4(kInner_SkBlurStyle, 3.0);
-static const DlBlurMaskFilter kTestMaskFilter5(kOuter_SkBlurStyle, 3.0);
+static const DlBlurMaskFilter kTestMaskFilter1(DlBlurStyle::kNormal, 3.0);
+static const DlBlurMaskFilter kTestMaskFilter2(DlBlurStyle::kNormal, 5.0);
+static const DlBlurMaskFilter kTestMaskFilter3(DlBlurStyle::kSolid, 3.0);
+static const DlBlurMaskFilter kTestMaskFilter4(DlBlurStyle::kInner, 3.0);
+static const DlBlurMaskFilter kTestMaskFilter5(DlBlurStyle::kOuter, 3.0);
constexpr SkRect kTestBounds = SkRect::MakeLTRB(10, 10, 50, 60);
static const SkRRect kTestRRect = SkRRect::MakeRectXY(kTestBounds, 5, 5);
static const SkRRect kTestRRectRect = SkRRect::MakeRect(kTestBounds);
diff --git a/display_list/display_list_utils.cc b/display_list/utils/dl_bounds_accumulator.cc
similarity index 97%
rename from display_list/display_list_utils.cc
rename to display_list/utils/dl_bounds_accumulator.cc
index e6c21d5..34750ed 100644
--- a/display_list/display_list_utils.cc
+++ b/display_list/utils/dl_bounds_accumulator.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_utils.h"
+#include "flutter/display_list/utils/dl_bounds_accumulator.h"
namespace flutter {
diff --git a/display_list/utils/dl_bounds_accumulator.h b/display_list/utils/dl_bounds_accumulator.h
new file mode 100644
index 0000000..db4ceda
--- /dev/null
+++ b/display_list/utils/dl_bounds_accumulator.h
@@ -0,0 +1,168 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_DISPLAY_LIST_UTILS_DL_BOUNDS_ACCUMULATOR_H_
+#define FLUTTER_DISPLAY_LIST_UTILS_DL_BOUNDS_ACCUMULATOR_H_
+
+#include <functional>
+
+#include "flutter/display_list/geometry/dl_rtree.h"
+#include "flutter/fml/logging.h"
+
+// This file contains various utility classes to ease implementing
+// a Flutter DisplayList DlOpReceiver, including:
+//
+// IgnoreAttributeDispatchHelper:
+// IgnoreClipDispatchHelper:
+// IgnoreTransformDispatchHelper
+// Empty overrides of all of the associated methods of DlOpReceiver
+// for receivers that only track some of the rendering operations
+
+namespace flutter {
+
+enum class BoundsAccumulatorType {
+ kRect,
+ kRTree,
+};
+
+class BoundsAccumulator {
+ public:
+ /// function definition for modifying the bounds of a rectangle
+ /// during a restore operation. The function is used primarily
+ /// to account for the bounds impact of an ImageFilter on a
+ /// saveLayer on a per-rect basis. The implementation may apply
+ /// this function at whatever granularity it can manage easily
+ /// (for example, a Rect accumulator might apply it to the entire
+ /// local bounds being restored, whereas an RTree accumulator might
+ /// apply it individually to each element in the local RTree).
+ ///
+ /// The function will do a best faith attempt at determining the
+ /// modified bounds and store the results in the supplied |dest|
+ /// rectangle and return true. If the function is unable to
+ /// accurately determine the modifed bounds, it will set the
+ /// |dest| rectangle to a copy of the input bounds (or a best
+ /// guess) and return false to indicate that the bounds should not
+ /// be trusted.
+ typedef bool BoundsModifier(const SkRect& original, SkRect* dest);
+
+ virtual ~BoundsAccumulator() = default;
+
+ virtual void accumulate(const SkRect& r, int index = 0) = 0;
+
+ /// Save aside the rects/bounds currently being accumulated and start
+ /// accumulating a new set of rects/bounds. When restore is called,
+ /// some additional modifications may be applied to these new bounds
+ /// before they are accumulated back into the surrounding bounds.
+ virtual void save() = 0;
+
+ /// Restore to the previous accumulation and incorporate the bounds of
+ /// the primitives that were recorded since the last save (if needed).
+ virtual void restore() = 0;
+
+ /// Restore the previous set of accumulation rects/bounds and accumulate
+ /// the current rects/bounds that were accumulated since the most recent
+ /// call to |save| into them with modifications specified by the |map|
+ /// parameter and clipping to the clip parameter if it is not null.
+ ///
+ /// The indicated map function is applied to the various rects and bounds
+ /// that have been accumulated in this save/restore cycle before they
+ /// are then accumulated into the previous accumulations. The granularity
+ /// of the application of the map function to the rectangles that were
+ /// accumulated during the save period is left up to the implementation.
+ ///
+ /// This method will return true if the map function returned true on
+ /// every single invocation. A false return value means that the
+ /// bounds accumulated during this restore may not be trusted (as
+ /// determined by the map function).
+ ///
+ /// If there are no saved accumulations to restore to, this method will
+ /// NOP ignoring the map function and the optional clip entirely.
+ virtual bool restore(
+ std::function<bool(const SkRect& original, SkRect& modified)> map,
+ const SkRect* clip = nullptr) = 0;
+
+ virtual SkRect bounds() const = 0;
+
+ virtual sk_sp<DlRTree> rtree() const = 0;
+
+ virtual BoundsAccumulatorType type() const = 0;
+};
+
+class RectBoundsAccumulator final : public virtual BoundsAccumulator {
+ public:
+ void accumulate(SkScalar x, SkScalar y) { rect_.accumulate(x, y); }
+ void accumulate(const SkPoint& p) { rect_.accumulate(p.fX, p.fY); }
+ void accumulate(const SkRect& r, int index) override;
+
+ bool is_empty() const { return rect_.is_empty(); }
+ bool is_not_empty() const { return rect_.is_not_empty(); }
+
+ void save() override;
+ void restore() override;
+ bool restore(std::function<bool(const SkRect&, SkRect&)> mapper,
+ const SkRect* clip) override;
+
+ SkRect bounds() const override {
+ FML_DCHECK(saved_rects_.empty());
+ return rect_.bounds();
+ }
+
+ BoundsAccumulatorType type() const override {
+ return BoundsAccumulatorType::kRect;
+ }
+
+ sk_sp<DlRTree> rtree() const override { return nullptr; }
+
+ private:
+ class AccumulationRect {
+ public:
+ AccumulationRect();
+
+ void accumulate(SkScalar x, SkScalar y);
+
+ bool is_empty() const { return min_x_ >= max_x_ || min_y_ >= max_y_; }
+ bool is_not_empty() const { return min_x_ < max_x_ && min_y_ < max_y_; }
+
+ SkRect bounds() const;
+
+ private:
+ SkScalar min_x_;
+ SkScalar min_y_;
+ SkScalar max_x_;
+ SkScalar max_y_;
+ };
+
+ void pop_and_accumulate(SkRect& layer_bounds, const SkRect* clip);
+
+ AccumulationRect rect_;
+ std::vector<AccumulationRect> saved_rects_;
+};
+
+class RTreeBoundsAccumulator final : public virtual BoundsAccumulator {
+ public:
+ void accumulate(const SkRect& r, int index) override;
+ void save() override;
+ void restore() override;
+
+ bool restore(
+ std::function<bool(const SkRect& original, SkRect& modified)> map,
+ const SkRect* clip = nullptr) override;
+
+ SkRect bounds() const override;
+
+ sk_sp<DlRTree> rtree() const override;
+
+ BoundsAccumulatorType type() const override {
+ return BoundsAccumulatorType::kRTree;
+ }
+
+ private:
+ std::vector<SkRect> rects_;
+ std::vector<int> rect_indices_;
+ std::vector<size_t> saved_offsets_;
+};
+
+} // namespace flutter
+
+#endif // FLUTTER_DISPLAY_LIST_UTILS_DL_BOUNDS_ACCUMULATOR_H_
diff --git a/display_list/display_list_comparable.h b/display_list/utils/dl_comparable.h
similarity index 98%
rename from display_list/display_list_comparable.h
rename to display_list/utils/dl_comparable.h
index 5d3c6e9..2e2d7d4 100644
--- a/display_list/display_list_comparable.h
+++ b/display_list/utils/dl_comparable.h
@@ -5,7 +5,7 @@
#ifndef FLUTTER_DISPLAY_LIST_DISPLAY_LIST_COMPARABLE_H_
#define FLUTTER_DISPLAY_LIST_DISPLAY_LIST_COMPARABLE_H_
-#include "flutter/display_list/types.h"
+#include <memory>
namespace flutter {
diff --git a/display_list/display_list_matrix_clip_tracker.cc b/display_list/utils/dl_matrix_clip_tracker.cc
similarity index 98%
rename from display_list/display_list_matrix_clip_tracker.cc
rename to display_list/utils/dl_matrix_clip_tracker.cc
index c515b58..28bc4bd 100644
--- a/display_list/display_list_matrix_clip_tracker.cc
+++ b/display_list/utils/dl_matrix_clip_tracker.cc
@@ -2,11 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_matrix_clip_tracker.h"
+#include "flutter/display_list/utils/dl_matrix_clip_tracker.h"
-#include "flutter/display_list/display_list_builder.h"
+#include "flutter/display_list/dl_builder.h"
#include "flutter/fml/logging.h"
-#include "third_party/skia/include/core/SkPath.h"
namespace flutter {
diff --git a/display_list/display_list_matrix_clip_tracker.h b/display_list/utils/dl_matrix_clip_tracker.h
similarity index 98%
rename from display_list/display_list_matrix_clip_tracker.h
rename to display_list/utils/dl_matrix_clip_tracker.h
index 6c76397..7a15b69 100644
--- a/display_list/display_list_matrix_clip_tracker.h
+++ b/display_list/utils/dl_matrix_clip_tracker.h
@@ -9,7 +9,7 @@
#include "flutter/display_list/dl_canvas.h"
#include "flutter/fml/logging.h"
-#include "third_party/skia/include/core/SkClipOp.h"
+
#include "third_party/skia/include/core/SkM44.h"
#include "third_party/skia/include/core/SkMatrix.h"
#include "third_party/skia/include/core/SkPath.h"
diff --git a/display_list/display_list_matrix_clip_tracker_unittests.cc b/display_list/utils/dl_matrix_clip_tracker_unittests.cc
similarity index 98%
rename from display_list/display_list_matrix_clip_tracker_unittests.cc
rename to display_list/utils/dl_matrix_clip_tracker_unittests.cc
index adaee90..2ab3fde 100644
--- a/display_list/display_list_matrix_clip_tracker_unittests.cc
+++ b/display_list/utils/dl_matrix_clip_tracker_unittests.cc
@@ -2,9 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_matrix_clip_tracker.h"
+#include "flutter/display_list/utils/dl_matrix_clip_tracker.h"
#include "gtest/gtest.h"
-#include "third_party/skia/include/core/SkPath.h"
namespace flutter {
namespace testing {
diff --git a/display_list/display_list_ops.cc b/display_list/utils/dl_receiver_utils.cc
similarity index 82%
copy from display_list/display_list_ops.cc
copy to display_list/utils/dl_receiver_utils.cc
index 4e8bdb2..9b49b9d 100644
--- a/display_list/display_list_ops.cc
+++ b/display_list/utils/dl_receiver_utils.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_ops.h"
+#include "flutter/display_list/utils/dl_receiver_utils.h"
namespace flutter {
diff --git a/display_list/utils/dl_receiver_utils.h b/display_list/utils/dl_receiver_utils.h
new file mode 100644
index 0000000..dc8372a
--- /dev/null
+++ b/display_list/utils/dl_receiver_utils.h
@@ -0,0 +1,141 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_DISPLAY_LIST_UTILS_DL_RECEIVER_UTILS_H_
+#define FLUTTER_DISPLAY_LIST_UTILS_DL_RECEIVER_UTILS_H_
+
+#include "flutter/display_list/dl_op_receiver.h"
+#include "flutter/fml/logging.h"
+
+// This file contains various utility classes to ease implementing
+// a Flutter DisplayList DlOpReceiver, including:
+//
+// IgnoreAttributeDispatchHelper:
+// IgnoreClipDispatchHelper:
+// IgnoreTransformDispatchHelper
+// Empty overrides of all of the associated methods of DlOpReceiver
+// for receivers that only track some of the rendering operations
+
+namespace flutter {
+
+// A utility class that will ignore all DlOpReceiver methods relating
+// to the setting of attributes.
+class IgnoreAttributeDispatchHelper : public virtual DlOpReceiver {
+ public:
+ void setAntiAlias(bool aa) override {}
+ void setDither(bool dither) override {}
+ void setInvertColors(bool invert) override {}
+ void setStrokeCap(DlStrokeCap cap) override {}
+ void setStrokeJoin(DlStrokeJoin join) override {}
+ void setStyle(DlDrawStyle style) override {}
+ void setStrokeWidth(float width) override {}
+ void setStrokeMiter(float limit) override {}
+ void setColor(DlColor color) override {}
+ void setBlendMode(DlBlendMode mode) override {}
+ void setColorSource(const DlColorSource* source) override {}
+ void setImageFilter(const DlImageFilter* filter) override {}
+ void setColorFilter(const DlColorFilter* filter) override {}
+ void setPathEffect(const DlPathEffect* effect) override {}
+ void setMaskFilter(const DlMaskFilter* filter) override {}
+};
+
+// A utility class that will ignore all DlOpReceiver methods relating
+// to setting a clip.
+class IgnoreClipDispatchHelper : public virtual DlOpReceiver {
+ void clipRect(const SkRect& rect,
+ DlCanvas::ClipOp clip_op,
+ bool is_aa) override {}
+ void clipRRect(const SkRRect& rrect,
+ DlCanvas::ClipOp clip_op,
+ bool is_aa) override {}
+ void clipPath(const SkPath& path,
+ DlCanvas::ClipOp clip_op,
+ bool is_aa) override {}
+};
+
+// A utility class that will ignore all DlOpReceiver methods relating
+// to modifying the transform.
+class IgnoreTransformDispatchHelper : public virtual DlOpReceiver {
+ public:
+ void translate(SkScalar tx, SkScalar ty) override {}
+ void scale(SkScalar sx, SkScalar sy) override {}
+ void rotate(SkScalar degrees) override {}
+ void skew(SkScalar sx, SkScalar sy) override {}
+ // clang-format off
+ // 2x3 2D affine subset of a 4x4 transform in row major order
+ void transform2DAffine(SkScalar mxx, SkScalar mxy, SkScalar mxt,
+ SkScalar myx, SkScalar myy, SkScalar myt) override {}
+ // full 4x4 transform in row major order
+ void transformFullPerspective(
+ SkScalar mxx, SkScalar mxy, SkScalar mxz, SkScalar mxt,
+ SkScalar myx, SkScalar myy, SkScalar myz, SkScalar myt,
+ SkScalar mzx, SkScalar mzy, SkScalar mzz, SkScalar mzt,
+ SkScalar mwx, SkScalar mwy, SkScalar mwz, SkScalar mwt) override {}
+ // clang-format on
+ void transformReset() override {}
+};
+
+class IgnoreDrawDispatchHelper : public virtual DlOpReceiver {
+ public:
+ void save() override {}
+ void saveLayer(const SkRect* bounds,
+ const SaveLayerOptions options,
+ const DlImageFilter* backdrop) override {}
+ void restore() override {}
+ void drawColor(DlColor color, DlBlendMode mode) override {}
+ void drawPaint() override {}
+ void drawLine(const SkPoint& p0, const SkPoint& p1) override {}
+ void drawRect(const SkRect& rect) override {}
+ void drawOval(const SkRect& bounds) override {}
+ void drawCircle(const SkPoint& center, SkScalar radius) override {}
+ void drawRRect(const SkRRect& rrect) override {}
+ void drawDRRect(const SkRRect& outer, const SkRRect& inner) override {}
+ void drawPath(const SkPath& path) override {}
+ void drawArc(const SkRect& oval_bounds,
+ SkScalar start_degrees,
+ SkScalar sweep_degrees,
+ bool use_center) override {}
+ void drawPoints(DlCanvas::PointMode mode,
+ uint32_t count,
+ const SkPoint points[]) override {}
+ void drawVertices(const DlVertices* vertices, DlBlendMode mode) override {}
+ void drawImage(const sk_sp<DlImage> image,
+ const SkPoint point,
+ DlImageSampling sampling,
+ bool render_with_attributes) override {}
+ void drawImageRect(const sk_sp<DlImage> image,
+ const SkRect& src,
+ const SkRect& dst,
+ DlImageSampling sampling,
+ bool render_with_attributes,
+ SrcRectConstraint constraint) override {}
+ void drawImageNine(const sk_sp<DlImage> image,
+ const SkIRect& center,
+ const SkRect& dst,
+ DlFilterMode filter,
+ bool render_with_attributes) override {}
+ void drawAtlas(const sk_sp<DlImage> atlas,
+ const SkRSXform xform[],
+ const SkRect tex[],
+ const DlColor colors[],
+ int count,
+ DlBlendMode mode,
+ DlImageSampling sampling,
+ const SkRect* cull_rect,
+ bool render_with_attributes) override {}
+ void drawDisplayList(const sk_sp<DisplayList> display_list,
+ SkScalar opacity) override {}
+ void drawTextBlob(const sk_sp<SkTextBlob> blob,
+ SkScalar x,
+ SkScalar y) override {}
+ void drawShadow(const SkPath& path,
+ const DlColor color,
+ const SkScalar elevation,
+ bool transparent_occluder,
+ SkScalar dpr) override {}
+};
+
+} // namespace flutter
+
+#endif // FLUTTER_DISPLAY_LIST_UTILS_DL_RECEIVER_UTILS_H_
diff --git a/flow/diff_context.h b/flow/diff_context.h
index a8361ea..f4f0895 100644
--- a/flow/diff_context.h
+++ b/flow/diff_context.h
@@ -9,7 +9,7 @@
#include <map>
#include <optional>
#include <vector>
-#include "display_list/display_list_matrix_clip_tracker.h"
+#include "display_list/utils/dl_matrix_clip_tracker.h"
#include "flutter/flow/paint_region.h"
#include "flutter/fml/macros.h"
#include "third_party/skia/include/core/SkMatrix.h"
diff --git a/flow/embedded_views.h b/flow/embedded_views.h
index b0a1747..c23c12e 100644
--- a/flow/embedded_views.h
+++ b/flow/embedded_views.h
@@ -7,7 +7,7 @@
#include <vector>
-#include "flutter/display_list/display_list_builder.h"
+#include "flutter/display_list/dl_builder.h"
#include "flutter/display_list/skia/dl_sk_canvas.h"
#include "flutter/flow/rtree.h"
#include "flutter/flow/surface_frame.h"
diff --git a/flow/layers/cacheable_layer.cc b/flow/layers/cacheable_layer.cc
index 6c485e8..7cdfacf 100644
--- a/flow/layers/cacheable_layer.cc
+++ b/flow/layers/cacheable_layer.cc
@@ -3,8 +3,6 @@
// found in the LICENSE file.
#include "flutter/flow/layers/cacheable_layer.h"
-#include "flutter/flow/raster_cache.h"
-#include "flutter/flow/raster_cache_item.h"
namespace flutter {
diff --git a/flow/layers/cacheable_layer.h b/flow/layers/cacheable_layer.h
index c4aa392..856ce47 100644
--- a/flow/layers/cacheable_layer.h
+++ b/flow/layers/cacheable_layer.h
@@ -8,7 +8,6 @@
#include <memory>
#include "flutter/flow/layers/container_layer.h"
-#include "flutter/flow/layers/display_list_raster_cache_item.h"
#include "flutter/flow/layers/layer_raster_cache_item.h"
namespace flutter {
diff --git a/flow/layers/color_filter_layer.cc b/flow/layers/color_filter_layer.cc
index dabd733..056efa7 100644
--- a/flow/layers/color_filter_layer.cc
+++ b/flow/layers/color_filter_layer.cc
@@ -4,8 +4,8 @@
#include "flutter/flow/layers/color_filter_layer.h"
-#include "flutter/display_list/display_list_comparable.h"
-#include "flutter/display_list/display_list_paint.h"
+#include "flutter/display_list/dl_paint.h"
+#include "flutter/display_list/utils/dl_comparable.h"
#include "flutter/flow/raster_cache_item.h"
#include "flutter/flow/raster_cache_util.h"
diff --git a/flow/layers/color_filter_layer.h b/flow/layers/color_filter_layer.h
index e105e12..ee456cd 100644
--- a/flow/layers/color_filter_layer.h
+++ b/flow/layers/color_filter_layer.h
@@ -5,10 +5,10 @@
#ifndef FLUTTER_FLOW_LAYERS_COLOR_FILTER_LAYER_H_
#define FLUTTER_FLOW_LAYERS_COLOR_FILTER_LAYER_H_
-#include "flutter/display_list/display_list_color_filter.h"
+#include "flutter/display_list/effects/dl_color_filter.h"
#include "flutter/flow/layers/cacheable_layer.h"
#include "flutter/flow/layers/layer.h"
-#include "third_party/skia/include/core/SkColorFilter.h"
+
namespace flutter {
class ColorFilterLayer : public CacheableContainerLayer {
diff --git a/flow/layers/color_filter_layer_unittests.cc b/flow/layers/color_filter_layer_unittests.cc
index e2678e4..bba9ddb 100644
--- a/flow/layers/color_filter_layer_unittests.cc
+++ b/flow/layers/color_filter_layer_unittests.cc
@@ -3,12 +3,12 @@
// found in the LICENSE file.
#include "flutter/display_list/display_list.h"
-#include "flutter/display_list/display_list_color.h"
-#include "flutter/display_list/display_list_paint.h"
+#include "flutter/display_list/dl_color.h"
+#include "flutter/display_list/dl_paint.h"
#include "flutter/flow/compositor_context.h"
#include "flutter/flow/layers/color_filter_layer.h"
-#include "flutter/display_list/display_list_color_filter.h"
+#include "flutter/display_list/effects/dl_color_filter.h"
#include "flutter/flow/layers/layer_tree.h"
#include "flutter/flow/layers/opacity_layer.h"
#include "flutter/flow/raster_cache.h"
@@ -17,9 +17,6 @@
#include "flutter/flow/testing/mock_layer.h"
#include "flutter/fml/macros.h"
#include "flutter/testing/mock_canvas.h"
-#include "include/core/SkColor.h"
-#include "third_party/skia/include/core/SkColorFilter.h"
-#include "third_party/skia/include/effects/SkColorMatrixFilter.h"
namespace flutter {
namespace testing {
diff --git a/flow/layers/display_list_layer.cc b/flow/layers/display_list_layer.cc
index 1014093..7a36358 100644
--- a/flow/layers/display_list_layer.cc
+++ b/flow/layers/display_list_layer.cc
@@ -6,8 +6,7 @@
#include <utility>
-#include "flutter/display_list/display_list_builder.h"
-#include "flutter/display_list/display_list_flags.h"
+#include "flutter/display_list/dl_builder.h"
#include "flutter/flow/layer_snapshot_store.h"
#include "flutter/flow/layers/cacheable_layer.h"
#include "flutter/flow/layers/offscreen_surface.h"
diff --git a/flow/layers/display_list_layer_unittests.cc b/flow/layers/display_list_layer_unittests.cc
index 1b2ad31..1f0ef18 100644
--- a/flow/layers/display_list_layer_unittests.cc
+++ b/flow/layers/display_list_layer_unittests.cc
@@ -6,7 +6,7 @@
#include "flutter/flow/layers/display_list_layer.h"
-#include "flutter/display_list/display_list_builder.h"
+#include "flutter/display_list/dl_builder.h"
#include "flutter/flow/layers/layer_tree.h"
#include "flutter/flow/testing/diff_context_test.h"
#include "flutter/flow/testing/skia_gpu_object_layer_test.h"
diff --git a/flow/layers/display_list_raster_cache_item.cc b/flow/layers/display_list_raster_cache_item.cc
index 42a2fa3..7c6e95a 100644
--- a/flow/layers/display_list_raster_cache_item.cc
+++ b/flow/layers/display_list_raster_cache_item.cc
@@ -7,8 +7,8 @@
#include <optional>
#include <utility>
+#include "flutter/display_list/benchmarking/dl_complexity.h"
#include "flutter/display_list/display_list.h"
-#include "flutter/display_list/display_list_complexity.h"
#include "flutter/flow/layers/layer.h"
#include "flutter/flow/raster_cache.h"
#include "flutter/flow/raster_cache_item.h"
diff --git a/flow/layers/display_list_raster_cache_item.h b/flow/layers/display_list_raster_cache_item.h
index 370ab56..a542cb5 100644
--- a/flow/layers/display_list_raster_cache_item.h
+++ b/flow/layers/display_list_raster_cache_item.h
@@ -9,7 +9,6 @@
#include <optional>
#include "flutter/display_list/display_list.h"
-#include "flutter/display_list/display_list_utils.h"
#include "flutter/flow/embedded_views.h"
#include "flutter/flow/raster_cache_item.h"
#include "include/core/SkCanvas.h"
diff --git a/flow/layers/image_filter_layer.cc b/flow/layers/image_filter_layer.cc
index 9fa4d77..ceb8ce0 100644
--- a/flow/layers/image_filter_layer.cc
+++ b/flow/layers/image_filter_layer.cc
@@ -3,7 +3,8 @@
// found in the LICENSE file.
#include "flutter/flow/layers/image_filter_layer.h"
-#include "flutter/display_list/display_list_comparable.h"
+
+#include "flutter/display_list/utils/dl_comparable.h"
#include "flutter/flow/layers/layer.h"
#include "flutter/flow/raster_cache_util.h"
diff --git a/flow/layers/image_filter_layer.h b/flow/layers/image_filter_layer.h
index b8e64b8..b96937d 100644
--- a/flow/layers/image_filter_layer.h
+++ b/flow/layers/image_filter_layer.h
@@ -7,9 +7,6 @@
#include <memory>
#include "flutter/flow/layers/cacheable_layer.h"
-#include "flutter/flow/layers/layer.h"
-#include "include/core/SkRefCnt.h"
-#include "third_party/skia/include/core/SkImageFilter.h"
namespace flutter {
diff --git a/flow/layers/image_filter_layer_unittests.cc b/flow/layers/image_filter_layer_unittests.cc
index bb5ced3..63f7222 100644
--- a/flow/layers/image_filter_layer_unittests.cc
+++ b/flow/layers/image_filter_layer_unittests.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "flutter/display_list/display_list_tile_mode.h"
+#include "flutter/display_list/dl_tile_mode.h"
#include "flutter/flow/layers/image_filter_layer.h"
#include "flutter/flow/layers/layer_tree.h"
diff --git a/flow/layers/layer.cc b/flow/layers/layer.cc
index 2e8beec..f34d02c 100644
--- a/flow/layers/layer.cc
+++ b/flow/layers/layer.cc
@@ -5,7 +5,6 @@
#include "flutter/flow/layers/layer.h"
#include "flutter/flow/paint_utils.h"
-#include "third_party/skia/include/core/SkColorFilter.h"
namespace flutter {
diff --git a/flow/layers/layer.h b/flow/layers/layer.h
index fb6f8b9..b4c703c 100644
--- a/flow/layers/layer.h
+++ b/flow/layers/layer.h
@@ -12,7 +12,6 @@
#include "flutter/common/graphics/texture.h"
#include "flutter/display_list/dl_canvas.h"
-#include "flutter/display_list/skia/dl_sk_canvas.h"
#include "flutter/flow/diff_context.h"
#include "flutter/flow/embedded_views.h"
#include "flutter/flow/instrumentation.h"
diff --git a/flow/layers/layer_state_stack.cc b/flow/layers/layer_state_stack.cc
index 4bb33f1..6f430cb 100644
--- a/flow/layers/layer_state_stack.cc
+++ b/flow/layers/layer_state_stack.cc
@@ -4,7 +4,7 @@
#include "flutter/flow/layers/layer_state_stack.h"
-#include "flutter/display_list/display_list_matrix_clip_tracker.h"
+#include "flutter/display_list/utils/dl_matrix_clip_tracker.h"
#include "flutter/flow/layers/layer.h"
#include "flutter/flow/paint_utils.h"
#include "flutter/flow/raster_cache_util.h"
diff --git a/flow/layers/layer_state_stack_unittests.cc b/flow/layers/layer_state_stack_unittests.cc
index 1294256..2a7e0d8 100644
--- a/flow/layers/layer_state_stack_unittests.cc
+++ b/flow/layers/layer_state_stack_unittests.cc
@@ -4,8 +4,8 @@
#include "gtest/gtest.h"
-#include "flutter/display_list/display_list_color_filter.h"
-#include "flutter/display_list/display_list_image_filter.h"
+#include "flutter/display_list/effects/dl_color_filter.h"
+#include "flutter/display_list/effects/dl_image_filter.h"
#include "flutter/flow/layers/layer.h"
#include "flutter/flow/layers/layer_state_stack.h"
#include "flutter/testing/display_list_testing.h"
diff --git a/flow/layers/shader_mask_layer.h b/flow/layers/shader_mask_layer.h
index ae3b1d6..fadb5d1 100644
--- a/flow/layers/shader_mask_layer.h
+++ b/flow/layers/shader_mask_layer.h
@@ -5,7 +5,7 @@
#ifndef FLUTTER_FLOW_LAYERS_SHADER_MASK_LAYER_H_
#define FLUTTER_FLOW_LAYERS_SHADER_MASK_LAYER_H_
-#include "flutter/display_list/display_list_color_source.h"
+#include "flutter/display_list/effects/dl_color_source.h"
#include "flutter/flow/layers/cacheable_layer.h"
namespace flutter {
diff --git a/flow/paint_utils.cc b/flow/paint_utils.cc
index 42fbab2..8e07473 100644
--- a/flow/paint_utils.cc
+++ b/flow/paint_utils.cc
@@ -8,8 +8,6 @@
#include "third_party/skia/include/core/SkBitmap.h"
#include "third_party/skia/include/core/SkImage.h"
-#include "third_party/skia/include/core/SkPaint.h"
-#include "third_party/skia/include/core/SkShader.h"
namespace flutter {
diff --git a/flow/paint_utils.h b/flow/paint_utils.h
index b387948..705d3a2 100644
--- a/flow/paint_utils.h
+++ b/flow/paint_utils.h
@@ -5,7 +5,7 @@
#ifndef FLUTTER_FLOW_PAINT_UTILS_H_
#define FLUTTER_FLOW_PAINT_UTILS_H_
-#include "flutter/display_list/display_list_builder.h"
+#include "flutter/display_list/dl_canvas.h"
#include "third_party/skia/include/core/SkCanvas.h"
#include "third_party/skia/include/core/SkColor.h"
#include "third_party/skia/include/core/SkRect.h"
diff --git a/flow/raster_cache_unittests.cc b/flow/raster_cache_unittests.cc
index 7f1c518..1484c58 100644
--- a/flow/raster_cache_unittests.cc
+++ b/flow/raster_cache_unittests.cc
@@ -2,9 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "flutter/display_list/benchmarking/dl_complexity.h"
#include "flutter/display_list/display_list.h"
-#include "flutter/display_list/display_list_builder.h"
-#include "flutter/display_list/display_list_complexity.h"
+#include "flutter/display_list/dl_builder.h"
#include "flutter/display_list/testing/dl_test_snippets.h"
#include "flutter/flow/layers/container_layer.h"
#include "flutter/flow/layers/display_list_layer.h"
diff --git a/flow/surface_frame.h b/flow/surface_frame.h
index 8cccacb..31a89d8 100644
--- a/flow/surface_frame.h
+++ b/flow/surface_frame.h
@@ -9,7 +9,7 @@
#include <optional>
#include "flutter/common/graphics/gl_context_switch.h"
-#include "flutter/display_list/display_list_builder.h"
+#include "flutter/display_list/dl_builder.h"
#include "flutter/display_list/skia/dl_sk_canvas.h"
#include "flutter/fml/macros.h"
#include "flutter/fml/time/time_point.h"
diff --git a/flow/testing/diff_context_test.cc b/flow/testing/diff_context_test.cc
index 61629eb..6bf66b2 100644
--- a/flow/testing/diff_context_test.cc
+++ b/flow/testing/diff_context_test.cc
@@ -5,7 +5,7 @@
#include "diff_context_test.h"
#include <utility>
-#include "flutter/display_list/display_list_builder.h"
+#include "flutter/display_list/dl_builder.h"
namespace flutter {
namespace testing {
diff --git a/impeller/display_list/display_list_dispatcher.cc b/impeller/display_list/display_list_dispatcher.cc
index 06ee1ee..986d85f 100644
--- a/impeller/display_list/display_list_dispatcher.cc
+++ b/impeller/display_list/display_list_dispatcher.cc
@@ -12,11 +12,6 @@
#include <utility>
#include <vector>
-#include "display_list/display_list_blend_mode.h"
-#include "display_list/display_list_color_filter.h"
-#include "display_list/display_list_color_source.h"
-#include "display_list/display_list_path_effect.h"
-#include "display_list/display_list_tile_mode.h"
#include "flutter/fml/logging.h"
#include "flutter/fml/trace_event.h"
#include "impeller/display_list/display_list_image_impeller.h"
@@ -641,15 +636,15 @@
UNIMPLEMENTED;
}
-static FilterContents::BlurStyle ToBlurStyle(SkBlurStyle blur_style) {
+static FilterContents::BlurStyle ToBlurStyle(flutter::DlBlurStyle blur_style) {
switch (blur_style) {
- case kNormal_SkBlurStyle:
+ case flutter::DlBlurStyle::kNormal:
return FilterContents::BlurStyle::kNormal;
- case kSolid_SkBlurStyle:
+ case flutter::DlBlurStyle::kSolid:
return FilterContents::BlurStyle::kSolid;
- case kOuter_SkBlurStyle:
+ case flutter::DlBlurStyle::kOuter:
return FilterContents::BlurStyle::kOuter;
- case kInner_SkBlurStyle:
+ case flutter::DlBlurStyle::kInner:
return FilterContents::BlurStyle::kInner;
}
}
diff --git a/impeller/display_list/display_list_dispatcher.h b/impeller/display_list/display_list_dispatcher.h
index 76cf251..bfc09bf 100644
--- a/impeller/display_list/display_list_dispatcher.h
+++ b/impeller/display_list/display_list_dispatcher.h
@@ -4,9 +4,6 @@
#pragma once
-#include "display_list/display_list_path_effect.h"
-#include "flutter/display_list/display_list.h"
-#include "flutter/display_list/display_list_blend_mode.h"
#include "flutter/display_list/dl_op_receiver.h"
#include "flutter/fml/macros.h"
#include "impeller/aiks/canvas.h"
diff --git a/impeller/display_list/display_list_image_impeller.h b/impeller/display_list/display_list_image_impeller.h
index 88484a0..395ba05 100644
--- a/impeller/display_list/display_list_image_impeller.h
+++ b/impeller/display_list/display_list_image_impeller.h
@@ -4,7 +4,7 @@
#pragma once
-#include "flutter/display_list/display_list_image.h"
+#include "flutter/display_list/image/dl_image.h"
#include "flutter/fml/macros.h"
#include "impeller/renderer/texture.h"
diff --git a/impeller/display_list/display_list_playground.h b/impeller/display_list/display_list_playground.h
index e4645c6..9cecb16 100644
--- a/impeller/display_list/display_list_playground.h
+++ b/impeller/display_list/display_list_playground.h
@@ -5,7 +5,7 @@
#pragma once
#include "flutter/display_list/display_list.h"
-#include "flutter/display_list/display_list_builder.h"
+#include "flutter/display_list/dl_builder.h"
#include "flutter/fml/macros.h"
#include "impeller/playground/playground_test.h"
#include "third_party/skia/include/core/SkFont.h"
diff --git a/impeller/display_list/display_list_unittests.cc b/impeller/display_list/display_list_unittests.cc
index 7694196..cc68ebb 100644
--- a/impeller/display_list/display_list_unittests.cc
+++ b/impeller/display_list/display_list_unittests.cc
@@ -7,16 +7,15 @@
#include <memory>
#include <vector>
-#include "display_list/display_list_blend_mode.h"
-#include "display_list/display_list_color.h"
-#include "display_list/display_list_color_filter.h"
-#include "display_list/display_list_color_source.h"
-#include "display_list/display_list_image_filter.h"
-#include "display_list/display_list_paint.h"
-#include "display_list/display_list_tile_mode.h"
-#include "flutter/display_list/display_list_builder.h"
-#include "flutter/display_list/display_list_mask_filter.h"
-#include "flutter/display_list/types.h"
+#include "flutter/display_list/dl_blend_mode.h"
+#include "flutter/display_list/dl_builder.h"
+#include "flutter/display_list/dl_color.h"
+#include "flutter/display_list/dl_paint.h"
+#include "flutter/display_list/dl_tile_mode.h"
+#include "flutter/display_list/effects/dl_color_filter.h"
+#include "flutter/display_list/effects/dl_color_source.h"
+#include "flutter/display_list/effects/dl_image_filter.h"
+#include "flutter/display_list/effects/dl_mask_filter.h"
#include "flutter/testing/testing.h"
#include "impeller/display_list/display_list_image_impeller.h"
#include "impeller/display_list/display_list_playground.h"
@@ -402,7 +401,8 @@
// Mask blurred image.
{
- auto filter = flutter::DlBlurMaskFilter(kNormal_SkBlurStyle, 10.0f);
+ auto filter =
+ flutter::DlBlurMaskFilter(flutter::DlBlurStyle::kNormal, 10.0f);
paint.setMaskFilter(&filter);
builder.DrawImage(DlImageImpeller::Make(texture), SkPoint::Make(100, 100),
flutter::DlImageSampling::kNearestNeighbor, &paint);
@@ -411,14 +411,16 @@
// Mask blurred filled path.
{
paint.setColor(SK_ColorYELLOW);
- auto filter = flutter::DlBlurMaskFilter(kOuter_SkBlurStyle, 10.0f);
+ auto filter =
+ flutter::DlBlurMaskFilter(flutter::DlBlurStyle::kOuter, 10.0f);
paint.setMaskFilter(&filter);
builder.DrawArc(SkRect::MakeXYWH(410, 110, 100, 100), 45, 270, true, paint);
}
// Mask blurred text.
{
- auto filter = flutter::DlBlurMaskFilter(kSolid_SkBlurStyle, 10.0f);
+ auto filter =
+ flutter::DlBlurMaskFilter(flutter::DlBlurStyle::kSolid, 10.0f);
paint.setMaskFilter(&filter);
builder.DrawTextBlob(
SkTextBlob::MakeFromString("Testing", CreateTestFont()), 220, 170,
@@ -431,7 +433,7 @@
TEST_P(DisplayListTest, IgnoreMaskFilterWhenSavingLayer) {
auto texture = CreateTextureForFixture("embarcadero.jpg");
flutter::DisplayListBuilder builder;
- auto filter = flutter::DlBlurMaskFilter(kNormal_SkBlurStyle, 10.0f);
+ auto filter = flutter::DlBlurMaskFilter(flutter::DlBlurStyle::kNormal, 10.0f);
flutter::DlPaint paint;
paint.setMaskFilter(&filter);
builder.SaveLayer(nullptr, &paint);
@@ -1298,7 +1300,7 @@
TEST_P(DisplayListTest, MaskBlursApplyCorrectlyToColorSources) {
auto blur_filter = std::make_shared<flutter::DlBlurMaskFilter>(
- SkBlurStyle::kNormal_SkBlurStyle, 10);
+ flutter::DlBlurStyle::kNormal, 10);
flutter::DisplayListBuilder builder;
diff --git a/impeller/display_list/display_list_vertices_geometry.h b/impeller/display_list/display_list_vertices_geometry.h
index 9a668f9..7b18799 100644
--- a/impeller/display_list/display_list_vertices_geometry.h
+++ b/impeller/display_list/display_list_vertices_geometry.h
@@ -7,7 +7,7 @@
#include <optional>
#include <vector>
-#include "flutter/display_list/display_list_vertices.h"
+#include "flutter/display_list/dl_vertices.h"
#include "impeller/entity/geometry.h"
#include "impeller/geometry/color.h"
diff --git a/lib/ui/painting.dart b/lib/ui/painting.dart
index 26d84e6..f5e1f7a 100644
--- a/lib/ui/painting.dart
+++ b/lib/ui/painting.dart
@@ -890,7 +890,7 @@
///
/// * [Paint.strokeCap] for how this value is used.
/// * [StrokeJoin] for the different kinds of line segment joins.
-// These enum values must be kept in sync with SkPaint::Cap.
+// These enum values must be kept in sync with DlStrokeCap.
enum StrokeCap {
/// Begin and end contours with a flat edge and no extension.
///
@@ -936,7 +936,7 @@
/// * [Paint.strokeJoin] and [Paint.strokeMiterLimit] for how this value is
/// used.
/// * [StrokeCap] for the different kinds of line endings.
-// These enum values must be kept in sync with SkPaint::Join.
+// These enum values must be kept in sync with DlStrokeJoin.
enum StrokeJoin {
/// Joins between line segments form sharp corners.
///
@@ -987,9 +987,9 @@
/// Strategies for painting shapes and paths on a canvas.
///
/// See [Paint.style].
-// These enum values must be kept in sync with SkPaint::Style.
+// These enum values must be kept in sync with DlDrawStyle.
enum PaintingStyle {
- // This list comes from Skia's SkPaint.h and the values (order) should be kept
+ // This list comes from dl_paint.h and the values (order) should be kept
// in sync.
/// Apply the [Paint] to the inside of the shape. For example, when
@@ -3265,9 +3265,9 @@
}
/// Styles to use for blurs in [MaskFilter] objects.
-// These enum values must be kept in sync with SkBlurStyle.
+// These enum values must be kept in sync with DlBlurStyle.
enum BlurStyle {
- // These mirror SkBlurStyle and must be kept in sync.
+ // These mirror DlBlurStyle and must be kept in sync.
/// Fuzzy inside and outside. This is useful for painting shadows that are
/// offset from the shape that ostensibly is casting the shadow.
@@ -3320,10 +3320,10 @@
final BlurStyle _style;
final double _sigma;
- // The type of MaskFilter class to create for Skia.
+ // The type of MaskFilter class to create for flutter::DisplayList.
// These constants must be kept in sync with MaskFilterType in paint.cc.
static const int _TypeNone = 0; // null
- static const int _TypeBlur = 1; // SkBlurMaskFilter
+ static const int _TypeBlur = 1; // DlBlurMaskFilter
@override
bool operator ==(Object other) {
@@ -3446,13 +3446,13 @@
final List<double>? _matrix;
final int _type;
- // The type of SkColorFilter class to create for Skia.
+ // The type of DlColorFilter class to create.
static const int _kTypeMode = 1; // MakeModeFilter
static const int _kTypeMatrix = 2; // MakeMatrixFilterRowMajor255
static const int _kTypeLinearToSrgbGamma = 3; // MakeLinearToSRGBGamma
static const int _kTypeSrgbToLinearGamma = 4; // MakeSRGBToLinearGamma
- // SkImageFilters::ColorFilter
+ // DlColorImageFilter
@override
_ImageFilter _toNativeImageFilter() => _ImageFilter.fromColorFilter(this);
@@ -3526,7 +3526,7 @@
}
}
-/// A [ColorFilter] that is backed by a native SkColorFilter.
+/// A [ColorFilter] that is backed by a native DlColorFilter.
///
/// This is a private class, rather than being the implementation of the public
/// ColorFilter, because we want ColorFilter to be const constructible and
@@ -3628,8 +3628,8 @@
return _ComposeImageFilter(innerFilter: inner, outerFilter: outer);
}
- // Converts this to a native SkImageFilter. See the comments of this method in
- // subclasses for the exact type of SkImageFilter this method converts to.
+ // Converts this to a native DlImageFilter. See the comments of this method in
+ // subclasses for the exact type of DlImageFilter this method converts to.
_ImageFilter _toNativeImageFilter();
// The description text to show when the filter is part of a composite
@@ -3776,7 +3776,7 @@
final ImageFilter innerFilter;
final ImageFilter outerFilter;
- // SkImageFilters::Compose
+ // DlComposeImageFilter
late final _ImageFilter nativeFilter = _ImageFilter.composed(this);
@override
_ImageFilter _toNativeImageFilter() => nativeFilter;
@@ -3801,7 +3801,7 @@
int get hashCode => Object.hash(innerFilter, outerFilter);
}
-/// An [ImageFilter] that is backed by a native SkImageFilter.
+/// An [ImageFilter] that is backed by a native DlImageFilter.
///
/// This is a private class, rather than being the implementation of the public
/// ImageFilter, because we want ImageFilter to be efficiently comparable, so that
@@ -3956,7 +3956,7 @@
/// * [dart:ui.ImageFilter.blur], an ImageFilter that may sometimes need to
/// read samples from outside an image to combine with the pixels near the
/// edge of the image.
-// These enum values must be kept in sync with SkTileMode.
+// These enum values must be kept in sync with DlTileMode.
enum TileMode {
/// Samples beyond the edge are clamped to the nearest color in the defined inner area.
///
@@ -4517,7 +4517,7 @@
/// Defines how a list of points is interpreted when drawing a set of triangles.
///
/// Used by [Canvas.drawVertices].
-// These enum values must be kept in sync with SkVertices::VertexMode.
+// These enum values must be kept in sync with DlVertexMode.
enum VertexMode {
/// Draw each sequence of three points as the vertices of a triangle.
triangles,
@@ -4855,7 +4855,7 @@
@Native<Void Function(Handle, Pointer<Void>, Double, Double, Double, Double)>(symbol: 'Canvas::Create')
external void _constructor(PictureRecorder recorder, double left, double top, double right, double bottom);
- // The underlying Skia SkCanvas is owned by the PictureRecorder used to create this Canvas.
+ // The underlying DlCanvas is owned by the DisplayListBuilder used to create this Canvas.
// The Canvas holds a reference to the PictureRecorder to prevent the recorder from being
// garbage collected until PictureRecorder.endRecording is called.
PictureRecorder? _recorder;
diff --git a/lib/ui/painting/canvas.cc b/lib/ui/painting/canvas.cc
index 03d8385..5f6c7fc 100644
--- a/lib/ui/painting/canvas.cc
+++ b/lib/ui/painting/canvas.cc
@@ -6,7 +6,7 @@
#include <cmath>
-#include "flutter/display_list/display_list_builder.h"
+#include "flutter/display_list/dl_builder.h"
#include "flutter/lib/ui/painting/image.h"
#include "flutter/lib/ui/painting/image_filter.h"
#include "flutter/lib/ui/painting/paint.h"
diff --git a/lib/ui/painting/canvas.h b/lib/ui/painting/canvas.h
index b431e15..55a221b 100644
--- a/lib/ui/painting/canvas.h
+++ b/lib/ui/painting/canvas.h
@@ -5,8 +5,8 @@
#ifndef FLUTTER_LIB_UI_PAINTING_CANVAS_H_
#define FLUTTER_LIB_UI_PAINTING_CANVAS_H_
-#include "flutter/display_list/display_list_blend_mode.h"
-#include "flutter/display_list/display_list_flags.h"
+#include "flutter/display_list/dl_blend_mode.h"
+#include "flutter/display_list/dl_op_flags.h"
#include "flutter/lib/ui/dart_wrapper.h"
#include "flutter/lib/ui/painting/path.h"
#include "flutter/lib/ui/painting/picture.h"
diff --git a/lib/ui/painting/color_filter.h b/lib/ui/painting/color_filter.h
index b7aa2e2..6679629 100644
--- a/lib/ui/painting/color_filter.h
+++ b/lib/ui/painting/color_filter.h
@@ -5,7 +5,7 @@
#ifndef FLUTTER_LIB_UI_COLOR_FILTER_H_
#define FLUTTER_LIB_UI_COLOR_FILTER_H_
-#include "flutter/display_list/display_list_color_filter.h"
+#include "flutter/display_list/effects/dl_color_filter.h"
#include "flutter/lib/ui/dart_wrapper.h"
#include "third_party/tonic/typed_data/typed_list.h"
diff --git a/lib/ui/painting/display_list_deferred_image_gpu_impeller.h b/lib/ui/painting/display_list_deferred_image_gpu_impeller.h
index 84d6e9a..75a1fe7 100644
--- a/lib/ui/painting/display_list_deferred_image_gpu_impeller.h
+++ b/lib/ui/painting/display_list_deferred_image_gpu_impeller.h
@@ -5,7 +5,7 @@
#pragma once
#include "flutter/common/graphics/texture.h"
-#include "flutter/display_list/display_list_image.h"
+#include "flutter/display_list/image/dl_image.h"
#include "flutter/flow/layers/layer_tree.h"
#include "flutter/fml/macros.h"
#include "flutter/fml/memory/weak_ptr.h"
diff --git a/lib/ui/painting/display_list_deferred_image_gpu_skia.h b/lib/ui/painting/display_list_deferred_image_gpu_skia.h
index f80e9e1..6abbaea 100644
--- a/lib/ui/painting/display_list_deferred_image_gpu_skia.h
+++ b/lib/ui/painting/display_list_deferred_image_gpu_skia.h
@@ -10,7 +10,7 @@
#include "flutter/common/graphics/texture.h"
#include "flutter/display_list/display_list.h"
-#include "flutter/display_list/display_list_image.h"
+#include "flutter/display_list/image/dl_image.h"
#include "flutter/flow/layers/layer_tree.h"
#include "flutter/flow/skia_gpu_object.h"
#include "flutter/fml/macros.h"
diff --git a/lib/ui/painting/display_list_image_gpu.h b/lib/ui/painting/display_list_image_gpu.h
index dbc7feb..9122ae6 100644
--- a/lib/ui/painting/display_list_image_gpu.h
+++ b/lib/ui/painting/display_list_image_gpu.h
@@ -5,7 +5,7 @@
#ifndef FLUTTER_LIB_UI_PAINTING_DISPLAY_LIST_IMAGE_GPU_H_
#define FLUTTER_LIB_UI_PAINTING_DISPLAY_LIST_IMAGE_GPU_H_
-#include "flutter/display_list/display_list_image.h"
+#include "flutter/display_list/image/dl_image.h"
#include "flutter/flow/skia_gpu_object.h"
#include "flutter/fml/macros.h"
diff --git a/lib/ui/painting/fragment_program.cc b/lib/ui/painting/fragment_program.cc
index 97536ca..ecf7a6e 100644
--- a/lib/ui/painting/fragment_program.cc
+++ b/lib/ui/painting/fragment_program.cc
@@ -5,7 +5,7 @@
#include <memory>
#include <sstream>
-#include "display_list/display_list_runtime_effect.h"
+#include "display_list/effects/dl_runtime_effect.h"
#include "flutter/lib/ui/painting/fragment_program.h"
#include "flutter/assets/asset_manager.h"
diff --git a/lib/ui/painting/fragment_program.h b/lib/ui/painting/fragment_program.h
index 4845491..65d4d88 100644
--- a/lib/ui/painting/fragment_program.h
+++ b/lib/ui/painting/fragment_program.h
@@ -5,7 +5,7 @@
#ifndef FLUTTER_LIB_UI_PAINTING_FRAGMENT_PROGRAM_H_
#define FLUTTER_LIB_UI_PAINTING_FRAGMENT_PROGRAM_H_
-#include "flutter/display_list/display_list_runtime_effect.h"
+#include "flutter/display_list/effects/dl_runtime_effect.h"
#include "flutter/lib/ui/dart_wrapper.h"
#include "flutter/lib/ui/painting/shader.h"
diff --git a/lib/ui/painting/fragment_shader.cc b/lib/ui/painting/fragment_shader.cc
index 0a153a0..5a90c58 100644
--- a/lib/ui/painting/fragment_shader.cc
+++ b/lib/ui/painting/fragment_shader.cc
@@ -7,8 +7,8 @@
#include "flutter/lib/ui/painting/fragment_shader.h"
-#include "flutter/display_list/display_list_color_source.h"
-#include "flutter/display_list/display_list_tile_mode.h"
+#include "flutter/display_list/dl_tile_mode.h"
+#include "flutter/display_list/effects/dl_color_source.h"
#include "flutter/lib/ui/dart_wrapper.h"
#include "flutter/lib/ui/painting/fragment_program.h"
#include "flutter/lib/ui/ui_dart_state.h"
diff --git a/lib/ui/painting/gradient.h b/lib/ui/painting/gradient.h
index d510cef..a0338d0 100644
--- a/lib/ui/painting/gradient.h
+++ b/lib/ui/painting/gradient.h
@@ -5,7 +5,7 @@
#ifndef FLUTTER_LIB_UI_PAINTING_GRADIENT_H_
#define FLUTTER_LIB_UI_PAINTING_GRADIENT_H_
-#include "flutter/display_list/display_list_color_source.h"
+#include "flutter/display_list/effects/dl_color_source.h"
#include "flutter/lib/ui/painting/matrix.h"
#include "flutter/lib/ui/painting/shader.h"
#include "third_party/tonic/typed_data/typed_list.h"
diff --git a/lib/ui/painting/image.h b/lib/ui/painting/image.h
index 666b8ab..0ffd4ec 100644
--- a/lib/ui/painting/image.h
+++ b/lib/ui/painting/image.h
@@ -5,7 +5,7 @@
#ifndef FLUTTER_LIB_UI_PAINTING_IMAGE_H_
#define FLUTTER_LIB_UI_PAINTING_IMAGE_H_
-#include "flutter/display_list/display_list_image.h"
+#include "flutter/display_list/image/dl_image.h"
#include "flutter/flow/skia_gpu_object.h"
#include "flutter/lib/ui/dart_wrapper.h"
#include "flutter/lib/ui/painting/display_list_image_gpu.h"
diff --git a/lib/ui/painting/image_decoder.h b/lib/ui/painting/image_decoder.h
index e6e82d7..0d4f18e 100644
--- a/lib/ui/painting/image_decoder.h
+++ b/lib/ui/painting/image_decoder.h
@@ -9,7 +9,7 @@
#include "flutter/common/settings.h"
#include "flutter/common/task_runners.h"
-#include "flutter/display_list/display_list_image.h"
+#include "flutter/display_list/image/dl_image.h"
#include "flutter/fml/concurrent_message_loop.h"
#include "flutter/lib/ui/io_manager.h"
#include "flutter/lib/ui/painting/image_descriptor.h"
diff --git a/lib/ui/painting/image_encoding_impeller.cc b/lib/ui/painting/image_encoding_impeller.cc
index d87a81b..163a9a8 100644
--- a/lib/ui/painting/image_encoding_impeller.cc
+++ b/lib/ui/painting/image_encoding_impeller.cc
@@ -9,6 +9,7 @@
#include "impeller/renderer/context.h"
#include "impeller/renderer/device_buffer.h"
#include "impeller/renderer/formats.h"
+#include "third_party/skia/include/core/SkBitmap.h"
namespace flutter {
namespace {
diff --git a/lib/ui/painting/image_encoding_impeller.h b/lib/ui/painting/image_encoding_impeller.h
index 924b18e..18fc3d9 100644
--- a/lib/ui/painting/image_encoding_impeller.h
+++ b/lib/ui/painting/image_encoding_impeller.h
@@ -6,7 +6,7 @@
#define FLUTTER_LIB_UI_PAINTING_IMAGE_ENCODING_IMPELLER_H_
#include "flutter/common/task_runners.h"
-#include "flutter/display_list/display_list_image.h"
+#include "flutter/display_list/image/dl_image.h"
#include "flutter/fml/synchronization/sync_switch.h"
namespace impeller {
diff --git a/lib/ui/painting/image_encoding_skia.h b/lib/ui/painting/image_encoding_skia.h
index 071aadb..48cac8e 100644
--- a/lib/ui/painting/image_encoding_skia.h
+++ b/lib/ui/painting/image_encoding_skia.h
@@ -6,7 +6,7 @@
#define FLUTTER_LIB_UI_PAINTING_IMAGE_ENCODING_SKIA_H_
#include "flutter/common/task_runners.h"
-#include "flutter/display_list/display_list_image.h"
+#include "flutter/display_list/image/dl_image.h"
#include "flutter/fml/synchronization/sync_switch.h"
#include "flutter/lib/ui/snapshot_delegate.h"
diff --git a/lib/ui/painting/image_filter.h b/lib/ui/painting/image_filter.h
index 66e3012..7887473 100644
--- a/lib/ui/painting/image_filter.h
+++ b/lib/ui/painting/image_filter.h
@@ -5,8 +5,8 @@
#ifndef FLUTTER_LIB_UI_PAINTING_IMAGE_FILTER_H_
#define FLUTTER_LIB_UI_PAINTING_IMAGE_FILTER_H_
-#include "flutter/display_list/display_list_image_filter.h"
-#include "flutter/display_list/display_list_sampling_options.h"
+#include "flutter/display_list/dl_sampling_options.h"
+#include "flutter/display_list/effects/dl_image_filter.h"
#include "flutter/lib/ui/dart_wrapper.h"
#include "flutter/lib/ui/painting/color_filter.h"
#include "third_party/tonic/typed_data/typed_list.h"
diff --git a/lib/ui/painting/paint.cc b/lib/ui/painting/paint.cc
index 32539c5..a3252a1 100644
--- a/lib/ui/painting/paint.cc
+++ b/lib/ui/painting/paint.cc
@@ -4,7 +4,7 @@
#include "flutter/lib/ui/painting/paint.h"
-#include "flutter/display_list/display_list_builder.h"
+#include "flutter/display_list/dl_builder.h"
#include "flutter/fml/logging.h"
#include "flutter/lib/ui/painting/color_filter.h"
#include "flutter/lib/ui/painting/image_filter.h"
@@ -184,8 +184,8 @@
paint.setMaskFilter(nullptr);
break;
case kBlur:
- SkBlurStyle blur_style =
- static_cast<SkBlurStyle>(uint_data[kMaskFilterBlurStyleIndex]);
+ DlBlurStyle blur_style =
+ static_cast<DlBlurStyle>(uint_data[kMaskFilterBlurStyleIndex]);
double sigma = float_data[kMaskFilterSigmaIndex];
paint.setMaskFilter(DlBlurMaskFilter::Make(blur_style, sigma));
break;
@@ -275,8 +275,8 @@
case kNull:
break;
case kBlur:
- SkBlurStyle blur_style =
- static_cast<SkBlurStyle>(uint_data[kMaskFilterBlurStyleIndex]);
+ DlBlurStyle blur_style =
+ static_cast<DlBlurStyle>(uint_data[kMaskFilterBlurStyleIndex]);
double sigma = float_data[kMaskFilterSigmaIndex];
// Make could return a nullptr here if the values are NOP or
// do not make sense. We could interpret that as if there was
diff --git a/lib/ui/painting/paint.h b/lib/ui/painting/paint.h
index 466f26a..e87313a 100644
--- a/lib/ui/painting/paint.h
+++ b/lib/ui/painting/paint.h
@@ -6,7 +6,7 @@
#define FLUTTER_LIB_UI_PAINTING_PAINT_H_
#include "flutter/display_list/display_list.h"
-#include "flutter/display_list/display_list_flags.h"
+#include "flutter/display_list/dl_op_flags.h"
#include "third_party/skia/include/core/SkPaint.h"
#include "third_party/tonic/converter/dart_converter.h"
diff --git a/lib/ui/painting/paint_unittests.cc b/lib/ui/painting/paint_unittests.cc
index d7b2edd..1324568 100644
--- a/lib/ui/painting/paint_unittests.cc
+++ b/lib/ui/painting/paint_unittests.cc
@@ -54,7 +54,7 @@
ASSERT_EQ(*dl_paint.getColorFilter(),
DlBlendColorFilter(0x55667788, DlBlendMode::kXor));
ASSERT_EQ(*dl_paint.getMaskFilter(),
- DlBlurMaskFilter(SkBlurStyle::kInner_SkBlurStyle, 0.75));
+ DlBlurMaskFilter(DlBlurStyle::kInner, 0.75));
ASSERT_EQ(dl_paint.getDrawStyle(), DlDrawStyle::kStroke);
}
diff --git a/lib/ui/painting/picture_recorder.h b/lib/ui/painting/picture_recorder.h
index 34a11fe..c5046a4 100644
--- a/lib/ui/painting/picture_recorder.h
+++ b/lib/ui/painting/picture_recorder.h
@@ -5,7 +5,7 @@
#ifndef FLUTTER_LIB_UI_PAINTING_PICTURE_RECORDER_H_
#define FLUTTER_LIB_UI_PAINTING_PICTURE_RECORDER_H_
-#include "flutter/display_list/display_list_builder.h"
+#include "flutter/display_list/dl_builder.h"
#include "flutter/lib/ui/dart_wrapper.h"
namespace flutter {
diff --git a/lib/ui/painting/scene/scene_shader.cc b/lib/ui/painting/scene/scene_shader.cc
index 55e89a2..67a5ed8 100644
--- a/lib/ui/painting/scene/scene_shader.cc
+++ b/lib/ui/painting/scene/scene_shader.cc
@@ -7,8 +7,8 @@
#include <memory>
#include <utility>
-#include "flutter/display_list/display_list_color_source.h"
-#include "flutter/display_list/display_list_tile_mode.h"
+#include "flutter/display_list/dl_tile_mode.h"
+#include "flutter/display_list/effects/dl_color_source.h"
#include "flutter/lib/ui/dart_wrapper.h"
#include "flutter/lib/ui/painting/scene/scene_node.h"
#include "flutter/lib/ui/ui_dart_state.h"
diff --git a/lib/ui/painting/shader.h b/lib/ui/painting/shader.h
index e5a261b..24c00af 100644
--- a/lib/ui/painting/shader.h
+++ b/lib/ui/painting/shader.h
@@ -5,7 +5,7 @@
#ifndef FLUTTER_LIB_UI_PAINTING_SHADER_H_
#define FLUTTER_LIB_UI_PAINTING_SHADER_H_
-#include "flutter/display_list/display_list_color_source.h"
+#include "flutter/display_list/effects/dl_color_source.h"
#include "flutter/lib/ui/ui_dart_state.h"
namespace flutter {
diff --git a/lib/ui/painting/vertices.h b/lib/ui/painting/vertices.h
index 9c94f81..d0390db 100644
--- a/lib/ui/painting/vertices.h
+++ b/lib/ui/painting/vertices.h
@@ -5,7 +5,7 @@
#ifndef FLUTTER_LIB_UI_PAINTING_VERTICES_H_
#define FLUTTER_LIB_UI_PAINTING_VERTICES_H_
-#include "flutter/display_list/display_list_vertices.h"
+#include "flutter/display_list/dl_vertices.h"
#include "flutter/lib/ui/dart_wrapper.h"
#include "third_party/skia/include/core/SkVertices.h"
#include "third_party/tonic/typed_data/typed_list.h"
diff --git a/shell/common/rasterizer.h b/shell/common/rasterizer.h
index c529ea9..5249a41 100644
--- a/shell/common/rasterizer.h
+++ b/shell/common/rasterizer.h
@@ -10,7 +10,7 @@
#include "flutter/common/settings.h"
#include "flutter/common/task_runners.h"
-#include "flutter/display_list/display_list_image.h"
+#include "flutter/display_list/image/dl_image.h"
#include "flutter/flow/compositor_context.h"
#include "flutter/flow/embedded_views.h"
#include "flutter/flow/frame_timings.h"
diff --git a/shell/common/snapshot_controller.h b/shell/common/snapshot_controller.h
index d46fd75..1165132 100644
--- a/shell/common/snapshot_controller.h
+++ b/shell/common/snapshot_controller.h
@@ -6,7 +6,7 @@
#define FLUTTER_SHELL_COMMON_SNAPSHOT_CONTROLLER_H_
#include "flutter/common/settings.h"
-#include "flutter/display_list/display_list_image.h"
+#include "flutter/display_list/image/dl_image.h"
#include "flutter/flow/surface.h"
#include "flutter/fml/synchronization/sync_switch.h"
#include "flutter/lib/ui/snapshot_delegate.h"
diff --git a/shell/common/snapshot_controller_skia.cc b/shell/common/snapshot_controller_skia.cc
index 0e2fdea..7208548 100644
--- a/shell/common/snapshot_controller_skia.cc
+++ b/shell/common/snapshot_controller_skia.cc
@@ -4,10 +4,11 @@
#include "flutter/shell/common/snapshot_controller_skia.h"
-#include "display_list/display_list_image.h"
+#include "display_list/image/dl_image.h"
#include "flutter/flow/surface.h"
#include "flutter/fml/trace_event.h"
#include "flutter/shell/common/snapshot_controller.h"
+#include "third_party/skia/include/core/SkColorSpace.h"
#include "third_party/skia/include/core/SkSurface.h"
namespace flutter {
diff --git a/shell/platform/android/android_external_texture_gl.cc b/shell/platform/android/android_external_texture_gl.cc
index 465c672..880e3a8 100644
--- a/shell/platform/android/android_external_texture_gl.cc
+++ b/shell/platform/android/android_external_texture_gl.cc
@@ -8,7 +8,7 @@
#include <utility>
-#include "flutter/display_list/display_list_color_source.h"
+#include "flutter/display_list/effects/dl_color_source.h"
#include "third_party/skia/include/core/SkAlphaType.h"
#include "third_party/skia/include/core/SkColorSpace.h"
#include "third_party/skia/include/core/SkColorType.h"
diff --git a/shell/platform/darwin/graphics/FlutterDarwinExternalTextureMetal.mm b/shell/platform/darwin/graphics/FlutterDarwinExternalTextureMetal.mm
index 4730fff..3d5ac03 100644
--- a/shell/platform/darwin/graphics/FlutterDarwinExternalTextureMetal.mm
+++ b/shell/platform/darwin/graphics/FlutterDarwinExternalTextureMetal.mm
@@ -3,7 +3,7 @@
// found in the LICENSE file.
#import "flutter/shell/platform/darwin/graphics/FlutterDarwinExternalTextureMetal.h"
-#include "flutter/display_list/display_list_image.h"
+#include "flutter/display_list/image/dl_image.h"
#include "impeller/base/validation.h"
#include "impeller/display_list/display_list_image_impeller.h"
#include "impeller/renderer/backend/metal/texture_mtl.h"
diff --git a/shell/platform/darwin/ios/framework/Source/FlutterPlatformViews_Internal.mm b/shell/platform/darwin/ios/framework/Source/FlutterPlatformViews_Internal.mm
index 3555dec..981c2c3 100644
--- a/shell/platform/darwin/ios/framework/Source/FlutterPlatformViews_Internal.mm
+++ b/shell/platform/darwin/ios/framework/Source/FlutterPlatformViews_Internal.mm
@@ -4,7 +4,7 @@
#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViews_Internal.h"
-#include "flutter/display_list/display_list_image_filter.h"
+#include "flutter/display_list/effects/dl_image_filter.h"
#include "flutter/fml/platform/darwin/cf_utils.h"
#import "flutter/shell/platform/darwin/ios/ios_surface.h"
diff --git a/testing/canvas_test.h b/testing/canvas_test.h
index 17734af..9d7ee87 100644
--- a/testing/canvas_test.h
+++ b/testing/canvas_test.h
@@ -8,6 +8,7 @@
#include "flutter/fml/macros.h"
#include "flutter/testing/mock_canvas.h"
#include "gtest/gtest.h"
+#include "third_party/skia/include/core/SkColorSpace.h"
namespace flutter {
namespace testing {
diff --git a/testing/display_list_testing.cc b/testing/display_list_testing.cc
index 96a29cf..f2eff45 100644
--- a/testing/display_list_testing.cc
+++ b/testing/display_list_testing.cc
@@ -233,12 +233,12 @@
}
}
-std::ostream& operator<<(std::ostream& os, const SkBlurStyle& style) {
+std::ostream& operator<<(std::ostream& os, const DlBlurStyle& style) {
switch (style) {
- case kNormal_SkBlurStyle: return os << "BlurStyle::kNormal";
- case kSolid_SkBlurStyle: return os << "BlurStyle::kSolid";
- case kOuter_SkBlurStyle: return os << "BlurStyle::kOuter";
- case kInner_SkBlurStyle: return os << "BlurStyle::kInner";
+ case DlBlurStyle::kNormal: return os << "BlurStyle::kNormal";
+ case DlBlurStyle::kSolid: return os << "BlurStyle::kSolid";
+ case DlBlurStyle::kOuter: return os << "BlurStyle::kOuter";
+ case DlBlurStyle::kInner: return os << "BlurStyle::kInner";
}
}
diff --git a/testing/display_list_testing.h b/testing/display_list_testing.h
index 60afff2..1ea6456 100644
--- a/testing/display_list_testing.h
+++ b/testing/display_list_testing.h
@@ -8,7 +8,6 @@
#include <ostream>
#include "flutter/display_list/display_list.h"
-#include "flutter/display_list/display_list_path_effect.h"
#include "flutter/display_list/dl_op_receiver.h"
namespace flutter {
@@ -43,7 +42,7 @@
extern std::ostream& operator<<(std::ostream& os, const DlStrokeCap& cap);
extern std::ostream& operator<<(std::ostream& os, const DlStrokeJoin& join);
extern std::ostream& operator<<(std::ostream& os, const DlDrawStyle& style);
-extern std::ostream& operator<<(std::ostream& os, const SkBlurStyle& style);
+extern std::ostream& operator<<(std::ostream& os, const DlBlurStyle& style);
extern std::ostream& operator<<(std::ostream& os, const DlFilterMode& mode);
extern std::ostream& operator<<(std::ostream& os, const DlColor& color);
extern std::ostream& operator<<(std::ostream& os, DlImageSampling sampling);
diff --git a/testing/mock_canvas.h b/testing/mock_canvas.h
index 022793d..b5d8b44 100644
--- a/testing/mock_canvas.h
+++ b/testing/mock_canvas.h
@@ -9,8 +9,8 @@
#include <variant>
#include <vector>
-#include "flutter/display_list/display_list_matrix_clip_tracker.h"
#include "flutter/display_list/dl_canvas.h"
+#include "flutter/display_list/utils/dl_matrix_clip_tracker.h"
#include "gtest/gtest.h"
#include "third_party/skia/include/core/SkCanvas.h"
#include "third_party/skia/include/core/SkCanvasVirtualEnforcer.h"
diff --git a/third_party/txt/src/skia/paragraph_builder_skia.h b/third_party/txt/src/skia/paragraph_builder_skia.h
index 58869cf..e08e461 100644
--- a/third_party/txt/src/skia/paragraph_builder_skia.h
+++ b/third_party/txt/src/skia/paragraph_builder_skia.h
@@ -19,7 +19,7 @@
#include "txt/paragraph_builder.h"
-#include "flutter/display_list/display_list_paint.h"
+#include "flutter/display_list/dl_paint.h"
#include "third_party/skia/modules/skparagraph/include/ParagraphBuilder.h"
namespace txt {
diff --git a/third_party/txt/src/skia/paragraph_skia.cc b/third_party/txt/src/skia/paragraph_skia.cc
index dad981f..c909a34 100644
--- a/third_party/txt/src/skia/paragraph_skia.cc
+++ b/third_party/txt/src/skia/paragraph_skia.cc
@@ -90,8 +90,7 @@
DlPaint paint;
paint.setColor(color);
if (blur_sigma > 0.0) {
- DlBlurMaskFilter filter(SkBlurStyle::kNormal_SkBlurStyle, blur_sigma,
- false);
+ DlBlurMaskFilter filter(DlBlurStyle::kNormal, blur_sigma, false);
paint.setMaskFilter(&filter);
}
builder_->DrawTextBlob(blob, x, y, paint);
diff --git a/third_party/txt/src/txt/paragraph.h b/third_party/txt/src/txt/paragraph.h
index 2bc726c..2d736fb 100644
--- a/third_party/txt/src/txt/paragraph.h
+++ b/third_party/txt/src/txt/paragraph.h
@@ -18,7 +18,7 @@
#ifndef LIB_TXT_SRC_PARAGRAPH_H_
#define LIB_TXT_SRC_PARAGRAPH_H_
-#include "flutter/display_list/display_list_builder.h"
+#include "flutter/display_list/dl_builder.h"
#include "line_metrics.h"
#include "paragraph_style.h"
#include "third_party/skia/include/core/SkRect.h"
diff --git a/third_party/txt/src/txt/text_style.h b/third_party/txt/src/txt/text_style.h
index afc5d14..fc448f9 100644
--- a/third_party/txt/src/txt/text_style.h
+++ b/third_party/txt/src/txt/text_style.h
@@ -21,7 +21,7 @@
#include <string>
#include <vector>
-#include "flutter/display_list/display_list_paint.h"
+#include "flutter/display_list/dl_paint.h"
#include "font_features.h"
#include "font_style.h"
#include "font_weight.h"