1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com
2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com/*
3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Copyright 2011 Google Inc.
4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com *
5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Use of this source code is governed by a BSD-style license that can be
6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * found in the LICENSE file.
7ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com */
84c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com#include "SampleCode.h"
94c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com#include "SkView.h"
104c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com#include "SkCanvas.h"
114c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com
124c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.comclass SimpleView : public SampleView {
134c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.compublic:
14ae933ce0ea5fd9d21cb6ef2cee7e729d32690aacrmistry@google.com    SimpleView() {
154c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com        this->setBGColor(0xFFDDDDDD);
16ae933ce0ea5fd9d21cb6ef2cee7e729d32690aacrmistry@google.com    }
17ae933ce0ea5fd9d21cb6ef2cee7e729d32690aacrmistry@google.com
184c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.comprotected:
194c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com    // overrides from SkEventSink
204c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com    virtual bool onQuery(SkEvent* evt)  {
214c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com        if (SampleCode::TitleQ(*evt)) {
224c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com            SampleCode::TitleR(evt, "Box Gradient");
234c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com            return true;
244c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com        }
254c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com        return this->INHERITED::onQuery(evt);
264c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com    }
27ae933ce0ea5fd9d21cb6ef2cee7e729d32690aacrmistry@google.com
284c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com    virtual void onDrawContent(SkCanvas* canvas) {
294c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com        SkPaint paint;
304c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com        paint.setAntiAlias(true);
314c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com        paint.setStyle(SkPaint::kStroke_Style);
324c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com        paint.setStrokeWidth(SkScalarHalf(SkIntToScalar(3)));
334c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com        paint.setStyle(SkPaint::kFill_Style);
34ae933ce0ea5fd9d21cb6ef2cee7e729d32690aacrmistry@google.com
354c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com        SkRect  r;
364c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com        SkScalar x,y;
374c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com        x = 10;
384c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com        y = 10;
394c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com
404c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com        r.set(x, y, x + SkIntToScalar(100), y + SkIntToScalar(100));
414c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com        for (int i = 0; i < 256; ++i) {
424c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com            canvas->translate(1, 1);
434c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com            paint.setColor(0xFF000000 + i * 0x00010000);
444c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com            canvas->drawRect(r, paint);
454c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com        }
464c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com    }
47ae933ce0ea5fd9d21cb6ef2cee7e729d32690aacrmistry@google.com
484c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.comprivate:
494c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com    typedef SampleView INHERITED;
504c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com};
514c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com
524c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com//////////////////////////////////////////////////////////////////////////////
534c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.com
544c295a3d9285247a50fffbc3d2a3317c45249c5byangsu@google.comstatic SkView* MyFactory() { return new SimpleView; }
55bda03db28935eef7f9a3aae05fdedca57cd984adrmistry@google.comstatic SkViewRegister reg(MyFactory);
56