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

Side by Side Diff: include/core/SkPaintOptionsAndroid.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 unified diff | Download patch
OLDNEW
(Empty)
1
2 /*
3 * Copyright 2012 The Android Open Source Project
4 *
5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
7 */
8
9
10 #ifndef SkPaintOptionsAndroid_DEFINED
11 #define SkPaintOptionsAndroid_DEFINED
12
13 #include "SkTypes.h"
14 #include "SkString.h"
15
16 class SkReadBuffer;
17 class SkWriteBuffer;
18
19 /** \class SkLanguage
20
21 The SkLanguage class represents a human written language, and is used by
22 text draw operations to determine which glyph to draw when drawing
23 characters with variants (ie Han-derived characters).
24 */
25 class SkLanguage {
26 public:
27 SkLanguage() { }
28 SkLanguage(const SkString& tag) : fTag(tag) { }
29 SkLanguage(const char* tag) : fTag(tag) { }
30 SkLanguage(const char* tag, size_t len) : fTag(tag, len) { }
31 SkLanguage(const SkLanguage& b) : fTag(b.fTag) { }
32
33 /** Gets a BCP 47 language identifier for this SkLanguage.
34 @return a BCP 47 language identifier representing this language
35 */
36 const SkString& getTag() const { return fTag; }
37
38 /** Performs BCP 47 fallback to return an SkLanguage one step more general.
39 @return an SkLanguage one step more general
40 */
41 SkLanguage getParent() const;
42
43 bool operator==(const SkLanguage& b) const {
44 return fTag == b.fTag;
45 }
46 bool operator!=(const SkLanguage& b) const {
47 return fTag != b.fTag;
48 }
49 SkLanguage& operator=(const SkLanguage& b) {
50 fTag = b.fTag;
51 return *this;
52 }
53
54 private:
55 //! BCP 47 language identifier
56 SkString fTag;
57 };
58
59 class SkPaintOptionsAndroid {
60 public:
61 SkPaintOptionsAndroid() {
62 fFontVariant = kDefault_Variant;
63 }
64
65 SkPaintOptionsAndroid& operator=(const SkPaintOptionsAndroid& b) {
66 fLanguage = b.fLanguage;
67 fFontVariant = b.fFontVariant;
68 return *this;
69 }
70
71 bool operator==(const SkPaintOptionsAndroid& b) const {
72 return !(*this != b);
73 }
74
75 bool operator!=(const SkPaintOptionsAndroid& b) const {
76 return fLanguage != b.fLanguage ||
77 fFontVariant != b.fFontVariant;
78 }
79
80 void flatten(SkWriteBuffer&) const;
81 void unflatten(SkReadBuffer&);
82
83 /** Return the paint's language value used for drawing text.
84 @return the paint's language value used for drawing text.
85 */
86 const SkLanguage& getLanguage() const { return fLanguage; }
87
88 /** Set the paint's language value used for drawing text.
89 @param language set the paint's language value for drawing text.
90 */
91 void setLanguage(const SkLanguage& language) { fLanguage = language; }
92 void setLanguage(const char* languageTag) { fLanguage = SkLanguage(languageT ag); }
93
94
95 enum FontVariant {
96 kDefault_Variant = 0x01,
97 kCompact_Variant = 0x02,
98 kElegant_Variant = 0x04,
99 kLast_Variant = kElegant_Variant,
100 };
101
102 /** Return the font variant
103 @return the font variant used by this paint object
104 */
105 FontVariant getFontVariant() const { return fFontVariant; }
106
107 /** Set the font variant
108 @param fontVariant set the paint's font variant for choosing fonts
109 */
110 void setFontVariant(FontVariant fontVariant) {
111 SkASSERT((unsigned)fontVariant <= kLast_Variant);
112 fFontVariant = fontVariant;
113 }
114
115 private:
116 SkLanguage fLanguage;
117 FontVariant fFontVariant;
118 };
119
120 #endif // #ifndef SkPaintOptionsAndroid_DEFINED
OLDNEW
« no previous file with comments | « include/core/SkPaint.h ('k') | include/core/SkPicture.h » ('j') | src/core/SkPaint.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698