Skip to content

Commit 9290433

Browse files
authored
move definition of DLOpFlags to matching .cc file (flutter#34674)
1 parent 32c4b4b commit 9290433

File tree

2 files changed

+161
-161
lines changed

2 files changed

+161
-161
lines changed

display_list/display_list_builder.cc

Lines changed: 0 additions & 161 deletions
Original file line numberDiff line numberDiff line change
@@ -1046,165 +1046,4 @@ void DisplayListBuilder::drawShadow(const SkPath& path,
10461046
UpdateLayerOpacityCompatibility(false);
10471047
}
10481048

1049-
// clang-format off
1050-
// Flags common to all primitives that apply colors
1051-
#define PAINT_FLAGS (kUsesDither_ | \
1052-
kUsesColor_ | \
1053-
kUsesAlpha_ | \
1054-
kUsesBlend_ | \
1055-
kUsesShader_ | \
1056-
kUsesColorFilter_ | \
1057-
kUsesImageFilter_)
1058-
1059-
// Flags common to all primitives that stroke or fill
1060-
#define STROKE_OR_FILL_FLAGS (kIsDrawnGeometry_ | \
1061-
kUsesAntiAlias_ | \
1062-
kUsesMaskFilter_ | \
1063-
kUsesPathEffect_)
1064-
1065-
// Flags common to primitives that stroke geometry
1066-
#define STROKE_FLAGS (kIsStrokedGeometry_ | \
1067-
kUsesAntiAlias_ | \
1068-
kUsesMaskFilter_ | \
1069-
kUsesPathEffect_)
1070-
1071-
// Flags common to primitives that render an image with paint attributes
1072-
#define IMAGE_FLAGS_BASE (kIsNonGeometric_ | \
1073-
kUsesAlpha_ | \
1074-
kUsesDither_ | \
1075-
kUsesBlend_ | \
1076-
kUsesColorFilter_ | \
1077-
kUsesImageFilter_)
1078-
// clang-format on
1079-
1080-
const DisplayListAttributeFlags DisplayListOpFlags::kSaveLayerFlags =
1081-
DisplayListAttributeFlags(kIgnoresPaint_);
1082-
1083-
const DisplayListAttributeFlags DisplayListOpFlags::kSaveLayerWithPaintFlags =
1084-
DisplayListAttributeFlags(kIsNonGeometric_ | //
1085-
kUsesAlpha_ | //
1086-
kUsesBlend_ | //
1087-
kUsesColorFilter_ | //
1088-
kUsesImageFilter_);
1089-
1090-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawColorFlags =
1091-
DisplayListAttributeFlags(kFloodsSurface_ | kIgnoresPaint_);
1092-
1093-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawPaintFlags =
1094-
DisplayListAttributeFlags(PAINT_FLAGS | kFloodsSurface_);
1095-
1096-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawHVLineFlags =
1097-
DisplayListAttributeFlags(PAINT_FLAGS | STROKE_FLAGS | kMayHaveCaps_);
1098-
1099-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawLineFlags =
1100-
kDrawHVLineFlags.with(kMayHaveDiagonalCaps_);
1101-
1102-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawRectFlags =
1103-
DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS |
1104-
kMayHaveJoins_);
1105-
1106-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawOvalFlags =
1107-
DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS);
1108-
1109-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawCircleFlags =
1110-
DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS);
1111-
1112-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawRRectFlags =
1113-
DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS);
1114-
1115-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawDRRectFlags =
1116-
DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS);
1117-
1118-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawPathFlags =
1119-
DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS |
1120-
kMayHaveCaps_ | kMayHaveDiagonalCaps_ |
1121-
kMayHaveJoins_ | kMayHaveAcuteJoins_);
1122-
1123-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawArcNoCenterFlags =
1124-
DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS |
1125-
kMayHaveCaps_ | kMayHaveDiagonalCaps_);
1126-
1127-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawArcWithCenterFlags =
1128-
DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS |
1129-
kMayHaveJoins_ | kMayHaveAcuteJoins_);
1130-
1131-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawPointsAsPointsFlags =
1132-
DisplayListAttributeFlags(PAINT_FLAGS | STROKE_FLAGS | //
1133-
kMayHaveCaps_ | kButtCapIsSquare_);
1134-
1135-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawPointsAsLinesFlags =
1136-
DisplayListAttributeFlags(PAINT_FLAGS | STROKE_FLAGS | //
1137-
kMayHaveCaps_ | kMayHaveDiagonalCaps_);
1138-
1139-
// Polygon mode just draws (count-1) separate lines, no joins
1140-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawPointsAsPolygonFlags =
1141-
DisplayListAttributeFlags(PAINT_FLAGS | STROKE_FLAGS | //
1142-
kMayHaveCaps_ | kMayHaveDiagonalCaps_);
1143-
1144-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawVerticesFlags =
1145-
DisplayListAttributeFlags(kIsNonGeometric_ | //
1146-
kUsesDither_ | //
1147-
kUsesAlpha_ | //
1148-
kUsesShader_ | //
1149-
kUsesBlend_ | //
1150-
kUsesColorFilter_ | //
1151-
kUsesImageFilter_);
1152-
1153-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawImageFlags =
1154-
DisplayListAttributeFlags(kIgnoresPaint_);
1155-
1156-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawImageWithPaintFlags =
1157-
DisplayListAttributeFlags(IMAGE_FLAGS_BASE | //
1158-
kUsesAntiAlias_ | kUsesMaskFilter_);
1159-
1160-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawImageRectFlags =
1161-
DisplayListAttributeFlags(kIgnoresPaint_);
1162-
1163-
const DisplayListAttributeFlags
1164-
DisplayListOpFlags::kDrawImageRectWithPaintFlags =
1165-
DisplayListAttributeFlags(IMAGE_FLAGS_BASE | //
1166-
kUsesAntiAlias_ | kUsesMaskFilter_);
1167-
1168-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawImageNineFlags =
1169-
DisplayListAttributeFlags(kIgnoresPaint_);
1170-
1171-
const DisplayListAttributeFlags
1172-
DisplayListOpFlags::kDrawImageNineWithPaintFlags =
1173-
DisplayListAttributeFlags(IMAGE_FLAGS_BASE);
1174-
1175-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawImageLatticeFlags =
1176-
DisplayListAttributeFlags(kIgnoresPaint_);
1177-
1178-
const DisplayListAttributeFlags
1179-
DisplayListOpFlags::kDrawImageLatticeWithPaintFlags =
1180-
DisplayListAttributeFlags(IMAGE_FLAGS_BASE);
1181-
1182-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawAtlasFlags =
1183-
DisplayListAttributeFlags(kIgnoresPaint_);
1184-
1185-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawAtlasWithPaintFlags =
1186-
DisplayListAttributeFlags(IMAGE_FLAGS_BASE);
1187-
1188-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawPictureFlags =
1189-
DisplayListAttributeFlags(kIgnoresPaint_);
1190-
1191-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawPictureWithPaintFlags =
1192-
kSaveLayerWithPaintFlags;
1193-
1194-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawDisplayListFlags =
1195-
DisplayListAttributeFlags(kIgnoresPaint_);
1196-
1197-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawTextBlobFlags =
1198-
DisplayListAttributeFlags(PAINT_FLAGS | STROKE_OR_FILL_FLAGS |
1199-
kMayHaveJoins_)
1200-
.without(kUsesAntiAlias_);
1201-
1202-
const DisplayListAttributeFlags DisplayListOpFlags::kDrawShadowFlags =
1203-
DisplayListAttributeFlags(kIgnoresPaint_);
1204-
1205-
#undef PAINT_FLAGS
1206-
#undef STROKE_OR_FILL_FLAGS
1207-
#undef STROKE_FLAGS
1208-
#undef IMAGE_FLAGS_BASE
1209-
12101049
} // namespace flutter

display_list/display_list_flags.cc

Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,165 @@ const DisplayListSpecialGeometryFlags DisplayListAttributeFlags::WithPathEffect(
2727
return special_flags_;
2828
}
2929

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+
30191
} // namespace flutter

0 commit comments

Comments
 (0)