Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(387)

Unified Diff: src/ports/SkFontConfigParser_android.h

Issue 447873003: Remove SkPaintOptionsAndroid (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: typo Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/ports/SkFontConfigParser_android.h
diff --git a/src/ports/SkFontConfigParser_android.h b/src/ports/SkFontConfigParser_android.h
index 40b645287a4039d7a2d885fccb147c0fe0e36a5f..117a1086fb90872303f467f9152f223d8ad18319 100644
--- a/src/ports/SkFontConfigParser_android.h
+++ b/src/ports/SkFontConfigParser_android.h
@@ -8,18 +8,62 @@
#ifndef SKFONTCONFIGPARSER_ANDROID_H_
#define SKFONTCONFIGPARSER_ANDROID_H_
-#include "SkTypes.h"
-
-#include "SkPaintOptionsAndroid.h"
#include "SkString.h"
#include "SkTDArray.h"
+/** \class SkLanguage
+
+ The SkLanguage class represents a human written language, and is used by
+ text draw operations to determine which glyph to draw when drawing
+ characters with variants (ie Han-derived characters).
+*/
+class SkLanguage {
+public:
+ SkLanguage() { }
+ SkLanguage(const SkString& tag) : fTag(tag) { }
+ SkLanguage(const char* tag) : fTag(tag) { }
+ SkLanguage(const char* tag, size_t len) : fTag(tag, len) { }
+ SkLanguage(const SkLanguage& b) : fTag(b.fTag) { }
+
+ /** Gets a BCP 47 language identifier for this SkLanguage.
+ @return a BCP 47 language identifier representing this language
+ */
+ const SkString& getTag() const { return fTag; }
+
+ /** Performs BCP 47 fallback to return an SkLanguage one step more general.
+ @return an SkLanguage one step more general
+ */
+ SkLanguage getParent() const;
+
+ bool operator==(const SkLanguage& b) const {
+ return fTag == b.fTag;
+ }
+ bool operator!=(const SkLanguage& b) const {
+ return fTag != b.fTag;
+ }
+ SkLanguage& operator=(const SkLanguage& b) {
+ fTag = b.fTag;
+ return *this;
+ }
+
+private:
+ //! BCP 47 language identifier
+ SkString fTag;
+};
+
+enum FontVariants {
+ kDefault_FontVariant = 0x01,
+ kCompact_FontVariant = 0x02,
+ kElegant_FontVariant = 0x04,
+ kLast_FontVariant = kElegant_FontVariant,
+};
+typedef uint32_t FontVariant;
tomhudson 2014/08/13 19:52:28 Why are these a bitfield masquerading as an enum?
djsollen 2014/08/13 20:00:22 The initial intent was to match the values used by
+
struct FontFileInfo {
FontFileInfo() : fIndex(0), fWeight(0) { }
SkString fFileName;
int fIndex;
- SkPaintOptionsAndroid fPaintOptions;
int fWeight;
};
@@ -32,14 +76,14 @@ struct FontFileInfo {
*/
struct FontFamily {
FontFamily()
- : fVariant(SkPaintOptionsAndroid::kDefault_Variant)
+ : fVariant(kDefault_FontVariant)
, fOrder(-1)
, fIsFallbackFont(false) { }
SkTArray<SkString> fNames;
SkTArray<FontFileInfo> fFonts;
SkLanguage fLanguage;
- SkPaintOptionsAndroid::FontVariant fVariant;
+ FontVariant fVariant;
int fOrder; // internal to SkFontConfigParser
bool fIsFallbackFont;
};

Powered by Google App Engine
This is Rietveld 408576698