change SkTextEncoding to enum class

Bug: skia:
Change-Id: I3ea2792a49ca93fdd4bba686c63047727372f88b
Reviewed-on: https://skia-review.googlesource.com/c/170880
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
diff --git a/include/core/SkFontTypes.h b/include/core/SkFontTypes.h
index ed7e157..87276d9 100644
--- a/include/core/SkFontTypes.h
+++ b/include/core/SkFontTypes.h
@@ -11,12 +11,28 @@
 #include "SkScalar.h"
 #include "SkTypeface.h"
 
+// TODO: add to clients, and then remove from here.
+#define SK_SUPPORT_LEGACY_TEXTENCODINGENUM
+
+#ifdef SK_SUPPORT_LEGACY_TEXTENCODINGENUM
 enum SkTextEncoding : uint8_t {
     kUTF8_SkTextEncoding,
     kUTF16_SkTextEncoding,
     kUTF32_SkTextEncoding,
     kGlyphID_SkTextEncoding,
 };
+#else
+enum class SkTextEncoding {
+    kUTF8,
+    kUTF16,
+    kUTF32,
+    kGlyphID,
+};
+#define kUTF8_SkTextEncoding    SkTextEncoding::kUTF8
+#define kUTF16_SkTextEncoding   SkTextEncoding::kUTF16
+#define kUTF32_SkTextEncoding   SkTextEncoding::kUTF32
+#define kGlyphID_SkTextEncoding SkTextEncoding::kGlyphID
+#endif
 
 #ifdef SK_SUPPORT_LEGACY_NONCLASS_HINTINGENUM
 enum SkFontHinting : uint8_t {
diff --git a/src/core/SkPaint_text.cpp b/src/core/SkPaint_text.cpp
index 7e2d2d2..33e9091 100644
--- a/src/core/SkPaint_text.cpp
+++ b/src/core/SkPaint_text.cpp
@@ -263,7 +263,7 @@
         sk_getAdvance_glyph_next,
     };
 
-    unsigned index = encoding;
+    unsigned index = static_cast<unsigned>(encoding);
 
     if (!needFullMetrics) {
         index += 4;