allow GMs to animate
BUG=skia:
Review URL: https://codereview.chromium.org/888283002
diff --git a/samplecode/SampleHairline.cpp b/samplecode/SampleHairline.cpp
index 807a319..3c25447 100644
--- a/samplecode/SampleHairline.cpp
+++ b/samplecode/SampleHairline.cpp
@@ -30,20 +30,6 @@
static SkRandom gRand;
-static void test_chromium_9005() {
- SkBitmap bm;
- bm.allocN32Pixels(800, 600);
-
- SkCanvas canvas(bm);
-
- SkPoint pt0 = { 799.33374f, 1.2360189f };
- SkPoint pt1 = { 808.49969f, -7.4338055f };
-
- SkPaint paint;
- paint.setAntiAlias(true);
- canvas.drawLine(pt0.fX, pt0.fY, pt1.fX, pt1.fY, paint);
-}
-
static void generate_pts(SkPoint pts[], int count, int w, int h) {
for (int i = 0; i < count; i++) {
pts[i].set(gRand.nextUScalar1() * 3 * w - SkIntToScalar(w),
@@ -191,7 +177,6 @@
bool fDoAA;
public:
HairlineView() {
- fCounter = 0;
fProcIndex = 0;
fDoAA = true;
fNow = 0;
@@ -199,7 +184,7 @@
protected:
// overrides from SkEventSink
- virtual bool onQuery(SkEvent* evt) {
+ bool onQuery(SkEvent* evt) SK_OVERRIDE {
if (SampleCode::TitleQ(*evt)) {
SkString str;
str.printf("Hair-%s", gProcs[fProcIndex].fName);
@@ -215,15 +200,9 @@
canvas->drawBitmap(b1, SkIntToScalar(b0.width()), 0, NULL);
}
- int fCounter;
-
- virtual void onDrawContent(SkCanvas* canvas) {
+ void onDrawContent(SkCanvas* canvas) SK_OVERRIDE {
gRand.setSeed(fNow);
- if (false) { // avoid bit rot, suppress warning
- test_chromium_9005();
- }
-
SkBitmap bm, bm2;
bm.allocN32Pixels(WIDTH + MARGIN*2, HEIGHT + MARGIN*2);
// this will erase our margin, which we want to always stay 0
@@ -240,23 +219,18 @@
bm2.eraseColor(SK_ColorTRANSPARENT);
gProcs[fProcIndex].fProc(&c2, paint, bm);
canvas->drawBitmap(bm2, SkIntToScalar(10), SkIntToScalar(10), NULL);
-
- SkMSec now = SampleCode::GetAnimTime();
- if (fNow != now) {
- fNow = now;
- fCounter += 1;
- fDoAA = !fDoAA;
- if (fCounter > 50) {
- fProcIndex = cycle_hairproc_index(fProcIndex);
- // todo: signal that we want to rebuild our TITLE
- fCounter = 0;
- }
- this->inval(NULL);
- }
}
- virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y,
- unsigned modi) {
+ bool onAnimatePulse(SkMSec curr, SkMSec prev) SK_OVERRIDE {
+ if (fDoAA) {
+ fProcIndex = cycle_hairproc_index(fProcIndex);
+ // todo: signal that we want to rebuild our TITLE
+ }
+ fDoAA = !fDoAA;
+ return true;
+ }
+
+ SkView::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned modi) SK_OVERRIDE {
fDoAA = !fDoAA;
this->inval(NULL);
return this->INHERITED::onFindClickHandler(x, y, modi);