c452d82c82
git-svn-id: http://skia.googlecode.com/svn/trunk@8370 2bbb7eff-a529-9590-31e7-b0007b416f81
76 lines
2.2 KiB
C++
76 lines
2.2 KiB
C++
/*
|
|
* Copyright 2013 Google Inc.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
#ifndef SkFontMgr_DEFINED
|
|
#define SkFontMgr_DEFINED
|
|
|
|
#include "SkRefCnt.h"
|
|
#include "SkFontStyle.h"
|
|
|
|
class SkData;
|
|
class SkStream;
|
|
class SkString;
|
|
|
|
class SkFontStyleSet : public SkRefCnt {
|
|
public:
|
|
int count() const;
|
|
void getStyle(int index, SkFontStyle*) const;
|
|
SkTypeface* createTypeface(int index) const;
|
|
};
|
|
|
|
class SkFontFamilySet : public SkRefCnt {
|
|
public:
|
|
int count() const;
|
|
void getName(int index, SkString* familyName) const;
|
|
SkFontStyleSet* refStyleSet(int index) const;
|
|
};
|
|
|
|
class SkFontMgr : public SkRefCnt {
|
|
public:
|
|
/**
|
|
* Return a fontfamily set, which can iterate all of the font families
|
|
* available to this fontmgr. The caller is responsible for calling unref()
|
|
* on the returned object. Will never return NULL.
|
|
*/
|
|
SkFontFamilySet* createFamilySet();
|
|
|
|
/**
|
|
* Find the closest matching typeface to the specified familyName and style
|
|
* and return a ref to it. The caller must call unref() on the returned
|
|
* object. Will never return NULL, as it will return the default font if
|
|
* no matching font is found.
|
|
*/
|
|
SkTypeface* matchFamilyStyle(const char familyName[], const SkFontStyle&);
|
|
|
|
/**
|
|
* Create a typeface for the specified data and TTC index (pass 0 for none)
|
|
* or NULL if the data is not recognized. The caller must call unref() on
|
|
* the returned object if it is not null.
|
|
*/
|
|
SkTypeface* createFromData(SkData*, int ttcIndex = 0);
|
|
|
|
/**
|
|
* Create a typeface for the specified stream and TTC index
|
|
* (pass 0 for none) or NULL if the stream is not recognized. The caller
|
|
* must call unref() on the returned object if it is not null.
|
|
*/
|
|
SkTypeface* createFromStream(SkStream*, int ttcIndex = 0);
|
|
|
|
/**
|
|
* Create a typeface for the specified fileName and TTC index
|
|
* (pass 0 for none) or NULL if the file is not found, or its contents are
|
|
* not recognized. The caller must call unref() on the returned object
|
|
* if it is not null.
|
|
*/
|
|
SkTypeface* createFromFile(const char path[], int ttcIndex = 0);
|
|
|
|
private:
|
|
typedef SkRefCnt INHERITED;
|
|
};
|
|
|
|
#endif
|