mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
46 lines
1.3 KiB
C++
46 lines
1.3 KiB
C++
// Copyright 2013 The Flutter Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#include "export.h"
|
|
#include "helpers.h"
|
|
#include "third_party/skia/include/core/SkBBHFactory.h"
|
|
#include "third_party/skia/include/core/SkPicture.h"
|
|
#include "third_party/skia/include/core/SkPictureRecorder.h"
|
|
#include "wrappers.h"
|
|
|
|
using namespace Skwasm;
|
|
|
|
SkRTreeFactory bbhFactory;
|
|
|
|
SKWASM_EXPORT SkPictureRecorder* pictureRecorder_create() {
|
|
return new SkPictureRecorder();
|
|
}
|
|
|
|
SKWASM_EXPORT void pictureRecorder_dispose(SkPictureRecorder* recorder) {
|
|
delete recorder;
|
|
}
|
|
|
|
SKWASM_EXPORT SkCanvas* pictureRecorder_beginRecording(
|
|
SkPictureRecorder* recorder,
|
|
const SkRect* cullRect) {
|
|
return recorder->beginRecording(*cullRect, &bbhFactory);
|
|
}
|
|
|
|
SKWASM_EXPORT SkPicture* pictureRecorder_endRecording(
|
|
SkPictureRecorder* recorder) {
|
|
return recorder->finishRecordingAsPicture().release();
|
|
}
|
|
|
|
SKWASM_EXPORT void picture_getCullRect(SkPicture* picture, SkRect* outRect) {
|
|
*outRect = picture->cullRect();
|
|
}
|
|
|
|
SKWASM_EXPORT void picture_dispose(SkPicture* picture) {
|
|
picture->unref();
|
|
}
|
|
|
|
SKWASM_EXPORT uint32_t picture_approximateBytesUsed(SkPicture* picture) {
|
|
return static_cast<uint32_t>(picture->approximateBytesUsed());
|
|
}
|