hide hinting and flag enums with PAINT_FLAGS

A preflight for https://skia-review.googlesource.com/c/skia/+/185460

Bug: skia:2664
Change-Id: I83f7f9cd500e8507b559462835477ba8ae7c11ab
Reviewed-on: https://skia-review.googlesource.com/c/185540
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
diff --git a/include/core/SkPaint.h b/include/core/SkPaint.h
index 057f145..10725ea 100644
--- a/include/core/SkPaint.h
+++ b/include/core/SkPaint.h
@@ -183,6 +183,7 @@
     */
     void reset();
 
+#ifdef SK_SUPPORT_LEGACY_PAINT_FLAGS
     /** Sets level of glyph outline adjustment.
         Does not check for valid values of hintingLevel.
 
@@ -227,7 +228,6 @@
     };
     #endif
 
-#ifdef SK_SUPPORT_LEGACY_PAINT_FLAGS
     /** Returns paint settings described by SkPaint::Flags. Each setting uses one
         bit, and can be tested with SkPaint::Flags members.
 
@@ -250,7 +250,7 @@
         @return  kAntiAlias_Flag state
     */
     bool isAntiAlias() const {
-        return SkToBool(this->internal_getFlags() & kAntiAlias_Flag);
+        return SkToBool(this->internal_getFlags() & 1);
     }
 
     /** Requests, but does not require, that edge pixels draw opaque or with
@@ -270,7 +270,7 @@
         @return  kDither_Flag state
     */
     bool isDither() const {
-        return SkToBool(this->internal_getFlags() & kDither_Flag);
+        return SkToBool(this->internal_getFlags() & 4);
     }
 
     /** Requests, but does not require, to distribute color error.
diff --git a/src/core/SkPaint.cpp b/src/core/SkPaint.cpp
index bc99ff3..ca92173 100644
--- a/src/core/SkPaint.cpp
+++ b/src/core/SkPaint.cpp
@@ -196,22 +196,22 @@
     fBitfields.fFilterQuality = quality;
 }
 
+#ifdef SK_SUPPORT_LEGACY_PAINT_FLAGS
 void SkPaint::setHinting(SkFontHinting hintingLevel) {
     fBitfields.fHinting = static_cast<unsigned>(hintingLevel);
 }
 
-#ifdef SK_SUPPORT_LEGACY_PAINT_FLAGS
 void SkPaint::setFlags(uint32_t flags) {
     fBitfields.fFlags = flags;
 }
 #endif
 
 void SkPaint::setAntiAlias(bool doAA) {
-    this->internal_setFlags(set_clear_mask(fBitfields.fFlags, doAA, kAntiAlias_Flag));
+    this->internal_setFlags(set_clear_mask(fBitfields.fFlags, doAA, 1));
 }
 
 void SkPaint::setDither(bool doDither) {
-    this->internal_setFlags(set_clear_mask(fBitfields.fFlags, doDither, kDither_Flag));
+    this->internal_setFlags(set_clear_mask(fBitfields.fFlags, doDither, 4));
 }
 
 #ifdef SK_SUPPORT_LEGACY_PAINT_FONT_FIELDS
@@ -437,7 +437,9 @@
         }
     }
 
+#ifdef SK_SUPPORT_LEGACY_PAINT_FLAGS
     paint->setHinting((SkFontHinting)((packed >> 14) & BPF_Mask(kHint_BPF)));
+#endif
     paint->setFilterQuality((SkFilterQuality)((packed >> 10) & BPF_Mask(kFilter_BPF)));
     return (FlatFlags)(packed & kFlatFlagMask);
 }
diff --git a/tests/PDFTaggedTest.cpp b/tests/PDFTaggedTest.cpp
index 5815ba3..606be06 100644
--- a/tests/PDFTaggedTest.cpp
+++ b/tests/PDFTaggedTest.cpp
@@ -99,7 +99,6 @@
 
     SkPaint paint;
     paint.setColor(SK_ColorBLACK);
-    paint.setHinting(kNo_SkFontHinting);
 
     // First page.
     SkCanvas* canvas =
@@ -107,6 +106,7 @@
                                 pageSize.height());
     SkPDF::SetNodeId(canvas, 2);
     SkFont font(nullptr, 36);
+    font.setHinting(kNo_SkFontHinting);
     const char* message = "This is the title";
     canvas->translate(72, 72);
     canvas->drawString(message, 0, 0, font, paint);
diff --git a/tests/PaintTest.cpp b/tests/PaintTest.cpp
index 5ceb8a3..b9b6651 100644
--- a/tests/PaintTest.cpp
+++ b/tests/PaintTest.cpp
@@ -310,13 +310,13 @@
     REPORTER_ASSERT(r, paint.getHash() != defaultHash);
     paint.setTypeface(nullptr);
     REPORTER_ASSERT(r, paint.getHash() == defaultHash);
-#endif
 
     // This is part of fBitfields, the last field we hash.
     paint.setHinting(kSlight_SkFontHinting);
     REPORTER_ASSERT(r, paint.getHash() != defaultHash);
     paint.setHinting(kNormal_SkFontHinting);
     REPORTER_ASSERT(r, paint.getHash() == defaultHash);
+#endif
 }
 
 #include "SkColorMatrixFilter.h"
diff --git a/tools/viewer/Viewer.cpp b/tools/viewer/Viewer.cpp
index 0f5216d..6d8e3b3 100644
--- a/tools/viewer/Viewer.cpp
+++ b/tools/viewer/Viewer.cpp
@@ -52,6 +52,11 @@
     #include "NIMASlide.h"
 #endif
 
+enum PaintFlags {
+    kAntiAlias_PaintFlag = 1 << 0,
+    kDither_PaintFlag    = 1 << 1,
+};
+
 using namespace sk_app;
 
 static std::map<GpuPathRenderers, std::string> gPathRendererNames;
@@ -380,9 +385,9 @@
         fWindow->inval();
     });
     fCommands.addCommand('A', "Paint", "Antialias Mode", [this]() {
-        if (!(fPaintOverrides.fFlags & SkPaint::kAntiAlias_Flag)) {
+        if (!(fPaintOverrides.fFlags & kAntiAlias_PaintFlag)) {
             fPaintOverrides.fAntiAlias = SkPaintFields::AntiAliasState::Alias;
-            fPaintOverrides.fFlags |= SkPaint::kAntiAlias_Flag;
+            fPaintOverrides.fFlags |= kAntiAlias_PaintFlag;
             fPaint.setAntiAlias(false);
             gSkUseAnalyticAA = gSkForceAnalyticAA = false;
             gSkUseDeltaAA = gSkForceDeltaAA = false;
@@ -418,7 +423,7 @@
                     break;
                 case SkPaintFields::AntiAliasState::DeltaAAForced:
                     fPaintOverrides.fAntiAlias = SkPaintFields::AntiAliasState::Alias;
-                    fPaintOverrides.fFlags &= ~SkPaint::kAntiAlias_Flag;
+                    fPaintOverrides.fFlags &= ~kAntiAlias_PaintFlag;
                     gSkUseAnalyticAA = fPaintOverrides.fOriginalSkUseAnalyticAA;
                     gSkForceAnalyticAA = fPaintOverrides.fOriginalSkForceAnalyticAA;
                     gSkUseDeltaAA = fPaintOverrides.fOriginalSkUseDeltaAA;
@@ -699,7 +704,7 @@
     }
 
     SkPaintTitleUpdater paintTitle(&title);
-    auto paintFlag = [this, &paintTitle](SkPaint::Flags flag, bool (SkPaint::* isFlag)() const,
+    auto paintFlag = [this, &paintTitle](PaintFlags flag, bool (SkPaint::* isFlag)() const,
                                          const char* on, const char* off)
     {
         if (fPaintOverrides.fFlags & flag) {
@@ -707,18 +712,8 @@
         }
     };
 
-    paintFlag(SkPaint::kAntiAlias_Flag, &SkPaint::isAntiAlias, "Antialias", "Alias");
-    paintFlag(SkPaint::kDither_Flag, &SkPaint::isDither, "DITHER", "No Dither");
-#if 0
-    paintFlag(SkPaint::kFakeBoldText_Flag, &SkPaint::isFakeBoldText, "Fake Bold", "No Fake Bold");
-    paintFlag(SkPaint::kLinearText_Flag, &SkPaint::isLinearText, "Linear Text", "Non-Linear Text");
-    paintFlag(SkPaint::kSubpixelText_Flag, &SkPaint::isSubpixelText, "Subpixel Text", "Pixel Text");
-    paintFlag(SkPaint::kLCDRenderText_Flag, &SkPaint::isLCDRenderText, "LCD", "lcd");
-    paintFlag(SkPaint::kEmbeddedBitmapText_Flag, &SkPaint::isEmbeddedBitmapText,
-              "Bitmap Text", "No Bitmap Text");
-    paintFlag(SkPaint::kAutoHinting_Flag, &SkPaint::isAutohinted,
-              "Force Autohint", "No Force Autohint");
-#endif
+    paintFlag(kAntiAlias_PaintFlag, &SkPaint::isAntiAlias, "Antialias", "Alias");
+    paintFlag(kAntiAlias_PaintFlag, &SkPaint::isDither, "DITHER", "No Dither");
 
     if (fFontOverrides.fHinting) {
         switch (fFont.getHinting()) {
@@ -1050,39 +1045,16 @@
         if (fFontOverrides->fHinting) {
             font->writable()->setHinting(fFont->getHinting());
         }
-#if 0
-        if (fFontOverrides->fFlags & SkPaint::kAntiAlias_Flag) {
-            paint->writable()->setAntiAlias(fPaint->isAntiAlias());
-        }
-        if (fFontOverrides->fFlags & SkPaint::kFakeBoldText_Flag) {
-            paint->writable()->setFakeBoldText(fPaint->isFakeBoldText());
-        }
-        if (fFontOverrides->fFlags & SkPaint::kLinearText_Flag) {
-            paint->writable()->setLinearText(fPaint->isLinearText());
-        }
-        if (fFontOverrides->fFlags & SkPaint::kSubpixelText_Flag) {
-            paint->writable()->setSubpixelText(fPaint->isSubpixelText());
-        }
-        if (fFontOverrides->fFlags & SkPaint::kLCDRenderText_Flag) {
-            paint->writable()->setLCDRenderText(fPaint->isLCDRenderText());
-        }
-        if (fFontOverrides->fFlags & SkPaint::kEmbeddedBitmapText_Flag) {
-            paint->writable()->setEmbeddedBitmapText(fPaint->isEmbeddedBitmapText());
-        }
-        if (fFontOverrides->fFlags & SkPaint::kAutoHinting_Flag) {
-            paint->writable()->setAutohinted(fPaint->isAutohinted());
-        }
-#endif
         return true;
     }
     bool onFilter(SkTCopyOnFirstWrite<SkPaint>* paint, Type) const override {
         if (*paint == nullptr) {
             return true;
         }
-        if (fPaintOverrides->fFlags & SkPaint::kAntiAlias_Flag) {
+        if (fPaintOverrides->fFlags & kAntiAlias_PaintFlag) {
             paint->writable()->setAntiAlias(fPaint->isAntiAlias());
         }
-        if (fPaintOverrides->fFlags & SkPaint::kDither_Flag) {
+        if (fPaintOverrides->fFlags & kDither_PaintFlag) {
             paint->writable()->setDither(fPaint->isDither());
         }
         return true;
@@ -1646,7 +1618,7 @@
                 }
 
                 int aliasIdx = 0;
-                if (fPaintOverrides.fFlags & SkPaint::kAntiAlias_Flag) {
+                if (fPaintOverrides.fFlags & kAntiAlias_PaintFlag) {
                     aliasIdx = SkTo<int>(fPaintOverrides.fAntiAlias) + 1;
                 }
                 if (ImGui::Combo("Anti-Alias", &aliasIdx,
@@ -1659,9 +1631,9 @@
                     gSkForceDeltaAA = fPaintOverrides.fOriginalSkForceDeltaAA;
                     if (aliasIdx == 0) {
                         fPaintOverrides.fAntiAlias = SkPaintFields::AntiAliasState::Alias;
-                        fPaintOverrides.fFlags &= ~SkPaint::kAntiAlias_Flag;
+                        fPaintOverrides.fFlags &= ~kAntiAlias_PaintFlag;
                     } else {
-                        fPaintOverrides.fFlags |= SkPaint::kAntiAlias_Flag;
+                        fPaintOverrides.fFlags |= kAntiAlias_PaintFlag;
                         fPaintOverrides.fAntiAlias =SkTo<SkPaintFields::AntiAliasState>(aliasIdx-1);
                         fPaint.setAntiAlias(aliasIdx > 1);
                         switch (fPaintOverrides.fAntiAlias) {
@@ -1693,7 +1665,7 @@
                 }
 
                 auto paintFlag = [this, &paramsChanged](const char* label, const char* items,
-                                                        SkPaint::Flags flag,
+                                                        PaintFlags flag,
                                                         bool (SkPaint::* isFlag)() const,
                                                         void (SkPaint::* setFlag)(bool) )
                 {
@@ -1714,39 +1686,8 @@
 
                 paintFlag("Dither",
                           "Default\0No Dither\0Dither\0\0",
-                          SkPaint::kDither_Flag,
+                          kDither_PaintFlag,
                           &SkPaint::isDither, &SkPaint::setDither);
-#if 0
-                paintFlag("Fake Bold Glyphs",
-                          "Default\0No Fake Bold\0Fake Bold\0\0",
-                          SkPaint::kFakeBoldText_Flag,
-                          &SkPaint::isFakeBoldText, &SkPaint::setFakeBoldText);
-
-                paintFlag("Linear Text",
-                          "Default\0No Linear Text\0Linear Text\0\0",
-                          SkPaint::kLinearText_Flag,
-                          &SkPaint::isLinearText, &SkPaint::setLinearText);
-
-                paintFlag("Subpixel Position Glyphs",
-                          "Default\0Pixel Text\0Subpixel Text\0\0",
-                          SkPaint::kSubpixelText_Flag,
-                          &SkPaint::isSubpixelText, &SkPaint::setSubpixelText);
-
-                paintFlag("Subpixel Anti-Alias",
-                          "Default\0lcd\0LCD\0\0",
-                          SkPaint::kLCDRenderText_Flag,
-                          &SkPaint::isLCDRenderText, &SkPaint::setLCDRenderText);
-
-                paintFlag("Embedded Bitmap Text",
-                          "Default\0No Embedded Bitmaps\0Embedded Bitmaps\0\0",
-                          SkPaint::kEmbeddedBitmapText_Flag,
-                          &SkPaint::isEmbeddedBitmapText, &SkPaint::setEmbeddedBitmapText);
-
-                paintFlag("Force Auto-Hinting",
-                          "Default\0No Force Auto-Hinting\0Force Auto-Hinting\0\0",
-                          SkPaint::kAutoHinting_Flag,
-                          &SkPaint::isAutohinted, &SkPaint::setAutohinted);
-#endif
                 ImGui::Checkbox("Override TextSize", &fFontOverrides.fTextSize);
                 if (fFontOverrides.fTextSize) {
                     ImGui::DragFloat2("TextRange", fFontOverrides.fTextSizeRange,