Samples: clean up cruft
- replace virtual with override.
- remove default constructor.
- use default field initializers
- move work from constructor into onOnceBeforeDraw
- mark everything private
- enum { N = 100 }; constants to constexpr
- remove unused variables
Change-Id: I8c7a19bc24fec416a6b88d634ee948d3e842b986
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/228056
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
diff --git a/samplecode/SampleAAClip.cpp b/samplecode/SampleAAClip.cpp
index 757ba40..8733be5 100644
--- a/samplecode/SampleAAClip.cpp
+++ b/samplecode/SampleAAClip.cpp
@@ -55,15 +55,11 @@
}
class AAClipView : public Sample {
-public:
- AAClipView() {
- testop();
- }
+ SkString name() override { return SkString("AAClip"); }
-protected:
- virtual SkString name() { return SkString("AAClip"); }
+ void onOnceBeforeDraw() override { testop(); }
- virtual void onDrawContent(SkCanvas* canvas) {
+ void onDrawContent(SkCanvas* canvas) override {
#if 1
SkAAClip aaclip;
SkPath path;
@@ -106,11 +102,5 @@
canvas->drawPath(path, paint);
#endif
}
-
-private:
- typedef Sample INHERITED;
};
-
-//////////////////////////////////////////////////////////////////////////////
-
DEF_SAMPLE( return new AAClipView(); )
diff --git a/samplecode/SampleAARectModes.cpp b/samplecode/SampleAARectModes.cpp
index 006734f..a3c5ea3 100644
--- a/samplecode/SampleAARectModes.cpp
+++ b/samplecode/SampleAARectModes.cpp
@@ -70,15 +70,14 @@
class AARectsModesView : public Sample {
SkPaint fBGPaint;
-public:
- AARectsModesView () {
+
+ void onOnceBeforeDraw() override {
fBGPaint.setShader(make_bg_shader());
}
-protected:
- virtual SkString name() { return SkString("AARectsModes"); }
+ SkString name() override { return SkString("AARectsModes"); }
- virtual void onDrawContent(SkCanvas* canvas) {
+ void onDrawContent(SkCanvas* canvas) override {
const SkRect bounds = SkRect::MakeWH(W, H);
static const SkAlpha gAlphaValue[] = { 0xFF, 0x88, 0x88 };
@@ -107,11 +106,5 @@
canvas->translate(W * 5 / 4, 0);
}
}
-
-private:
- typedef Sample INHERITED;
};
-
-///////////////////////////////////////////////////////////////////////////////
-
DEF_SAMPLE( return new AARectsModesView(); )
diff --git a/samplecode/SampleAARects.cpp b/samplecode/SampleAARects.cpp
index e46f986..028c30d 100644
--- a/samplecode/SampleAARects.cpp
+++ b/samplecode/SampleAARects.cpp
@@ -32,17 +32,13 @@
return bitmap;
}
+static constexpr int N = 64;
+
class AARectView : public Sample {
SkBitmap fBitmap;
- enum {
- N = 64
- };
-protected:
void onOnceBeforeDraw() override {
fBitmap = createBitmap(N);
-
- fWidth = N;
}
SkString name() override { return SkString("AA Rects"); }
@@ -173,7 +169,6 @@
}
private:
- int fWidth;
typedef Sample INHERITED;
};
diff --git a/samplecode/SampleAndroidShadows.cpp b/samplecode/SampleAndroidShadows.cpp
index 3c9c57c..71eb22a 100644
--- a/samplecode/SampleAndroidShadows.cpp
+++ b/samplecode/SampleAndroidShadows.cpp
@@ -35,32 +35,18 @@
SkPath fTabPath;
SkPoint3 fLightPos;
- SkScalar fZDelta;
- SkScalar fAnimTranslate;
- SkScalar fAnimAngle;
- SkScalar fAnimAlpha;
+ SkScalar fZDelta = 0;
+ SkScalar fAnimTranslate = 0;
+ SkScalar fAnimAngle = 0;
+ SkScalar fAnimAlpha = 1;
- bool fShowAmbient;
- bool fShowSpot;
- bool fUseAlt;
- bool fShowObject;
- bool fIgnoreShadowAlpha;
- bool fDoAlphaAnimation;
+ bool fShowAmbient = true;
+ bool fShowSpot = true;
+ bool fUseAlt = false;
+ bool fShowObject = true;
+ bool fIgnoreShadowAlpha = false;
+ bool fDoAlphaAnimation = false;
-public:
- ShadowsView()
- : fZDelta(0)
- , fAnimTranslate(0)
- , fAnimAngle(0)
- , fAnimAlpha(1)
- , fShowAmbient(true)
- , fShowSpot(true)
- , fUseAlt(false)
- , fShowObject(true)
- , fIgnoreShadowAlpha(false)
- , fDoAlphaAnimation(false) {}
-
-protected:
void onOnceBeforeDraw() override {
fCirclePath.addCircle(0, 0, 50);
fRectPath.addRect(SkRect::MakeXYWH(-100, -50, 200, 100));
@@ -155,10 +141,6 @@
return false;
}
- void drawBG(SkCanvas* canvas) {
- canvas->drawColor(0xFFDDDDDD);
- }
-
void drawShadowedPath(SkCanvas* canvas, const SkPath& path,
const SkPoint3& zPlaneParams,
const SkPaint& paint, SkScalar ambientAlpha,
@@ -196,7 +178,8 @@
}
void onDrawContent(SkCanvas* canvas) override {
- this->drawBG(canvas);
+ canvas->drawColor(0xFFDDDDDD);
+
const SkScalar kLightWidth = 800;
const SkScalar kAmbientAlpha = 0.039f;
const SkScalar kSpotAlpha = 0.19f;
diff --git a/samplecode/SampleAnimBlur.cpp b/samplecode/SampleAnimBlur.cpp
index 178854a..c946a2a 100644
--- a/samplecode/SampleAnimBlur.cpp
+++ b/samplecode/SampleAnimBlur.cpp
@@ -22,10 +22,9 @@
}
class AnimBlurView : public Sample {
-public:
- AnimBlurView() : fBlurSigma(0), fCircleRadius(100) {}
+ SkScalar fBlurSigma = 0;
+ SkScalar fCircleRadius = 100;
-protected:
SkString name() override { return SkString("AnimBlur"); }
void onDrawContent(SkCanvas* canvas) override {
@@ -53,13 +52,5 @@
fCircleRadius = 3 + get_anim_sin(1e-9 * nanos, 150, 25, 3);
return true;
}
-
-private:
- SkScalar fBlurSigma, fCircleRadius;
-
- typedef Sample INHERITED;
};
-
-//////////////////////////////////////////////////////////////////////////////
-
DEF_SAMPLE( return new AnimBlurView(); )
diff --git a/samplecode/SampleAnimatedImage.cpp b/samplecode/SampleAnimatedImage.cpp
index eaa318c..da6ac28 100644
--- a/samplecode/SampleAnimatedImage.cpp
+++ b/samplecode/SampleAnimatedImage.cpp
@@ -23,13 +23,14 @@
static constexpr char kResetKey = 'r';
class SampleAnimatedImage : public Sample {
-public:
- SampleAnimatedImage()
- : INHERITED()
- , fYOffset(0)
- {}
+ sk_sp<SkAnimatedImage> fImage;
+ sk_sp<SkDrawable> fDrawable;
+ SkScalar fYOffset = 0;
+ bool fRunning = false;
+ double fCurrentTime = 0.0;
+ double fLastWallTime = 0.0;
+ double fTimeToShowNextFrame = 0.0;
-protected:
void onDrawBackground(SkCanvas* canvas) override {
SkFont font;
font.setSize(20);
@@ -119,18 +120,6 @@
}
return false;
}
-
-private:
- sk_sp<SkAnimatedImage> fImage;
- sk_sp<SkDrawable> fDrawable;
- SkScalar fYOffset;
- bool fRunning = false;
- double fCurrentTime = 0.0;
- double fLastWallTime = 0.0;
- double fTimeToShowNextFrame = 0.0;
- typedef Sample INHERITED;
};
-///////////////////////////////////////////////////////////////////////////////
-
DEF_SAMPLE( return new SampleAnimatedImage(); )
diff --git a/samplecode/SampleAnimatedText.cpp b/samplecode/SampleAnimatedText.cpp
index 3f8555c..8e7ed0e 100644
--- a/samplecode/SampleAnimatedText.cpp
+++ b/samplecode/SampleAnimatedText.cpp
@@ -38,10 +38,11 @@
// SDF-text special case (which falls back to bitmap fonts for small points)
class AnimatedTextView : public Sample {
-public:
- AnimatedTextView() : fScale(1.0f), fScaleInc(0.1f), fRotation(0.0f), fSizeScale(1) {}
+ float fScale = 1;
+ float fScaleInc = 0.1f;
+ float fRotation = 0;
+ int fSizeScale = 1;
-protected:
SkString name() override { return SkString("AnimatedText"); }
bool onChar(SkUnichar uni) override {
@@ -106,17 +107,6 @@
}
return true;
}
-
-private:
- float fScale;
- float fScaleInc;
- float fRotation;
- int fSizeScale;
-
-
- typedef Sample INHERITED;
};
-//////////////////////////////////////////////////////////////////////////////
-
DEF_SAMPLE( return new AnimatedTextView(); )
diff --git a/samplecode/SampleArc.cpp b/samplecode/SampleArc.cpp
index d6b6170..2d5892d 100644
--- a/samplecode/SampleArc.cpp
+++ b/samplecode/SampleArc.cpp
@@ -78,14 +78,10 @@
}
};
-public:
- SkRect fRect;
+ SkRect fRect = {20, 20, 220, 220};
sk_sp<MyDrawable> fAnimatingDrawable;
sk_sp<SkDrawable> fRootDrawable;
- ArcsView() { }
-
-protected:
SkString name() override { return SkString("Arcs"); }
static void DrawRectWithLines(SkCanvas* canvas, const SkRect& r, const SkPaint& p) {
@@ -164,11 +160,8 @@
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<MyDrawable>(fRect);
SkPictureRecorder recorder;
@@ -187,13 +180,6 @@
}
return true;
}
-
-private:
- SkScalar fSweep;
-
- typedef Sample INHERITED;
};
-//////////////////////////////////////////////////////////////////////////////
-
DEF_SAMPLE( return new ArcsView(); )
diff --git a/samplecode/SampleBitmapRect.cpp b/samplecode/SampleBitmapRect.cpp
index 8644cb4..1f757f5 100644
--- a/samplecode/SampleBitmapRect.cpp
+++ b/samplecode/SampleBitmapRect.cpp
@@ -95,13 +95,8 @@
bounce_pt(&fSrcPt, &fSrcVec, fSrcLimit);
return true;
}
-
-private:
- typedef Sample INHERITED;
};
-//////////////////////////////////////////////////////////////////////////////
-
static constexpr int BIG_H = 120;
static void make_big_bitmap(SkBitmap* bm) {
@@ -161,7 +156,5 @@
}
};
-//////////////////////////////////////////////////////////////////////////////
-
DEF_SAMPLE( return new BitmapRectView(); )
DEF_SAMPLE( return new BitmapRectView2(); )
diff --git a/samplecode/SampleCCPRGeometry.cpp b/samplecode/SampleCCPRGeometry.cpp
index 3145865..c6330cb 100644
--- a/samplecode/SampleCCPRGeometry.cpp
+++ b/samplecode/SampleCCPRGeometry.cpp
@@ -44,8 +44,7 @@
* geometry processors.
*/
class CCPRGeometryView : public Sample {
-public:
- CCPRGeometryView() { this->updateGpuData(); }
+ void onOnceBeforeDraw() override { this->updateGpuData(); }
void onDrawContent(SkCanvas*) override;
Sample::Click* onFindClickHandler(SkScalar x, SkScalar y, ModifierKey) override;
@@ -53,7 +52,6 @@
bool onChar(SkUnichar) override;
SkString name() override { return SkString("CCPRGeometry"); }
-private:
class Click;
class DrawCoverageCountOp;
class VisualizeCoverageCountFP;
@@ -76,8 +74,6 @@
SkTArray<TriPointInstance> fTriPointInstances;
SkTArray<QuadPointInstance> fQuadPointInstances;
SkPath fPath;
-
- typedef Sample INHERITED;
};
class CCPRGeometryView::DrawCoverageCountOp : public GrDrawOp {
diff --git a/samplecode/SampleChart.cpp b/samplecode/SampleChart.cpp
index c849d32..448e1d7 100644
--- a/samplecode/SampleChart.cpp
+++ b/samplecode/SampleChart.cpp
@@ -81,13 +81,13 @@
// A set of scrolling line plots with the area between each plot filled. Stresses out GPU path
// filling
class ChartView : public Sample {
-public:
- ChartView() {
- fShift = 0;
- fSize.set(-1, -1);
- }
+ static constexpr int kNumGraphs = 5;
+ static constexpr int kPixelsPerTick = 3;
+ static constexpr int kShiftPerFrame = 1;
+ int fShift = 0;
+ SkISize fSize = {-1, -1};
+ SkTDArray<SkScalar> fData[kNumGraphs];
-protected:
SkString name() override { return SkString("Chart"); }
void onDrawContent(SkCanvas* canvas) override {
@@ -158,19 +158,6 @@
fShift += kShiftPerFrame;
}
-
-private:
- enum {
- kNumGraphs = 5,
- kPixelsPerTick = 3,
- kShiftPerFrame = 1,
- };
- int fShift;
- SkISize fSize;
- SkTDArray<SkScalar> fData[kNumGraphs];
- typedef Sample INHERITED;
};
-//////////////////////////////////////////////////////////////////////////////
-
DEF_SAMPLE( return new ChartView(); )
diff --git a/samplecode/SampleChineseFling.cpp b/samplecode/SampleChineseFling.cpp
index bb749e5..1cdf784 100644
--- a/samplecode/SampleChineseFling.cpp
+++ b/samplecode/SampleChineseFling.cpp
@@ -38,18 +38,18 @@
}
class ChineseFlingView : public Sample {
-public:
- ChineseFlingView() : fBlobs(kNumBlobs) {}
+ static constexpr int kNumBlobs = 200;
+ static constexpr int kWordLength = 16;
-protected:
+ sk_sp<SkTypeface> fTypeface;
+ SkFontMetrics fMetrics;
+ sk_sp<SkTextBlob> fBlobs[kNumBlobs];
+ SkRandom fRand;
+ int fIndex = 0;
+
SkString name() override { return SkString("chinese-fling"); }
void onDrawContent(SkCanvas* canvas) override {
- if (!fInitialized) {
- this->init();
- fInitialized = true;
- }
-
canvas->clear(0xFFDDDDDD);
SkPaint paint;
@@ -64,18 +64,14 @@
y += fMetrics.fDescent + fMetrics.fLeading;
++index;
- index %= fBlobs.count();
+ index %= kNumBlobs;
}
// now "fling" a random amount
fIndex += fRand.nextRangeU(5, 20);
- fIndex %= fBlobs.count();
+ fIndex %= kNumBlobs;
}
-private:
- static constexpr auto kNumBlobs = 200;
- static constexpr auto kWordLength = 16;
-
- void init() {
+ void onOnceBeforeDraw() override {
fTypeface = chinese_typeface();
SkFont font(fTypeface, 56);
@@ -94,10 +90,8 @@
0,
0);
- fBlobs.emplace_back(builder.make());
+ fBlobs[i] = builder.make();
}
-
- fIndex = 0;
}
// Construct a random kWordLength character 'word' drawing from the full Chinese set
@@ -106,22 +100,20 @@
glyphs[i] = fRand.nextRangeU(0x4F00, 0x9FA0);
}
}
-
- bool fInitialized = false;
- sk_sp<SkTypeface> fTypeface;
- SkFontMetrics fMetrics;
- SkTArray<sk_sp<SkTextBlob>> fBlobs;
- SkRandom fRand;
- int fIndex;
-
- typedef Sample INHERITED;
};
class ChineseZoomView : public Sample {
-public:
- ChineseZoomView() : fBlobs(kNumBlobs), fScale(15.0f), fTranslate(0.0f) {}
+ static constexpr int kNumBlobs = 8;
+ static constexpr int kParagraphLength = 175;
-protected:
+ bool fAfterFirstFrame = false;
+ sk_sp<SkTypeface> fTypeface;
+ SkFontMetrics fMetrics;
+ sk_sp<SkTextBlob> fBlobs[kNumBlobs];
+ SkRandom fRand;
+ SkScalar fScale = 15;
+ SkScalar fTranslate = 0;
+
SkString name() override { return SkString("chinese-zoom"); }
bool onChar(SkUnichar uni) override {
@@ -137,37 +129,30 @@
}
void onDrawContent(SkCanvas* canvas) override {
- bool afterFirstFrame = fInitialized;
- if (!fInitialized) {
- this->init();
- fInitialized = true;
- }
-
canvas->clear(0xFFDDDDDD);
SkPaint paint;
paint.setAntiAlias(true);
paint.setColor(0xDE000000);
- if (afterFirstFrame) {
+ if (fAfterFirstFrame) {
#if SK_SUPPORT_GPU
GrContext* grContext = canvas->getGrContext();
if (grContext) {
- sk_sp<SkImage> image =
- grContext->priv().testingOnly_getFontAtlasImage(
- GrMaskFormat::kA8_GrMaskFormat, 0);
+ sk_sp<SkImage> image = grContext->priv().testingOnly_getFontAtlasImage(
+ GrMaskFormat::kA8_GrMaskFormat, 0);
canvas->drawImageRect(image,
SkRect::MakeXYWH(10.0f, 10.0f, 512.0f, 512.0), &paint);
image = grContext->priv().testingOnly_getFontAtlasImage(
- GrMaskFormat::kA8_GrMaskFormat, 1);
+ GrMaskFormat::kA8_GrMaskFormat, 1);
canvas->drawImageRect(image,
SkRect::MakeXYWH(522.0f, 10.0f, 512.f, 512.0f), &paint);
image = grContext->priv().testingOnly_getFontAtlasImage(
- GrMaskFormat::kA8_GrMaskFormat, 2);
+ GrMaskFormat::kA8_GrMaskFormat, 2);
canvas->drawImageRect(image,
SkRect::MakeXYWH(10.0f, 522.0f, 512.0f, 512.0f), &paint);
image = grContext->priv().testingOnly_getFontAtlasImage(
- GrMaskFormat::kA8_GrMaskFormat, 3);
+ GrMaskFormat::kA8_GrMaskFormat, 3);
canvas->drawImageRect(image,
SkRect::MakeXYWH(522.0f, 522.0f, 512.0f, 512.0f), &paint);
}
@@ -186,13 +171,12 @@
y += 3*(fMetrics.fDescent - fMetrics.fAscent + fMetrics.fLeading);
}
+ if (!fAfterFirstFrame) {
+ fAfterFirstFrame = true;
+ }
}
-private:
- static constexpr auto kNumBlobs = 8;
- static constexpr auto kParagraphLength = 175;
-
- void init() {
+ void onOnceBeforeDraw() override {
fTypeface = chinese_typeface();
SkFont font(fTypeface, 11);
@@ -220,10 +204,8 @@
y += fMetrics.fDescent - fMetrics.fAscent + fMetrics.fLeading;
paragraphLength -= 45;
}
- fBlobs.emplace_back(builder.make());
+ fBlobs[i] = builder.make();
}
-
- fIndex = 0;
}
// Construct a random kWordLength character 'word' drawing from the full Chinese set
@@ -232,17 +214,6 @@
glyphs[i] = fRand.nextRangeU(0x4F00, 0x9FA0);
}
}
-
- bool fInitialized = false;
- sk_sp<SkTypeface> fTypeface;
- SkFontMetrics fMetrics;
- SkTArray<sk_sp<SkTextBlob>> fBlobs;
- SkRandom fRand;
- SkScalar fScale;
- SkScalar fTranslate;
- int fIndex;
-
- typedef Sample INHERITED;
};
//////////////////////////////////////////////////////////////////////////////
diff --git a/samplecode/SampleCircle.cpp b/samplecode/SampleCircle.cpp
index 3f83556..c4126f9 100644
--- a/samplecode/SampleCircle.cpp
+++ b/samplecode/SampleCircle.cpp
@@ -22,19 +22,7 @@
}
class CircleView : public Sample {
-public:
- static const SkScalar ANIM_DX;
- static const SkScalar ANIM_DY;
- static const SkScalar ANIM_RAD;
- SkScalar fDX, fDY, fRAD;
-
- CircleView() {
- fDX = fDY = fRAD = 0;
- fN = 3;
- }
-
-protected:
- virtual SkString name() { return SkString("Circles"); }
+ SkString name() override { return SkString("Circles"); }
void circle(SkCanvas* canvas, int width, bool aa) {
SkPaint paint;
@@ -46,7 +34,7 @@
paint.setStyle(SkPaint::kStroke_Style);
paint.setStrokeWidth(SkIntToScalar(width));
}
- canvas->drawCircle(0, 0, SkIntToScalar(9) + fRAD, paint);
+ canvas->drawCircle(0, 0, 9.0f, paint);
if (false) { // avoid bit rot, suppress warning
test_circlebounds(canvas);
}
@@ -78,7 +66,7 @@
path->close();
}
- virtual void onDrawContent(SkCanvas* canvas) {
+ void onDrawContent(SkCanvas* canvas) override {
SkPaint paint;
paint.setAntiAlias(true);
paint.setStyle(SkPaint::kStroke_Style);
@@ -95,16 +83,6 @@
canvas->drawPath(path, paint);
}
}
-
-private:
- int fN;
- typedef Sample INHERITED;
};
-const SkScalar CircleView::ANIM_DX(SK_Scalar1 / 67);
-const SkScalar CircleView::ANIM_DY(SK_Scalar1 / 29);
-const SkScalar CircleView::ANIM_RAD(SK_Scalar1 / 19);
-
-//////////////////////////////////////////////////////////////////////////////
-
DEF_SAMPLE( return new CircleView(); )
diff --git a/samplecode/SampleClip.cpp b/samplecode/SampleClip.cpp
index 1e7b2ce..e931881 100644
--- a/samplecode/SampleClip.cpp
+++ b/samplecode/SampleClip.cpp
@@ -12,7 +12,6 @@
#include "include/core/SkPath.h"
#include "include/utils/SkRandom.h"
#include "samplecode/Sample.h"
-#include "src/core/SkAAClip.h"
#include "src/core/SkClipOpPriv.h"
constexpr int W = 150;
@@ -102,20 +101,9 @@
typedef void (*CanvasProc)(SkCanvas*, bool);
class ClipView : public Sample {
-public:
- ClipView() {
- SkAAClip clip;
- SkIRect r = { -2, -3, 842, 18 };
- clip.setRect(r);
- }
+ SkString name() override { return SkString("Clip"); }
- virtual ~ClipView() {
- }
-
-protected:
- virtual SkString name() { return SkString("Clip"); }
-
- virtual void onDrawContent(SkCanvas* canvas) {
+ void onDrawContent(SkCanvas* canvas) override {
canvas->drawColor(SK_ColorWHITE);
canvas->translate(SkIntToScalar(20), SkIntToScalar(20));
@@ -144,11 +132,6 @@
canvas->translate(0, H * SK_Scalar1 * 8 / 7);
}
}
-
-private:
- typedef Sample INHERITED;
};
-//////////////////////////////////////////////////////////////////////////////
-
DEF_SAMPLE( return new ClipView(); )
diff --git a/samplecode/SampleClipDrawMatch.cpp b/samplecode/SampleClipDrawMatch.cpp
index 729e16a..bdbb54b 100644
--- a/samplecode/SampleClipDrawMatch.cpp
+++ b/samplecode/SampleClipDrawMatch.cpp
@@ -115,8 +115,17 @@
}
class ClipDrawMatchView : public Sample {
+ SkInterpolator fTrans;
+ Geometry fGeom;
+ bool fClipFirst = true;
+ int fSign = 1;
+ const double fStart = SkTime::GetMSecs();
+
public:
- ClipDrawMatchView() : fTrans(2, 5), fGeom(kRect_Geometry), fClipFirst(true), fSign(1) {
+ ClipDrawMatchView() : fTrans(2, 5), fGeom(kRect_Geometry) {}
+
+private:
+ void onOnceBeforeDraw() override {
SkScalar values[2];
fTrans.setRepeatCount(999);
@@ -132,7 +141,6 @@
fTrans.setKeyFrame(4, GetMSecs() + 5000, values);
}
-protected:
SkString name() override { return SkString("ClipDrawMatch"); }
bool onChar(SkUnichar uni) override {
@@ -239,17 +247,6 @@
SkMSec GetMSecs() const {
return static_cast<SkMSec>(SkTime::GetMSecs() - fStart);
}
-
-private:
- SkInterpolator fTrans;
- Geometry fGeom;
- bool fClipFirst;
- int fSign;
- const double fStart = SkTime::GetMSecs();
-
- typedef Sample INHERITED;
};
-//////////////////////////////////////////////////////////////////////////////
-
DEF_SAMPLE( return new ClipDrawMatchView(); )
diff --git a/samplecode/SampleClock.cpp b/samplecode/SampleClock.cpp
index 347b2ea..a90ecf1 100644
--- a/samplecode/SampleClock.cpp
+++ b/samplecode/SampleClock.cpp
@@ -18,10 +18,6 @@
#define USE_PATH 1
class ClockView : public Sample {
-public:
- ClockView() {}
-
-protected:
SkString name() override { return SkString("Clock"); }
void onDrawContent(SkCanvas* canvas) override {
@@ -211,12 +207,6 @@
}
bool onAnimate(double /*nanos*/) override { return true; }
-
-private:
-
- typedef Sample INHERITED;
};
-//////////////////////////////////////////////////////////////////////////////
-
DEF_SAMPLE( return new ClockView(); )
diff --git a/samplecode/SampleColorFilter.cpp b/samplecode/SampleColorFilter.cpp
index 339a05c..d30f760 100644
--- a/samplecode/SampleColorFilter.cpp
+++ b/samplecode/SampleColorFilter.cpp
@@ -113,7 +113,6 @@
N = 64
};
-protected:
void onOnceBeforeDraw() override {
fBitmap = createBitmap(N);
fShader = ToolUtils::create_checkerboard_shader(0xFFCCCCCC, 0xFFFFFFFF, 12);
@@ -179,11 +178,6 @@
}
}
-
-private:
- typedef Sample INHERITED;
};
-//////////////////////////////////////////////////////////////////////////////
-
DEF_SAMPLE( return new ColorFilterView(); )
diff --git a/samplecode/SampleComplexClip.cpp b/samplecode/SampleComplexClip.cpp
index 9af4669..4e811a0 100644
--- a/samplecode/SampleComplexClip.cpp
+++ b/samplecode/SampleComplexClip.cpp
@@ -12,15 +12,13 @@
#include "src/core/SkClipOpPriv.h"
class ComplexClipView : public Sample {
-public:
- ComplexClipView() {
+ void onOnceBeforeDraw() override {
this->setBGColor(0xFFA0DDA0);
}
-protected:
- virtual SkString name() { return SkString("ComplexClip"); }
+ SkString name() override { return SkString("ComplexClip"); }
- virtual void onDrawContent(SkCanvas* canvas) {
+ void onDrawContent(SkCanvas* canvas) override {
SkPath path;
path.moveTo(SkIntToScalar(0), SkIntToScalar(50));
path.quadTo(SkIntToScalar(0), SkIntToScalar(0), SkIntToScalar(50), SkIntToScalar(0));
@@ -137,11 +135,6 @@
}
canvas->restore();
}
-
-private:
- typedef Sample INHERITED;
};
-//////////////////////////////////////////////////////////////////////////////
-
DEF_SAMPLE( return new ComplexClipView(); )
diff --git a/samplecode/SampleCowboy.cpp b/samplecode/SampleCowboy.cpp
index db60229..6ba3177 100644
--- a/samplecode/SampleCowboy.cpp
+++ b/samplecode/SampleCowboy.cpp
@@ -20,37 +20,36 @@
#include "tools/Resources.h"
namespace {
-
-class CowboyView : public Sample {
-public:
- CowboyView()
- : fLabel("SampleCowboy")
- , fState(kZoomIn)
- , fAnimationLoop(kAnimationIterations)
- , fDelta(1) {}
- ~CowboyView() override = default;
-
-protected:
+class AnimatedSVGSample : public Sample {
static constexpr auto kAnimationIterations = 5;
-
enum State {
kZoomIn,
kScroll,
kZoomOut
};
+ sk_sp<SkSVGDOM> fDom;
+ const char* fResource = nullptr;
+ const char* fName = nullptr;
+ State fState = kZoomIn;
+ int fAnimationLoop = kAnimationIterations;
+ SkScalar fDelta = 1;
+public:
+ AnimatedSVGSample(const char* r, const char* n) : fResource(r), fName(n) {}
+
+private:
void onOnceBeforeDraw() override {
- constexpr char path[] = "Cowboy.svg";
- auto data = GetResourceAsData(path);
+ SkASSERT(fResource);
+ auto data = GetResourceAsData(fResource);
if (!data) {
- SkDebugf("file not found: \"%s\"\n", path);
+ SkDebugf("Resource not found: \"%s\"\n", fResource);
return;
}
SkMemoryStream svgStream(std::move(data));
SkDOM xmlDom;
if (!xmlDom.build(svgStream)) {
- SkDebugf("XML parsing failed: \"path\"\n", fPath.c_str());
+ SkDebugf("XML parsing failed: \"%s\"\n", fResource);
return;
}
@@ -92,11 +91,9 @@
if (fDom) {
fDom->setContainerSize(SkSize::Make(this->width(), this->height()));
}
-
- this->INHERITED::onSizeChange();
}
- SkString name() override { return fLabel; }
+ SkString name() override { return SkASSERT(fName), SkString(fName); }
bool onAnimate(double nanos) override {
if (!fDom) {
@@ -123,20 +120,9 @@
}
return true;
}
-
-private:
- sk_sp<SkSVGDOM> fDom;
- SkString fPath;
- SkString fLabel;
- State fState;
- int fAnimationLoop;
- SkScalar fDelta;
-
- typedef Sample INHERITED;
};
+} // namespace
-} // anonymous namespace
-
-DEF_SAMPLE( return new CowboyView(); )
+DEF_SAMPLE( return new AnimatedSVGSample("Cowboy.svg", "SampleCowboy"); )
#endif // SK_XML