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

Unified Diff: src/core/SkAdvancedTypefaceMetrics.h

Issue 2246903002: SkPDF: SkPDFFont class changes (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: 2016-08-15 (Monday) 21:25:47 EDT Created 4 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
« no previous file with comments | « include/private/SkBitmaskEnum.h ('k') | src/core/SkTypeface.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/core/SkAdvancedTypefaceMetrics.h
diff --git a/src/core/SkAdvancedTypefaceMetrics.h b/src/core/SkAdvancedTypefaceMetrics.h
index 1b490e0199300d6671dd428835900172a9f31a6b..17255ab217abfd74e9628b7f492f16ac9312301c 100644
--- a/src/core/SkAdvancedTypefaceMetrics.h
+++ b/src/core/SkAdvancedTypefaceMetrics.h
@@ -5,16 +5,14 @@
* found in the LICENSE file.
*/
-
#ifndef SkAdvancedTypefaceMetrics_DEFINED
#define SkAdvancedTypefaceMetrics_DEFINED
+#include "SkBitmaskEnum.h"
#include "SkRect.h"
#include "SkRefCnt.h"
#include "SkString.h"
#include "SkTDArray.h"
-#include "SkTemplates.h"
-#include "SkSinglyLinkedList.h"
/** \class SkAdvancedTypefaceMetrics
@@ -22,16 +20,15 @@
embed typefaces. This class is created and filled in with information by
SkTypeface::getAdvancedTypefaceMetrics.
*/
-
class SkAdvancedTypefaceMetrics : public SkRefCnt {
public:
SkAdvancedTypefaceMetrics()
: fType(SkAdvancedTypefaceMetrics::kOther_Font)
- , fFlags(SkAdvancedTypefaceMetrics::kEmpty_FontFlag)
+ , fFlags((FontFlags)0)
, fLastGlyphID(0)
, fEmSize(0)
- , fStyle(0)
+ , fStyle((StyleFlags)0)
, fItalicAngle(0)
, fAscent(0)
, fDescent(0)
@@ -43,7 +40,7 @@ public:
SkString fFontName;
- enum FontType {
+ enum FontType : uint8_t {
kType1_Font,
kType1CID_Font,
kCFF_Font,
@@ -55,29 +52,28 @@ public:
// information will never be populated.
FontType fType;
- enum FontFlags {
- kEmpty_FontFlag = 0x0, //!<No flags set
- kMultiMaster_FontFlag = 0x1, //!<May be true for Type1, CFF, or TrueType fonts.
- kNotEmbeddable_FontFlag = 0x2, //!<May not be embedded.
- kNotSubsettable_FontFlag = 0x4, //!<May not be subset.
+ enum FontFlags : uint8_t {
+ kMultiMaster_FontFlag = 0x01, //!<May be true for Type1, CFF, or TrueType fonts.
+ kNotEmbeddable_FontFlag = 0x02, //!<May not be embedded.
+ kNotSubsettable_FontFlag = 0x04, //!<May not be subset.
};
- // Global font flags.
- FontFlags fFlags;
+ FontFlags fFlags; // Global font flags.
uint16_t fLastGlyphID; // The last valid glyph ID in the font.
uint16_t fEmSize; // The size of the em box (defines font units).
// These enum values match the values used in the PDF file format.
- enum StyleFlags {
- kFixedPitch_Style = 0x00001,
- kSerif_Style = 0x00002,
- kScript_Style = 0x00008,
- kItalic_Style = 0x00040,
- kAllCaps_Style = 0x10000,
- kSmallCaps_Style = 0x20000,
- kForceBold_Style = 0x40000
+ enum StyleFlags : uint32_t {
+ kFixedPitch_Style = 0x00000001,
+ kSerif_Style = 0x00000002,
+ kScript_Style = 0x00000008,
+ kItalic_Style = 0x00000040,
+ kAllCaps_Style = 0x00010000,
+ kSmallCaps_Style = 0x00020000,
+ kForceBold_Style = 0x00040000
};
- uint16_t fStyle; // Font style characteristics.
+ StyleFlags fStyle; // Font style characteristics.
+
int16_t fItalicAngle; // Counterclockwise degrees from vertical of the
// dominant vertical stroke for an Italic face.
// The following fields are all in font units.
@@ -99,5 +95,9 @@ private:
typedef SkRefCnt INHERITED;
};
+namespace skstd {
+template <> struct is_bitmask_enum<SkAdvancedTypefaceMetrics::FontFlags> : std::true_type {};
+template <> struct is_bitmask_enum<SkAdvancedTypefaceMetrics::StyleFlags> : std::true_type {};
+}
#endif
« no previous file with comments | « include/private/SkBitmaskEnum.h ('k') | src/core/SkTypeface.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698