本文整理汇总了C++中sk_sp::matchFamilyName方法的典型用法代码示例。如果您正苦于以下问题:C++ sk_sp::matchFamilyName方法的具体用法?C++ sk_sp::matchFamilyName怎么用?C++ sk_sp::matchFamilyName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sk_sp
的用法示例。
在下文中一共展示了sk_sp::matchFamilyName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ama
sk_sp<SkTypeface> onLegacyMakeTypeface(const char requestedFamilyName[],
SkFontStyle requestedStyle) const override
{
SkAutoMutexAcquire ama(fMutex);
// Check if this request is already in the request cache.
using Request = SkFontRequestCache::Request;
std::unique_ptr<Request> request(Request::Create(requestedFamilyName, requestedStyle));
SkTypeface* face = fCache.findAndRef(request.get());
if (face) {
return sk_sp<SkTypeface>(face);
}
SkFontConfigInterface::FontIdentity identity;
SkString outFamilyName;
SkFontStyle outStyle;
if (!fFCI->matchFamilyName(requestedFamilyName, requestedStyle,
&identity, &outFamilyName, &outStyle))
{
return nullptr;
}
// Check if a typeface with this FontIdentity is already in the FontIdentity cache.
face = fTFCache.findByProcAndRef(find_by_FontIdentity, &identity);
if (!face) {
face = SkTypeface_FCI::Create(fFCI, identity, std::move(outFamilyName), outStyle);
// Add this FontIdentity to the FontIdentity cache.
fTFCache.add(face);
}
// Add this request to the request cache.
fCache.add(face, request.release());
return sk_sp<SkTypeface>(face);
}