diff --git a/samplecode/SampleArc.cpp b/samplecode/SampleArc.cpp index a64c47fec0..4e11301097 100644 --- a/samplecode/SampleArc.cpp +++ b/samplecode/SampleArc.cpp @@ -84,19 +84,7 @@ public: sk_sp fAnimatingDrawable; sk_sp fRootDrawable; - ArcsView() { - testparse(); - fSweep = SkIntToScalar(100); - this->setBGColor(0xFFDDDDDD); - - fRect.set(0, 0, SkIntToScalar(200), SkIntToScalar(200)); - fRect.offset(SkIntToScalar(20), SkIntToScalar(20)); - fAnimatingDrawable = sk_make_sp(fRect); - - SkPictureRecorder recorder; - this->drawRoot(recorder.beginRecording(SkRect::MakeWH(800, 500))); - fRootDrawable = recorder.finishRecordingAsDrawable(); - } + ArcsView() { } protected: bool onQuery(Sample::Event* evt) override { @@ -183,6 +171,20 @@ protected: DrawArcs(canvas); } + void onOnceBeforeDraw() override { + testparse(); + fSweep = SkIntToScalar(100); + this->setBGColor(0xFFDDDDDD); + + fRect.set(0, 0, SkIntToScalar(200), SkIntToScalar(200)); + fRect.offset(SkIntToScalar(20), SkIntToScalar(20)); + fAnimatingDrawable = sk_make_sp(fRect); + + SkPictureRecorder recorder; + this->drawRoot(recorder.beginRecording(SkRect::MakeWH(800, 500))); + fRootDrawable = recorder.finishRecordingAsDrawable(); + } + void onDrawContent(SkCanvas* canvas) override { canvas->drawDrawable(fRootDrawable.get()); }