180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru/*
280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru * Copyright 2012 Google Inc.
380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru *
480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru * Use of this source code is governed by a BSD-style license that can be
580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru * found in the LICENSE file.
680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru */
780bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
880bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#ifndef SkFontDescriptor_DEFINED
980bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#define SkFontDescriptor_DEFINED
1080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
1180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#include "SkString.h"
1280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#include "SkTypeface.h"
1380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
1480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queruclass SkStream;
1580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queruclass SkWStream;
1680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
1780bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queruclass SkFontDescriptor {
1880bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Querupublic:
1980bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    SkFontDescriptor(SkTypeface::Style = SkTypeface::kNormal);
2080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    SkFontDescriptor(SkStream*);
2180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
2280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    void serialize(SkWStream*);
2380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
2480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    SkTypeface::Style getStyle() { return fStyle; }
2580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    void setStyle(SkTypeface::Style style) { fStyle = style; }
2680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
2780bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    const char* getFamilyName() { return fFamilyName.c_str(); }
2880bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    const char* getFullName() { return fFullName.c_str(); }
2980bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    const char* getPostscriptName() { return fPostscriptName.c_str(); }
3080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    const char* getFontFileName() { return fFontFileName.c_str(); }
3180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
3280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    void setFamilyName(const char* name) { fFamilyName.set(name); }
3380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    void setFullName(const char* name) { fFullName.set(name); }
3480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    void setPostscriptName(const char* name) { fPostscriptName.set(name); }
3580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    void setFontFileName(const char* name) { fFontFileName.set(name); }
3680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
3780bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queruprivate:
3880bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    SkString fFamilyName;
3980bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    SkString fFullName;
4080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    SkString fPostscriptName;
4180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    SkString fFontFileName;
4280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
4380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    SkTypeface::Style fStyle;
4480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru};
4580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
4680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#endif // SkFontDescriptor_DEFINED
47