44
55#include " flutter/display_list/display_list_flags.h"
66#include " flutter/display_list/display_list_path_effect.h"
7+
78namespace flutter {
89
910const DisplayListSpecialGeometryFlags DisplayListAttributeFlags::WithPathEffect (
@@ -27,165 +28,4 @@ const DisplayListSpecialGeometryFlags DisplayListAttributeFlags::WithPathEffect(
2728 return special_flags_;
2829}
2930
30- // clang-format off
31- // Flags common to all primitives that apply colors
32- #define PAINT_FLAGS (kUsesDither_ | \
33- kUsesColor_ | \
34- kUsesAlpha_ | \
35- kUsesBlend_ | \
36- kUsesShader_ | \
37- kUsesColorFilter_ | \
38- kUsesImageFilter_ )
39-
40- // Flags common to all primitives that stroke or fill
41- #define STROKE_OR_FILL_FLAGS (kIsDrawnGeometry_ | \
42- kUsesAntiAlias_ | \
43- kUsesMaskFilter_ | \
44- kUsesPathEffect_ )
45-
46- // Flags common to primitives that stroke geometry
47- #define STROKE_FLAGS (kIsStrokedGeometry_ | \
48- kUsesAntiAlias_ | \
49- kUsesMaskFilter_ | \
50- kUsesPathEffect_ )
51-
52- // Flags common to primitives that render an image with paint attributes
53- #define IMAGE_FLAGS_BASE (kIsNonGeometric_ | \
54- kUsesAlpha_ | \
55- kUsesDither_ | \
56- kUsesBlend_ | \
57- kUsesColorFilter_ | \
58- kUsesImageFilter_ )
59- // clang-format on
60-
61- const DisplayListAttributeFlags DisplayListOpFlags::kSaveLayerFlags =
62- DisplayListAttributeFlags (kIgnoresPaint_ );
63-
64- const DisplayListAttributeFlags DisplayListOpFlags::kSaveLayerWithPaintFlags =
65- DisplayListAttributeFlags (kIsNonGeometric_ | //
66- kUsesAlpha_ | //
67- kUsesBlend_ | //
68- kUsesColorFilter_ | //
69- kUsesImageFilter_ );
70-
71- const DisplayListAttributeFlags DisplayListOpFlags::kDrawColorFlags =
72- DisplayListAttributeFlags (kFloodsSurface_ | kIgnoresPaint_ );
73-
74- const DisplayListAttributeFlags DisplayListOpFlags::kDrawPaintFlags =
75- DisplayListAttributeFlags (PAINT_FLAGS | kFloodsSurface_ );
76-
77- const DisplayListAttributeFlags DisplayListOpFlags::kDrawHVLineFlags =
78- DisplayListAttributeFlags (PAINT_FLAGS | STROKE_FLAGS | kMayHaveCaps_ );
79-
80- const DisplayListAttributeFlags DisplayListOpFlags::kDrawLineFlags =
81- kDrawHVLineFlags .with(kMayHaveDiagonalCaps_ );
82-
83- const DisplayListAttributeFlags DisplayListOpFlags::kDrawRectFlags =
84- DisplayListAttributeFlags (PAINT_FLAGS | STROKE_OR_FILL_FLAGS |
85- kMayHaveJoins_ );
86-
87- const DisplayListAttributeFlags DisplayListOpFlags::kDrawOvalFlags =
88- DisplayListAttributeFlags (PAINT_FLAGS | STROKE_OR_FILL_FLAGS);
89-
90- const DisplayListAttributeFlags DisplayListOpFlags::kDrawCircleFlags =
91- DisplayListAttributeFlags (PAINT_FLAGS | STROKE_OR_FILL_FLAGS);
92-
93- const DisplayListAttributeFlags DisplayListOpFlags::kDrawRRectFlags =
94- DisplayListAttributeFlags (PAINT_FLAGS | STROKE_OR_FILL_FLAGS);
95-
96- const DisplayListAttributeFlags DisplayListOpFlags::kDrawDRRectFlags =
97- DisplayListAttributeFlags (PAINT_FLAGS | STROKE_OR_FILL_FLAGS);
98-
99- const DisplayListAttributeFlags DisplayListOpFlags::kDrawPathFlags =
100- DisplayListAttributeFlags (PAINT_FLAGS | STROKE_OR_FILL_FLAGS |
101- kMayHaveCaps_ | kMayHaveDiagonalCaps_ |
102- kMayHaveJoins_ | kMayHaveAcuteJoins_ );
103-
104- const DisplayListAttributeFlags DisplayListOpFlags::kDrawArcNoCenterFlags =
105- DisplayListAttributeFlags (PAINT_FLAGS | STROKE_OR_FILL_FLAGS |
106- kMayHaveCaps_ | kMayHaveDiagonalCaps_ );
107-
108- const DisplayListAttributeFlags DisplayListOpFlags::kDrawArcWithCenterFlags =
109- DisplayListAttributeFlags (PAINT_FLAGS | STROKE_OR_FILL_FLAGS |
110- kMayHaveJoins_ | kMayHaveAcuteJoins_ );
111-
112- const DisplayListAttributeFlags DisplayListOpFlags::kDrawPointsAsPointsFlags =
113- DisplayListAttributeFlags (PAINT_FLAGS | STROKE_FLAGS | //
114- kMayHaveCaps_ | kButtCapIsSquare_ );
115-
116- const DisplayListAttributeFlags DisplayListOpFlags::kDrawPointsAsLinesFlags =
117- DisplayListAttributeFlags (PAINT_FLAGS | STROKE_FLAGS | //
118- kMayHaveCaps_ | kMayHaveDiagonalCaps_ );
119-
120- // Polygon mode just draws (count-1) separate lines, no joins
121- const DisplayListAttributeFlags DisplayListOpFlags::kDrawPointsAsPolygonFlags =
122- DisplayListAttributeFlags (PAINT_FLAGS | STROKE_FLAGS | //
123- kMayHaveCaps_ | kMayHaveDiagonalCaps_ );
124-
125- const DisplayListAttributeFlags DisplayListOpFlags::kDrawVerticesFlags =
126- DisplayListAttributeFlags (kIsNonGeometric_ | //
127- kUsesDither_ | //
128- kUsesAlpha_ | //
129- kUsesShader_ | //
130- kUsesBlend_ | //
131- kUsesColorFilter_ | //
132- kUsesImageFilter_ );
133-
134- const DisplayListAttributeFlags DisplayListOpFlags::kDrawImageFlags =
135- DisplayListAttributeFlags (kIgnoresPaint_ );
136-
137- const DisplayListAttributeFlags DisplayListOpFlags::kDrawImageWithPaintFlags =
138- DisplayListAttributeFlags (IMAGE_FLAGS_BASE | //
139- kUsesAntiAlias_ | kUsesMaskFilter_ );
140-
141- const DisplayListAttributeFlags DisplayListOpFlags::kDrawImageRectFlags =
142- DisplayListAttributeFlags (kIgnoresPaint_ );
143-
144- const DisplayListAttributeFlags
145- DisplayListOpFlags::kDrawImageRectWithPaintFlags =
146- DisplayListAttributeFlags (IMAGE_FLAGS_BASE | //
147- kUsesAntiAlias_ | kUsesMaskFilter_ );
148-
149- const DisplayListAttributeFlags DisplayListOpFlags::kDrawImageNineFlags =
150- DisplayListAttributeFlags (kIgnoresPaint_ );
151-
152- const DisplayListAttributeFlags
153- DisplayListOpFlags::kDrawImageNineWithPaintFlags =
154- DisplayListAttributeFlags (IMAGE_FLAGS_BASE);
155-
156- const DisplayListAttributeFlags DisplayListOpFlags::kDrawImageLatticeFlags =
157- DisplayListAttributeFlags (kIgnoresPaint_ );
158-
159- const DisplayListAttributeFlags
160- DisplayListOpFlags::kDrawImageLatticeWithPaintFlags =
161- DisplayListAttributeFlags (IMAGE_FLAGS_BASE);
162-
163- const DisplayListAttributeFlags DisplayListOpFlags::kDrawAtlasFlags =
164- DisplayListAttributeFlags (kIgnoresPaint_ );
165-
166- const DisplayListAttributeFlags DisplayListOpFlags::kDrawAtlasWithPaintFlags =
167- DisplayListAttributeFlags (IMAGE_FLAGS_BASE);
168-
169- const DisplayListAttributeFlags DisplayListOpFlags::kDrawPictureFlags =
170- DisplayListAttributeFlags (kIgnoresPaint_ );
171-
172- const DisplayListAttributeFlags DisplayListOpFlags::kDrawPictureWithPaintFlags =
173- kSaveLayerWithPaintFlags ;
174-
175- const DisplayListAttributeFlags DisplayListOpFlags::kDrawDisplayListFlags =
176- DisplayListAttributeFlags (kIgnoresPaint_ );
177-
178- const DisplayListAttributeFlags DisplayListOpFlags::kDrawTextBlobFlags =
179- DisplayListAttributeFlags (PAINT_FLAGS | STROKE_OR_FILL_FLAGS |
180- kMayHaveJoins_ )
181- .without(kUsesAntiAlias_ );
182-
183- const DisplayListAttributeFlags DisplayListOpFlags::kDrawShadowFlags =
184- DisplayListAttributeFlags (kIgnoresPaint_ );
185-
186- #undef PAINT_FLAGS
187- #undef STROKE_OR_FILL_FLAGS
188- #undef STROKE_FLAGS
189- #undef IMAGE_FLAGS_BASE
190-
19131} // namespace flutter
0 commit comments