diff options
author | Ben Wagner <bungeman@google.com> | 2017-02-16 16:56:26 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-02-17 18:05:47 +0000 |
commit | 87e7f820f74a990a59fb8f1d5c182584ce586ecf (patch) | |
tree | f278c33e19d91bcd4089c0723ad3cc7d29876bea /include/ports | |
parent | 86125483f93fb9be7c90e1cea03054a1e0e80449 (diff) |
Add SkTypeface::getVariationDesignPosition.
Allow users to query a typeface's position in variation design space.
Change-Id: I5d80c8ff658708a5d1aa386ec5b7396dcb621198
Reviewed-on: https://skia-review.googlesource.com/7130
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Diffstat (limited to 'include/ports')
-rw-r--r-- | include/ports/SkFontMgr.h | 51 |
1 files changed, 5 insertions, 46 deletions
diff --git a/include/ports/SkFontMgr.h b/include/ports/SkFontMgr.h index 4103e8747e..b5879d35b8 100644 --- a/include/ports/SkFontMgr.h +++ b/include/ports/SkFontMgr.h @@ -8,9 +8,9 @@ #ifndef SkFontMgr_DEFINED #define SkFontMgr_DEFINED +#include "SkFontArguments.h" #include "SkFontStyle.h" #include "SkRefCnt.h" -#include "SkScalar.h" #include "SkTypes.h" class SkData; @@ -102,51 +102,10 @@ public: */ SkTypeface* createFromStream(SkStreamAsset*, int ttcIndex = 0) const; - struct FontParameters { - struct Axis { - SkFourByteTag fTag; - SkScalar fStyleValue; - }; - - FontParameters() : fCollectionIndex(0), fAxisCount(0), fAxes(nullptr) {} - - /** Specify the index of the desired font. - * - * Font formats like ttc, dfont, cff, cid, pfr, t42, t1, and fon may actually be indexed - * collections of fonts. - */ - FontParameters& setCollectionIndex(int collectionIndex) { - fCollectionIndex = collectionIndex; - return *this; - } - - /** Specify the GX variation axis values. - * - * Any axes not specified will use the default value. Specified axes not present in the - * font will be ignored. - * - * @param axes not copied. This pointer must remain valid for life of FontParameters. - */ - FontParameters& setAxes(const Axis* axes, int axisCount) { - fAxisCount = axisCount; - fAxes = axes; - return *this; - } - - int getCollectionIndex() const { - return fCollectionIndex; - } - const Axis* getAxes(int* axisCount) const { - *axisCount = fAxisCount; - return fAxes; - } - private: - int fCollectionIndex; - int fAxisCount; - const Axis* fAxes; - }; + // deprecated, use SkFontArguments instead. + using FontParameters = SkFontArguments; /* Experimental, API subject to change. */ - SkTypeface* createFromStream(SkStreamAsset*, const FontParameters&) const; + SkTypeface* createFromStream(SkStreamAsset*, const SkFontArguments&) const; /** * Create a typeface from the specified font data. @@ -187,7 +146,7 @@ protected: virtual SkTypeface* onCreateFromData(SkData*, int ttcIndex) const = 0; virtual SkTypeface* onCreateFromStream(SkStreamAsset*, int ttcIndex) const = 0; // TODO: make pure virtual. - virtual SkTypeface* onCreateFromStream(SkStreamAsset*, const FontParameters&) const; + virtual SkTypeface* onCreateFromStream(SkStreamAsset*, const SkFontArguments&) const; virtual SkTypeface* onCreateFromFontData(std::unique_ptr<SkFontData>) const; virtual SkTypeface* onCreateFromFile(const char path[], int ttcIndex) const = 0; |