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;