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