PassRefPtr<Scene> SceneBuilder::build() { m_currentLayer = nullptr; int32_t threshold = m_currentRasterizerTracingThreshold; m_currentRasterizerTracingThreshold = 0; RefPtr<Scene> scene = Scene::create(std::move(m_rootLayer), threshold); ClearDartWrapper(); return scene.release(); }
PassRefPtr<Drawable> PictureRecorder::endRecordingAsDrawable() { if (!isRecording()) return nullptr; RefPtr<Drawable> drawable = Drawable::create( adoptRef(m_pictureRecorder.endRecordingAsDrawable())); m_canvas->clearSkCanvas(); m_canvas->ClearDartWrapper(); m_canvas = nullptr; ClearDartWrapper(); return drawable.release(); }
PassRefPtr<Picture> PictureRecorder::endRecording() { if (!isRecording()) return nullptr; RefPtr<Picture> picture = Picture::create( adoptRef(m_pictureRecorder.endRecording())); m_canvas->clearSkCanvas(); m_canvas->ClearDartWrapper(); m_canvas = nullptr; ClearDartWrapper(); return picture.release(); }
void Scene::dispose() { ClearDartWrapper(); }