Update GrAtlasTextOp::MaskType to enum class
Change-Id: I16a5938f5156fac2e93b8cd0b2a8e2ed45b46386
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/330938
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
diff --git a/src/gpu/ops/GrAtlasTextOp.cpp b/src/gpu/ops/GrAtlasTextOp.cpp
index ec175c7..e90f21d 100644
--- a/src/gpu/ops/GrAtlasTextOp.cpp
+++ b/src/gpu/ops/GrAtlasTextOp.cpp
@@ -118,26 +118,30 @@
GrClampType clampType) {
GrProcessorAnalysisCoverage coverage;
GrProcessorAnalysisColor color;
- if (kColorBitmapMask_MaskType == fMaskType) {
+ if (fMaskType == MaskType::kColorBitmap) {
color.setToUnknown();
} else {
+ // finalize() is called before any merging is done, so at this point there's at most one
+ // Geometry with a color. Later, for non-bitmap ops, we may have mixed colors.
color.setToConstant(this->color());
}
+
switch (fMaskType) {
- case kGrayscaleCoverageMask_MaskType:
- case kAliasedDistanceField_MaskType:
- case kGrayscaleDistanceField_MaskType:
+ case MaskType::kGrayscaleCoverage:
+ case MaskType::kAliasedDistanceField:
+ case MaskType::kGrayscaleDistanceField:
coverage = GrProcessorAnalysisCoverage::kSingleChannel;
break;
- case kLCDCoverageMask_MaskType:
- case kLCDDistanceField_MaskType:
- case kLCDBGRDistanceField_MaskType:
+ case MaskType::kLCDCoverage:
+ case MaskType::kLCDDistanceField:
+ case MaskType::kLCDBGRDistanceField:
coverage = GrProcessorAnalysisCoverage::kLCD;
break;
- case kColorBitmapMask_MaskType:
+ case MaskType::kColorBitmap:
coverage = GrProcessorAnalysisCoverage::kNone;
break;
}
+
auto analysis = fProcessors.finalize(
color, coverage, clip, &GrUserStencilSettings::kUnused, hasMixedSampledCoverage, caps,
clampType, &fGeoData[0].fColor);
@@ -367,7 +371,7 @@
return CombineResult::kCannotCombine;
}
} else {
- if (kColorBitmapMask_MaskType == fMaskType && this->color() != that->color()) {
+ if (fMaskType == MaskType::kColorBitmap && this->color() != that->color()) {
return CombineResult::kCannotCombine;
}
}
@@ -437,7 +441,7 @@
} else {
#ifdef SK_GAMMA_APPLY_TO_A8
float correction = 0;
- if (kAliasedDistanceField_MaskType != fMaskType) {
+ if (fMaskType != MaskType::kAliasedDistanceField) {
U8CPU lum = SkColorSpaceLuminance::computeLuminance(SK_GAMMA_EXPONENT,
fLuminanceColor);
correction = dfAdjustTable->getAdjustment(lum >> kDistanceAdjustLumShift,
@@ -528,5 +532,3 @@
}
#endif
-
-