UNPKG

@shopify/react-native-skia

Version:

High-performance React Native Graphics using Skia

37 lines (30 loc) 947 B
import type { CanvasKit, PictureRecorder } from "canvaskit-wasm"; import type { SkRect } from "../types"; import type { SkPictureRecorder } from "../types/Picture/PictureRecorder"; import { HostObject } from "./Host"; import { JsiSkCanvas } from "./JsiSkCanvas"; import { JsiSkPicture } from "./JsiSkPicture"; import { JsiSkRect } from "./JsiSkRect"; export class JsiSkPictureRecorder extends HostObject<PictureRecorder, "PictureRecorder"> implements SkPictureRecorder { constructor(CanvasKit: CanvasKit, ref: PictureRecorder) { super(CanvasKit, ref, "PictureRecorder"); } dispose = () => { this.ref.delete(); }; beginRecording(bounds: SkRect) { return new JsiSkCanvas( this.CanvasKit, this.ref.beginRecording(JsiSkRect.fromValue(this.CanvasKit, bounds)) ); } finishRecordingAsPicture() { return new JsiSkPicture( this.CanvasKit, this.ref.finishRecordingAsPicture() ); } }