-
/*
* Copyright 2011 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
-#include "SampleCode.h"
-#include "SkView.h"
+
+#include "gm.h"
#include "SkCanvas.h"
#include "SkGraphics.h"
#include "SkRandom.h"
#define WIDTH 200
#define HEIGHT 200
-class LooperView : public SampleView {
+class DrawLooperGM : public skiagm::GM {
public:
+ DrawLooperGM() : fLooper(NULL) {
+ this->setBGColor(0xFFDDDDDD);
+ }
+
+ virtual ~DrawLooperGM() {
+ SkSafeUnref(fLooper);
+ }
+
+protected:
+ virtual SkISize onISize() {
+ return SkISize::Make(520, 160);
+ }
+
+ virtual SkString onShortName() SK_OVERRIDE {
+ return SkString("drawlooper");
+ }
+
+ virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE {
+ this->init();
+
+ SkPaint paint;
+ paint.setTextSize(SkIntToScalar(72));
+ paint.setLooper(fLooper);
+
+ canvas->drawCircle(SkIntToScalar(50), SkIntToScalar(50),
+ SkIntToScalar(30), paint);
+
+ canvas->drawRectCoords(SkIntToScalar(150), SkIntToScalar(50),
+ SkIntToScalar(200), SkIntToScalar(100), paint);
+ canvas->drawText("Looper", 6, SkIntToScalar(230), SkIntToScalar(100),
+ paint);
+ }
+
+private:
SkLayerDrawLooper* fLooper;
- LooperView() {
+ void init() {
+ if (fLooper) return;
+
static const struct {
SkColor fColor;
SkPaint::Style fStyle;
{ SK_ColorBLUE, SkPaint::kFill_Style, 0, 0, 0 },
{ 0x88000000, SkPaint::kFill_Style, 0, SkIntToScalar(10), 3 }
};
-
+
fLooper = new SkLayerDrawLooper;
-
+
SkLayerDrawLooper::LayerInfo info;
info.fFlagsMask = SkPaint::kAntiAlias_Flag;
info.fPaintBits = SkLayerDrawLooper::kStyle_Bit | SkLayerDrawLooper::kMaskFilter_Bit;
paint->setMaskFilter(mf)->unref();
}
}
-
- this->setBGColor(0xFFDDDDDD);
- }
-
- virtual ~LooperView() {
- SkSafeUnref(fLooper);
- }
-
-protected:
- // overrides from SkEventSink
- virtual bool onQuery(SkEvent* evt) {
- if (SampleCode::TitleQ(*evt)) {
- SampleCode::TitleR(evt, "DrawLooper");
- return true;
- }
- return this->INHERITED::onQuery(evt);
- }
-
- virtual void onDrawContent(SkCanvas* canvas) {
- SkPaint paint;
- paint.setTextSize(SkIntToScalar(72));
- paint.setLooper(fLooper);
-
- canvas->drawCircle(SkIntToScalar(50), SkIntToScalar(50),
- SkIntToScalar(30), paint);
-
- canvas->drawRectCoords(SkIntToScalar(150), SkIntToScalar(50),
- SkIntToScalar(200), SkIntToScalar(100), paint);
-
- canvas->drawText("Looper", 6, SkIntToScalar(230), SkIntToScalar(100),
- paint);
}
-private:
- typedef SampleView INHERITED;
+ typedef GM INHERITED;
};
//////////////////////////////////////////////////////////////////////////////
-static SkView* MyFactory() { return new LooperView; }
-static SkViewRegister reg(MyFactory);
+static skiagm::GM* MyFactory(void*) { return new DrawLooperGM; }
+static skiagm::GMRegistry reg(MyFactory);