| Index: src/ports/SkFontConfigTypeface.h
 | 
| diff --git a/src/ports/SkFontConfigTypeface.h b/src/ports/SkFontConfigTypeface.h
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..71f80b7318834693145e29fe919b21b76546eb6e
 | 
| --- /dev/null
 | 
| +++ b/src/ports/SkFontConfigTypeface.h
 | 
| @@ -0,0 +1,63 @@
 | 
| +/*
 | 
| + * Copyright 2013 Google Inc.
 | 
| + *
 | 
| + * Use of this source code is governed by a BSD-style license that can be
 | 
| + * found in the LICENSE file.
 | 
| + */
 | 
| +
 | 
| +#include "SkFontConfigInterface.h"
 | 
| +#include "SkFontHost_FreeType_common.h"
 | 
| +#include "SkTypefaceCache.h"
 | 
| +
 | 
| +class SkFontDescriptor;
 | 
| +class SkStream;
 | 
| +
 | 
| +class FontConfigTypeface : public SkTypeface_FreeType {
 | 
| +    SkFontConfigInterface::FontIdentity fIdentity;
 | 
| +    SkString fFamilyName;
 | 
| +    SkStream* fLocalStream;
 | 
| +
 | 
| +public:
 | 
| +    FontConfigTypeface(Style style,
 | 
| +                       const SkFontConfigInterface::FontIdentity& fi,
 | 
| +                       const SkString& familyName)
 | 
| +            : INHERITED(style, SkTypefaceCache::NewFontID(), false)
 | 
| +            , fIdentity(fi)
 | 
| +            , fFamilyName(familyName)
 | 
| +            , fLocalStream(NULL) {}
 | 
| +
 | 
| +    FontConfigTypeface(Style style, SkStream* localStream)
 | 
| +            : INHERITED(style, SkTypefaceCache::NewFontID(), false) {
 | 
| +        // we default to empty fFamilyName and fIdentity
 | 
| +        fLocalStream = localStream;
 | 
| +        SkSafeRef(localStream);
 | 
| +    }
 | 
| +
 | 
| +    virtual ~FontConfigTypeface() {
 | 
| +        SkSafeUnref(fLocalStream);
 | 
| +    }
 | 
| +
 | 
| +    const SkFontConfigInterface::FontIdentity& getIdentity() const {
 | 
| +        return fIdentity;
 | 
| +    }
 | 
| +
 | 
| +    const char* getFamilyName() const { return fFamilyName.c_str(); }
 | 
| +    SkStream*   getLocalStream() const { return fLocalStream; }
 | 
| +
 | 
| +    bool isFamilyName(const char* name) const {
 | 
| +        return fFamilyName.equals(name);
 | 
| +    }
 | 
| +
 | 
| +protected:
 | 
| +    friend class SkFontHost;    // hack until we can make public versions
 | 
| +
 | 
| +    virtual int onGetTableTags(SkFontTableTag tags[]) const SK_OVERRIDE;
 | 
| +    virtual size_t onGetTableData(SkFontTableTag, size_t offset,
 | 
| +                                  size_t length, void* data) const SK_OVERRIDE;
 | 
| +    virtual void onGetFontDescriptor(SkFontDescriptor*, bool*) const SK_OVERRIDE;
 | 
| +    virtual SkStream* onOpenStream(int* ttcIndex) const SK_OVERRIDE;
 | 
| +
 | 
| +private:
 | 
| +    typedef SkTypeface_FreeType INHERITED;
 | 
| +};
 | 
| +
 | 
| 
 |