blob: 210d7799e1365a1eeb2474e440bf449471a03479 [file] [log] [blame]
reed@android.com9b46e772009-06-05 12:24:41 +00001#include "SampleCode.h"
2#include "SkView.h"
3#include "SkCanvas.h"
4#include "SkCornerPathEffect.h"
5#include "SkCullPoints.h"
6#include "SkGradientShader.h"
7#include "SkPath.h"
8#include "SkRegion.h"
9#include "SkShader.h"
10#include "SkUtils.h"
11
reed@android.com5119bdb2009-06-12 21:27:03 +000012static void show_ramp(SkCanvas* canvas, const SkRect& r) {
13 SkPoint pts[] = { r.fLeft, 0, r.fRight, 0 };
14 SkColor colors[] = { SK_ColorRED, SK_ColorBLUE };
15 SkShader* s = SkGradientShader::CreateLinear(pts, colors, NULL, 2,
16 SkShader::kRepeat_TileMode);
17 SkPaint p;
18 p.setShader(s)->unref();
19 canvas->drawRect(r, p);
20 canvas->translate(r.width() + SkIntToScalar(8), 0);
21 p.setDither(true);
22 canvas->drawRect(r, p);
23}
24
reed@android.com9b46e772009-06-05 12:24:41 +000025class TestGLView : public SkView {
26public:
27 TestGLView() {
28 }
29
30protected:
31 // overrides from SkEventSink
32 virtual bool onQuery(SkEvent* evt) {
33 if (SampleCode::TitleQ(*evt)) {
34 SampleCode::TitleR(evt, "TestGL");
35 return true;
36 }
37 return this->INHERITED::onQuery(evt);
38 }
39
40 void drawBG(SkCanvas* canvas) {
41 canvas->drawColor(0xFFDDDDDD);
42 }
43
44 virtual void onDraw(SkCanvas* canvas) {
45 drawBG(canvas);
46
47 SkRect r;
48 r.set(0, 0, 100, 100);
49
50 canvas->translate(SkIntToScalar(20), SkIntToScalar(20));
51
52 SkPaint paint;
53 paint.setAntiAlias(false);
54 paint.setColor(SK_ColorRED);
55
56 canvas->drawRect(r, paint);
57
58 canvas->translate(r.width() + SkIntToScalar(20), 0);
59 paint.setStyle(SkPaint::kStroke_Style);
60 canvas->drawRect(r, paint);
61
62 canvas->translate(r.width() + SkIntToScalar(20), 0);
63 paint.setStrokeWidth(SkIntToScalar(5));
64 canvas->drawRect(r, paint);
reed@android.com5119bdb2009-06-12 21:27:03 +000065
66 canvas->translate(r.width() * 10/9, 0);
67 show_ramp(canvas, r);
reed@android.com9b46e772009-06-05 12:24:41 +000068 }
69
70private:
71 typedef SkView INHERITED;
72};
73
74//////////////////////////////////////////////////////////////////////////////
75
76static SkView* MyFactory() { return new TestGLView; }
77static SkViewRegister reg(MyFactory);
78