aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkFontDescriptor.h
blob: 5febfd81a3f36dd1af26154bd0672dd74c465f76 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/*
 * Copyright 2012 Google Inc.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

#ifndef SkFontDescriptor_DEFINED
#define SkFontDescriptor_DEFINED

#include "SkString.h"
#include "SkTypeface.h"

class SkStream;
class SkWStream;

class SkFontDescriptor {
public:
    SkFontDescriptor(SkTypeface::Style = SkTypeface::kNormal);
    SkFontDescriptor(SkStream*);

    void serialize(SkWStream*);

    SkTypeface::Style getStyle() { return fStyle; }
    void setStyle(SkTypeface::Style style) { fStyle = style; }

    const char* getFamilyName() { return fFamilyName.c_str(); }
    const char* getFullName() { return fFullName.c_str(); }
    const char* getPostscriptName() { return fPostscriptName.c_str(); }
    const char* getFontFileName() { return fFontFileName.c_str(); }

    void setFamilyName(const char* name) { fFamilyName.set(name); }
    void setFullName(const char* name) { fFullName.set(name); }
    void setPostscriptName(const char* name) { fPostscriptName.set(name); }
    void setFontFileName(const char* name) { fFontFileName.set(name); }

private:
    SkString fFamilyName;
    SkString fFullName;
    SkString fPostscriptName;
    SkString fFontFileName;

    SkTypeface::Style fStyle;
};

#endif // SkFontDescriptor_DEFINED