aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ports/SkFontMgr_FontConfigInterface.cpp
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-09-26 09:46:08 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-09-26 14:05:18 +0000
commit592273965a7fc7fc403252e420d15f6555b8f25d (patch)
tree9d5f6fa74228b81278bc97af1dc78d9587d63c08 /src/ports/SkFontMgr_FontConfigInterface.cpp
parentf6f7cf60985d8e109cc136f25e2a3c3383ca05ea (diff)
Revert "Revert "migrate to sk_sp for SkFontMgr API""
This reverts commit f40ae1a4b5365620463bd63b5140bd3fc78894a1. Bug: skia: Change-Id: I752606de92ea405d6e50219c98030409b00a2841 Reviewed-on: https://skia-review.googlesource.com/51160 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'src/ports/SkFontMgr_FontConfigInterface.cpp')
-rw-r--r--src/ports/SkFontMgr_FontConfigInterface.cpp28
1 files changed, 15 insertions, 13 deletions
diff --git a/src/ports/SkFontMgr_FontConfigInterface.cpp b/src/ports/SkFontMgr_FontConfigInterface.cpp
index bfc600e74e..c60e3efff2 100644
--- a/src/ports/SkFontMgr_FontConfigInterface.cpp
+++ b/src/ports/SkFontMgr_FontConfigInterface.cpp
@@ -198,10 +198,10 @@ protected:
SkTypeface* onMatchFaceStyle(const SkTypeface*,
const SkFontStyle&) const override { return nullptr; }
- SkTypeface* onCreateFromData(SkData*, int ttcIndex) const override { return nullptr; }
+ sk_sp<SkTypeface> onMakeFromData(sk_sp<SkData>, int ttcIndex) const override { return nullptr; }
- SkTypeface* onCreateFromStream(SkStreamAsset* bareStream, int ttcIndex) const override {
- std::unique_ptr<SkStreamAsset> stream(bareStream);
+ sk_sp<SkTypeface> onMakeFromStreamIndex(std::unique_ptr<SkStreamAsset> stream,
+ int ttcIndex) const override {
const size_t length = stream->getLength();
if (!length) {
return nullptr;
@@ -219,12 +219,13 @@ protected:
}
auto fontData = skstd::make_unique<SkFontData>(std::move(stream), ttcIndex, nullptr, 0);
- return SkTypeface_FCI::Create(std::move(fontData), std::move(name), style, isFixedPitch);
+ return sk_sp<SkTypeface>(SkTypeface_FCI::Create(std::move(fontData), std::move(name),
+ style, isFixedPitch));
}
- SkTypeface* onCreateFromStream(SkStreamAsset* s, const SkFontArguments& args) const override {
+ sk_sp<SkTypeface> onMakeFromStreamArgs(std::unique_ptr<SkStreamAsset> stream,
+ const SkFontArguments& args) const override {
using Scanner = SkTypeface_FreeType::Scanner;
- std::unique_ptr<SkStreamAsset> stream(s);
const size_t length = stream->getLength();
if (!length) {
return nullptr;
@@ -251,16 +252,17 @@ protected:
args.getCollectionIndex(),
axisValues.get(),
axisDefinitions.count());
- return SkTypeface_FCI::Create(std::move(fontData), std::move(name), style, isFixedPitch);
+ return sk_sp<SkTypeface>(SkTypeface_FCI::Create(std::move(fontData), std::move(name),
+ style, isFixedPitch));
}
- SkTypeface* onCreateFromFile(const char path[], int ttcIndex) const override {
+ sk_sp<SkTypeface> onMakeFromFile(const char path[], int ttcIndex) const override {
std::unique_ptr<SkStreamAsset> stream = SkStream::MakeFromFile(path);
- return stream.get() ? this->createFromStream(stream.release(), ttcIndex) : nullptr;
+ return stream ? this->makeFromStream(std::move(stream), ttcIndex) : nullptr;
}
- SkTypeface* onLegacyCreateTypeface(const char requestedFamilyName[],
- SkFontStyle requestedStyle) const override
+ sk_sp<SkTypeface> onLegacyMakeTypeface(const char requestedFamilyName[],
+ SkFontStyle requestedStyle) const override
{
SkAutoMutexAcquire ama(fMutex);
@@ -269,7 +271,7 @@ protected:
std::unique_ptr<Request> request(Request::Create(requestedFamilyName, requestedStyle));
SkTypeface* face = fCache.findAndRef(request.get());
if (face) {
- return face;
+ return sk_sp<SkTypeface>(face);
}
SkFontConfigInterface::FontIdentity identity;
@@ -291,7 +293,7 @@ protected:
// Add this request to the request cache.
fCache.add(face, request.release());
- return face;
+ return sk_sp<SkTypeface>(face);
}
};