本文整理汇总了C++中GrContext::getFontAtlasImage_ForTesting方法的典型用法代码示例。如果您正苦于以下问题:C++ GrContext::getFontAtlasImage_ForTesting方法的具体用法?C++ GrContext::getFontAtlasImage_ForTesting怎么用?C++ GrContext::getFontAtlasImage_ForTesting使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GrContext
的用法示例。
在下文中一共展示了GrContext::getFontAtlasImage_ForTesting方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onDrawContent
void onDrawContent(SkCanvas* canvas) override {
bool afterFirstFrame = fInitialized;
if (!fInitialized) {
this->init();
fInitialized = true;
}
canvas->clear(0xFFDDDDDD);
SkPaint paint;
paint.setAntiAlias(true);
paint.setColor(0xDE000000);
paint.setTypeface(fTypeface);
paint.setTextSize(11);
paint.setTextEncoding(SkPaint::kUTF32_TextEncoding);
if (afterFirstFrame) {
#if SK_SUPPORT_GPU
GrContext* grContext = canvas->getGrContext();
if (grContext) {
sk_sp<SkImage> image =
grContext->getFontAtlasImage_ForTesting(GrMaskFormat::kA8_GrMaskFormat, 0);
canvas->drawImageRect(image,
SkRect::MakeXYWH(10.0f, 10.0f, 512.0f, 512.0), &paint);
image = grContext->getFontAtlasImage_ForTesting(GrMaskFormat::kA8_GrMaskFormat, 1);
canvas->drawImageRect(image,
SkRect::MakeXYWH(522.0f, 10.0f, 512.f, 512.0f), &paint);
image = grContext->getFontAtlasImage_ForTesting(GrMaskFormat::kA8_GrMaskFormat, 2);
canvas->drawImageRect(image,
SkRect::MakeXYWH(10.0f, 522.0f, 512.0f, 512.0f), &paint);
image = grContext->getFontAtlasImage_ForTesting(GrMaskFormat::kA8_GrMaskFormat, 3);
canvas->drawImageRect(image,
SkRect::MakeXYWH(522.0f, 522.0f, 512.0f, 512.0f), &paint);
}
#endif
}
canvas->scale(fScale, fScale);
canvas->translate(0, fTranslate);
fTranslate -= 0.5f;
// draw a consistent run of the 'words' - one word per line
SkScalar y = 0;
for (int index = 0; index < kNumBlobs; ++index) {
y += -fMetrics.fAscent;
canvas->drawTextBlob(fBlobs[index], 0, y, paint);
y += 3*(fMetrics.fDescent - fMetrics.fAscent + fMetrics.fLeading);
}
}