module skia.SKPictureRecorder; import skia.Definitions; import skia.MathTypes; import skia.SKObject; import skia.SKCanvas; import skia.SKPicture; import skia.SKDrawable; import skia.SkiaApi; import skia.Exceptions; class SKPictureRecorder : SKObject, ISKSkipObjectRegistration { this(void* handle, bool owns) { super(handle, owns); } this() { this(SkiaApi.sk_picture_recorder_new(), true); if (Handle is null) { throw new InvalidOperationException( "Unable to create a new SKPictureRecorder instance."); } } // protected override void Dispose (bool disposing) // { // return super.Dispose (disposing); // } protected override void DisposeNative() { return SkiaApi.sk_picture_recorder_delete(cast(sk_picture_recorder_t*)Handle); } SKCanvas BeginRecording(SKRect cullRect) { return OwnedBy(SKCanvas.GetObject(SkiaApi.sk_picture_recorder_begin_recording(cast(sk_picture_recorder_t*)Handle, &cullRect), false), this); } SKPicture EndRecording() { return SKPicture.GetObject(SkiaApi.sk_picture_recorder_end_recording(cast(sk_picture_recorder_t*)Handle)); } SKDrawable EndRecordingAsDrawable() { return SKDrawable.GetObject(SkiaApi.sk_picture_recorder_end_recording_as_drawable(cast(sk_picture_recorder_t*)Handle)); } SKCanvas RecordingCanvas() { return OwnedBy(SKCanvas.GetObject(SkiaApi.sk_picture_get_recording_canvas(cast(sk_picture_recorder_t*)Handle), false), this); } }