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

Side by Side Diff: src/core/SkFontDescriptor.h

Issue 567013002: Serialize the font index. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Move data into descriptor. Created 6 years, 3 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
1 /* 1 /*
2 * Copyright 2012 Google Inc. 2 * Copyright 2012 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #ifndef SkFontDescriptor_DEFINED 8 #ifndef SkFontDescriptor_DEFINED
9 #define SkFontDescriptor_DEFINED 9 #define SkFontDescriptor_DEFINED
10 10
11 #include "SkStream.h"
11 #include "SkString.h" 12 #include "SkString.h"
12 #include "SkTypeface.h" 13 #include "SkTypeface.h"
13 14
14 class SkStream;
15 class SkWStream; 15 class SkWStream;
16 16
17 class SkFontDescriptor { 17 class SkFontDescriptor {
18 public: 18 public:
19 SkFontDescriptor(SkTypeface::Style = SkTypeface::kNormal); 19 SkFontDescriptor(SkTypeface::Style = SkTypeface::kNormal);
20 SkFontDescriptor(SkStream*); 20 SkFontDescriptor(SkStream*);
21 21
22 void serialize(SkWStream*); 22 void serialize(SkWStream*);
23 23
24 SkTypeface::Style getStyle() { return fStyle; } 24 SkTypeface::Style getStyle() { return fStyle; }
25 void setStyle(SkTypeface::Style style) { fStyle = style; } 25 void setStyle(SkTypeface::Style style) { fStyle = style; }
26 26
27 const char* getFamilyName() { return fFamilyName.c_str(); } 27 const char* getFamilyName() const { return fFamilyName.c_str(); }
28 const char* getFullName() { return fFullName.c_str(); } 28 const char* getFullName() const { return fFullName.c_str(); }
29 const char* getPostscriptName() { return fPostscriptName.c_str(); } 29 const char* getPostscriptName() const { return fPostscriptName.c_str(); }
30 const char* getFontFileName() { return fFontFileName.c_str(); } 30 const char* getFontFileName() const { return fFontFileName.c_str(); }
31 SkStream* getFontData() const { return fFontData; }
32 int getFontIndex() const { return fFontIndex; }
31 33
32 void setFamilyName(const char* name) { fFamilyName.set(name); } 34 void setFamilyName(const char* name) { fFamilyName.set(name); }
33 void setFullName(const char* name) { fFullName.set(name); } 35 void setFullName(const char* name) { fFullName.set(name); }
34 void setPostscriptName(const char* name) { fPostscriptName.set(name); } 36 void setPostscriptName(const char* name) { fPostscriptName.set(name); }
35 void setFontFileName(const char* name) { fFontFileName.set(name); } 37 void setFontFileName(const char* name) { fFontFileName.set(name); }
38 /** Set the font data only if it is necessary for serialization.
39 * This method takes ownership of the stream (both reference and cursor).
40 */
41 void setFontData(SkStream* stream) { fFontData.reset(stream); }
42 void setFontIndex(int index) { fFontIndex = index; }
36 43
37 private: 44 private:
38 SkString fFamilyName; 45 SkString fFamilyName;
39 SkString fFullName; 46 SkString fFullName;
40 SkString fPostscriptName; 47 SkString fPostscriptName;
41 SkString fFontFileName; 48 SkString fFontFileName;
49 SkAutoTUnref<SkStream> fFontData;
50 int fFontIndex;
42 51
43 SkTypeface::Style fStyle; 52 SkTypeface::Style fStyle;
44 }; 53 };
45 54
46 #endif // SkFontDescriptor_DEFINED 55 #endif // SkFontDescriptor_DEFINED
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698