From 3843ad6aa67648ad568a5488d90a7d3193581f71 Mon Sep 17 00:00:00 2001 From: Jim Graham Date: Thu, 14 Jul 2022 13:56:57 -0700 Subject: [PATCH] move definition of DLOpFlags to matching .cc file --- display_list/display_list_builder.cc | 161 --------------------------- display_list/display_list_flags.cc | 161 +++++++++++++++++++++++++++ 2 files changed, 161 insertions(+), 161 deletions(-) diff --git a/display_list/display_list_builder.cc b/display_list/display_list_builder.cc index 61debe37e3c29..fc7a8586f38ee 100644 --- a/display_list/display_list_builder.cc +++ b/display_list/display_list_builder.cc @@ -1046,165 +1046,4 @@ void DisplayListBuilder::drawShadow(const SkPath& path, UpdateLayerOpacityCompatibility(false); } -// clang-format off -// Flags common to all primitives that apply colors -#define PAINT_FLAGS (kUsesDither_ | \ - kUsesColor_ | \ - kUsesAlpha_ | \ - kUsesBlend_ | \ - kUsesShader_ | \ - kUsesColorFilter_ | \ - kUsesImageFilter_) - -// Flags common to all primitives that stroke or fill -#define STROKE_OR_FILL_FLAGS (kIsDrawnGeometry_ | \ - kUsesAntiAlias_ | \ - kUsesMaskFilter_ | \ - kUsesPathEffect_) - -// Flags common to primitives that stroke geometry -#define STROKE_FLAGS (kIsStrokedGeometry_ | \ - kUsesAntiAlias_ | \ - kUsesMaskFilter_ | \ - kUsesPathEffect_) - -// Flags common to primitives that render an image with paint attributes -#define IMAGE_FLAGS_BASE (kIsNonGeometric_ | \ - kUsesAlpha_ | \ - kUsesDither_ | \ - kUsesBlend_ | \ - kUsesColorFilter_ | \ - kUsesImageFilter_) -// clang-format on - -const DisplayListAttributeFlags DisplayListOpFlags::kSaveLayerFlags = - DisplayListAttributeFlags(kIgnoresPaint_); - -const DisplayListAttributeFlags DisplayListOpFlags::kSaveLayerWithPaintFlags = - DisplayListAttributeFlags(kIsNonGeometric_ | // - kUsesAlpha_ | // - kUsesBlend_ | // - kUsesColorFilter_ | // - kUsesImageFilter_); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawColorFlags = - DisplayListAttributeFlags(kFloodsSurface_ | kIgnoresPaint_); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawPaintFlags = - DisplayListAttributeFlags(PAINT_FLAGS | kFloodsSurface_); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawHVLineFlags = - DisplayListAttributeFlags(PAINT_FLAGS | STROKE_FLAGS | kMayHaveCaps_); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawLineFlags = - kDrawHVLineFlags.with(kMayHaveDiagonalCaps_); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawRectFlags = - DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS | - kMayHaveJoins_); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawOvalFlags = - DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawCircleFlags = - DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawRRectFlags = - DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawDRRectFlags = - DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawPathFlags = - DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS | - kMayHaveCaps_ | kMayHaveDiagonalCaps_ | - kMayHaveJoins_ | kMayHaveAcuteJoins_); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawArcNoCenterFlags = - DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS | - kMayHaveCaps_ | kMayHaveDiagonalCaps_); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawArcWithCenterFlags = - DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS | - kMayHaveJoins_ | kMayHaveAcuteJoins_); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawPointsAsPointsFlags = - DisplayListAttributeFlags(PAINT_FLAGS | STROKE_FLAGS | // - kMayHaveCaps_ | kButtCapIsSquare_); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawPointsAsLinesFlags = - DisplayListAttributeFlags(PAINT_FLAGS | STROKE_FLAGS | // - kMayHaveCaps_ | kMayHaveDiagonalCaps_); - -// Polygon mode just draws (count-1) separate lines, no joins -const DisplayListAttributeFlags DisplayListOpFlags::kDrawPointsAsPolygonFlags = - DisplayListAttributeFlags(PAINT_FLAGS | STROKE_FLAGS | // - kMayHaveCaps_ | kMayHaveDiagonalCaps_); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawVerticesFlags = - DisplayListAttributeFlags(kIsNonGeometric_ | // - kUsesDither_ | // - kUsesAlpha_ | // - kUsesShader_ | // - kUsesBlend_ | // - kUsesColorFilter_ | // - kUsesImageFilter_); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawImageFlags = - DisplayListAttributeFlags(kIgnoresPaint_); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawImageWithPaintFlags = - DisplayListAttributeFlags(IMAGE_FLAGS_BASE | // - kUsesAntiAlias_ | kUsesMaskFilter_); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawImageRectFlags = - DisplayListAttributeFlags(kIgnoresPaint_); - -const DisplayListAttributeFlags - DisplayListOpFlags::kDrawImageRectWithPaintFlags = - DisplayListAttributeFlags(IMAGE_FLAGS_BASE | // - kUsesAntiAlias_ | kUsesMaskFilter_); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawImageNineFlags = - DisplayListAttributeFlags(kIgnoresPaint_); - -const DisplayListAttributeFlags - DisplayListOpFlags::kDrawImageNineWithPaintFlags = - DisplayListAttributeFlags(IMAGE_FLAGS_BASE); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawImageLatticeFlags = - DisplayListAttributeFlags(kIgnoresPaint_); - -const DisplayListAttributeFlags - DisplayListOpFlags::kDrawImageLatticeWithPaintFlags = - DisplayListAttributeFlags(IMAGE_FLAGS_BASE); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawAtlasFlags = - DisplayListAttributeFlags(kIgnoresPaint_); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawAtlasWithPaintFlags = - DisplayListAttributeFlags(IMAGE_FLAGS_BASE); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawPictureFlags = - DisplayListAttributeFlags(kIgnoresPaint_); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawPictureWithPaintFlags = - kSaveLayerWithPaintFlags; - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawDisplayListFlags = - DisplayListAttributeFlags(kIgnoresPaint_); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawTextBlobFlags = - DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS | - kMayHaveJoins_) - .without(kUsesAntiAlias_); - -const DisplayListAttributeFlags DisplayListOpFlags::kDrawShadowFlags = - DisplayListAttributeFlags(kIgnoresPaint_); - -#undef PAINT_FLAGS -#undef STROKE_OR_FILL_FLAGS -#undef STROKE_FLAGS -#undef IMAGE_FLAGS_BASE - } // namespace flutter diff --git a/display_list/display_list_flags.cc b/display_list/display_list_flags.cc index 2b0a9d9043c2d..a7e2485885664 100644 --- a/display_list/display_list_flags.cc +++ b/display_list/display_list_flags.cc @@ -27,4 +27,165 @@ const DisplayListSpecialGeometryFlags DisplayListAttributeFlags::WithPathEffect( return special_flags_; } +// clang-format off +// Flags common to all primitives that apply colors +#define PAINT_FLAGS (kUsesDither_ | \ + kUsesColor_ | \ + kUsesAlpha_ | \ + kUsesBlend_ | \ + kUsesShader_ | \ + kUsesColorFilter_ | \ + kUsesImageFilter_) + +// Flags common to all primitives that stroke or fill +#define STROKE_OR_FILL_FLAGS (kIsDrawnGeometry_ | \ + kUsesAntiAlias_ | \ + kUsesMaskFilter_ | \ + kUsesPathEffect_) + +// Flags common to primitives that stroke geometry +#define STROKE_FLAGS (kIsStrokedGeometry_ | \ + kUsesAntiAlias_ | \ + kUsesMaskFilter_ | \ + kUsesPathEffect_) + +// Flags common to primitives that render an image with paint attributes +#define IMAGE_FLAGS_BASE (kIsNonGeometric_ | \ + kUsesAlpha_ | \ + kUsesDither_ | \ + kUsesBlend_ | \ + kUsesColorFilter_ | \ + kUsesImageFilter_) +// clang-format on + +const DisplayListAttributeFlags DisplayListOpFlags::kSaveLayerFlags = + DisplayListAttributeFlags(kIgnoresPaint_); + +const DisplayListAttributeFlags DisplayListOpFlags::kSaveLayerWithPaintFlags = + DisplayListAttributeFlags(kIsNonGeometric_ | // + kUsesAlpha_ | // + kUsesBlend_ | // + kUsesColorFilter_ | // + kUsesImageFilter_); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawColorFlags = + DisplayListAttributeFlags(kFloodsSurface_ | kIgnoresPaint_); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawPaintFlags = + DisplayListAttributeFlags(PAINT_FLAGS | kFloodsSurface_); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawHVLineFlags = + DisplayListAttributeFlags(PAINT_FLAGS | STROKE_FLAGS | kMayHaveCaps_); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawLineFlags = + kDrawHVLineFlags.with(kMayHaveDiagonalCaps_); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawRectFlags = + DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS | + kMayHaveJoins_); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawOvalFlags = + DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawCircleFlags = + DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawRRectFlags = + DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawDRRectFlags = + DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawPathFlags = + DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS | + kMayHaveCaps_ | kMayHaveDiagonalCaps_ | + kMayHaveJoins_ | kMayHaveAcuteJoins_); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawArcNoCenterFlags = + DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS | + kMayHaveCaps_ | kMayHaveDiagonalCaps_); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawArcWithCenterFlags = + DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS | + kMayHaveJoins_ | kMayHaveAcuteJoins_); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawPointsAsPointsFlags = + DisplayListAttributeFlags(PAINT_FLAGS | STROKE_FLAGS | // + kMayHaveCaps_ | kButtCapIsSquare_); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawPointsAsLinesFlags = + DisplayListAttributeFlags(PAINT_FLAGS | STROKE_FLAGS | // + kMayHaveCaps_ | kMayHaveDiagonalCaps_); + +// Polygon mode just draws (count-1) separate lines, no joins +const DisplayListAttributeFlags DisplayListOpFlags::kDrawPointsAsPolygonFlags = + DisplayListAttributeFlags(PAINT_FLAGS | STROKE_FLAGS | // + kMayHaveCaps_ | kMayHaveDiagonalCaps_); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawVerticesFlags = + DisplayListAttributeFlags(kIsNonGeometric_ | // + kUsesDither_ | // + kUsesAlpha_ | // + kUsesShader_ | // + kUsesBlend_ | // + kUsesColorFilter_ | // + kUsesImageFilter_); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawImageFlags = + DisplayListAttributeFlags(kIgnoresPaint_); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawImageWithPaintFlags = + DisplayListAttributeFlags(IMAGE_FLAGS_BASE | // + kUsesAntiAlias_ | kUsesMaskFilter_); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawImageRectFlags = + DisplayListAttributeFlags(kIgnoresPaint_); + +const DisplayListAttributeFlags + DisplayListOpFlags::kDrawImageRectWithPaintFlags = + DisplayListAttributeFlags(IMAGE_FLAGS_BASE | // + kUsesAntiAlias_ | kUsesMaskFilter_); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawImageNineFlags = + DisplayListAttributeFlags(kIgnoresPaint_); + +const DisplayListAttributeFlags + DisplayListOpFlags::kDrawImageNineWithPaintFlags = + DisplayListAttributeFlags(IMAGE_FLAGS_BASE); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawImageLatticeFlags = + DisplayListAttributeFlags(kIgnoresPaint_); + +const DisplayListAttributeFlags + DisplayListOpFlags::kDrawImageLatticeWithPaintFlags = + DisplayListAttributeFlags(IMAGE_FLAGS_BASE); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawAtlasFlags = + DisplayListAttributeFlags(kIgnoresPaint_); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawAtlasWithPaintFlags = + DisplayListAttributeFlags(IMAGE_FLAGS_BASE); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawPictureFlags = + DisplayListAttributeFlags(kIgnoresPaint_); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawPictureWithPaintFlags = + kSaveLayerWithPaintFlags; + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawDisplayListFlags = + DisplayListAttributeFlags(kIgnoresPaint_); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawTextBlobFlags = + DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS | + kMayHaveJoins_) + .without(kUsesAntiAlias_); + +const DisplayListAttributeFlags DisplayListOpFlags::kDrawShadowFlags = + DisplayListAttributeFlags(kIgnoresPaint_); + +#undef PAINT_FLAGS +#undef STROKE_OR_FILL_FLAGS +#undef STROKE_FLAGS +#undef IMAGE_FLAGS_BASE + } // namespace flutter