本文整理汇总了C++中SkPictureRecorder::getRecordingCanvas方法的典型用法代码示例。如果您正苦于以下问题:C++ SkPictureRecorder::getRecordingCanvas方法的具体用法?C++ SkPictureRecorder::getRecordingCanvas怎么用?C++ SkPictureRecorder::getRecordingCanvas使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SkPictureRecorder
的用法示例。
在下文中一共展示了SkPictureRecorder::getRecordingCanvas方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
// getRecordingCanvas() should return a SkCanvas when recording, null when not recording.
DEF_TEST(Picture_getRecordingCanvas, r) {
SkPictureRecorder rec;
REPORTER_ASSERT(r, !rec.getRecordingCanvas());
for (int i = 0; i < 3; i++) {
rec.beginRecording(100, 100);
REPORTER_ASSERT(r, rec.getRecordingCanvas());
rec.finishRecordingAsPicture();
REPORTER_ASSERT(r, !rec.getRecordingCanvas());
}
}
示例2: onDraw
void onDraw(int loops, SkCanvas*) override {
SkLiteRecorder lite;
SkPictureRecorder rec;
for (int i = 0; i < loops; i++) {
SkRect bounds{0,0, 2000,3000};
sk_sp<SkLiteDL> liteDL;
SkCanvas* canvas;
if (kLite) {
liteDL = SkLiteDL::New(bounds);
lite.reset(liteDL.get());
canvas = &lite;
} else {
rec.beginRecording(bounds);
canvas = rec.getRecordingCanvas();
}
for (int i = 0; i < kDraws; i++) {
canvas->drawRect({10,10, 1000, 1000}, SkPaint{});
}
if (!kLite) {
(void)rec.finishRecordingAsPicture();
}
}
}