Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(173)

Side by Side Diff: samplecode/SampleHT.cpp

Issue 903993002: rename SkCanvasDrawable to SkDrawable, and make public (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: add dox for drawDrawable Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « samplecode/SampleArc.cpp ('k') | src/core/SkCanvas.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2014 Google Inc. 2 * Copyright 2014 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #include "SampleCode.h" 8 #include "SampleCode.h"
9 #include "SkAnimTimer.h" 9 #include "SkAnimTimer.h"
10 #include "SkView.h" 10 #include "SkView.h"
11 #include "SkCanvas.h" 11 #include "SkCanvas.h"
12 #include "SkCanvasDrawable.h" 12 #include "SkDrawable.h"
13 #include "SkInterpolator.h" 13 #include "SkInterpolator.h"
14 #include "SkPictureRecorder.h" 14 #include "SkPictureRecorder.h"
15 #include "SkRandom.h" 15 #include "SkRandom.h"
16 16
17 const SkRect gUnitSquare = { -1, -1, 1, 1 }; 17 const SkRect gUnitSquare = { -1, -1, 1, 1 };
18 18
19 static void color_to_floats(SkColor c, SkScalar f[4]) { 19 static void color_to_floats(SkColor c, SkScalar f[4]) {
20 f[0] = SkIntToScalar(SkColorGetA(c)); 20 f[0] = SkIntToScalar(SkColorGetA(c));
21 f[1] = SkIntToScalar(SkColorGetR(c)); 21 f[1] = SkIntToScalar(SkColorGetR(c));
22 f[2] = SkIntToScalar(SkColorGetG(c)); 22 f[2] = SkIntToScalar(SkColorGetG(c));
(...skipping 13 matching lines...) Expand all
36 SkPoint pt; 36 SkPoint pt;
37 m.mapXY(x, y, &pt); 37 m.mapXY(x, y, &pt);
38 return pt.lengthSqd() <= 1; 38 return pt.lengthSqd() <= 1;
39 } 39 }
40 40
41 static SkColor rand_opaque_color(uint32_t seed) { 41 static SkColor rand_opaque_color(uint32_t seed) {
42 SkRandom rand(seed); 42 SkRandom rand(seed);
43 return rand.nextU() | (0xFF << 24); 43 return rand.nextU() | (0xFF << 24);
44 } 44 }
45 45
46 class HTDrawable : public SkCanvasDrawable { 46 class HTDrawable : public SkDrawable {
47 SkRect fR; 47 SkRect fR;
48 SkColor fColor; 48 SkColor fColor;
49 SkInterpolator* fInterp; 49 SkInterpolator* fInterp;
50 SkMSec fTime; 50 SkMSec fTime;
51 51
52 public: 52 public:
53 HTDrawable(SkRandom& rand) { 53 HTDrawable(SkRandom& rand) {
54 fR = SkRect::MakeXYWH(rand.nextRangeF(0, 640), rand.nextRangeF(0, 480), 54 fR = SkRect::MakeXYWH(rand.nextRangeF(0, 640), rand.nextRangeF(0, 480),
55 rand.nextRangeF(20, 200), rand.nextRangeF(20, 200) ); 55 rand.nextRangeF(20, 200), rand.nextRangeF(20, 200) );
56 fColor = rand_opaque_color(rand.nextU()); 56 fColor = rand_opaque_color(rand.nextU());
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 enum { 120 enum {
121 N = 50, 121 N = 50,
122 W = 640, 122 W = 640,
123 H = 480, 123 H = 480,
124 }; 124 };
125 125
126 struct Rec { 126 struct Rec {
127 HTDrawable* fDrawable; 127 HTDrawable* fDrawable;
128 }; 128 };
129 Rec fArray[N]; 129 Rec fArray[N];
130 SkAutoTUnref<SkCanvasDrawable> fRoot; 130 SkAutoTUnref<SkDrawable> fRoot;
131 SkMSec fTime; 131 SkMSec fTime;
132 132
133 HTView() { 133 HTView() {
134 SkRandom rand; 134 SkRandom rand;
135 135
136 SkPictureRecorder recorder; 136 SkPictureRecorder recorder;
137 SkCanvas* canvas = recorder.beginRecording(SkRect::MakeWH(W, H)); 137 SkCanvas* canvas = recorder.beginRecording(SkRect::MakeWH(W, H));
138 for (int i = 0; i < N; ++i) { 138 for (int i = 0; i < N; ++i) {
139 fArray[i].fDrawable = new HTDrawable(rand); 139 fArray[i].fDrawable = new HTDrawable(rand);
140 canvas->EXPERIMENTAL_drawDrawable(fArray[i].fDrawable); 140 canvas->drawDrawable(fArray[i].fDrawable);
141 fArray[i].fDrawable->unref(); 141 fArray[i].fDrawable->unref();
142 } 142 }
143 fRoot.reset(recorder.EXPERIMENTAL_endRecordingAsDrawable()); 143 fRoot.reset(recorder.endRecordingAsDrawable());
144 } 144 }
145 145
146 protected: 146 protected:
147 bool onQuery(SkEvent* evt) SK_OVERRIDE { 147 bool onQuery(SkEvent* evt) SK_OVERRIDE {
148 if (SampleCode::TitleQ(*evt)) { 148 if (SampleCode::TitleQ(*evt)) {
149 SampleCode::TitleR(evt, "HT"); 149 SampleCode::TitleR(evt, "HT");
150 return true; 150 return true;
151 } 151 }
152 return this->INHERITED::onQuery(evt); 152 return this->INHERITED::onQuery(evt);
153 } 153 }
154 154
155 void onDrawContent(SkCanvas* canvas) SK_OVERRIDE { 155 void onDrawContent(SkCanvas* canvas) SK_OVERRIDE {
156 canvas->EXPERIMENTAL_drawDrawable(fRoot); 156 canvas->drawDrawable(fRoot);
157 } 157 }
158 158
159 bool onAnimate(const SkAnimTimer& timer) SK_OVERRIDE { 159 bool onAnimate(const SkAnimTimer& timer) SK_OVERRIDE {
160 fTime = timer.msec(); 160 fTime = timer.msec();
161 for (int i = 0; i < N; ++i) { 161 for (int i = 0; i < N; ++i) {
162 fArray[i].fDrawable->setTime(fTime); 162 fArray[i].fDrawable->setTime(fTime);
163 } 163 }
164 return true; 164 return true;
165 } 165 }
166 166
(...skipping 10 matching lines...) Expand all
177 } 177 }
178 178
179 private: 179 private:
180 typedef SampleView INHERITED; 180 typedef SampleView INHERITED;
181 }; 181 };
182 182
183 ////////////////////////////////////////////////////////////////////////////// 183 //////////////////////////////////////////////////////////////////////////////
184 184
185 static SkView* MyFactory() { return new HTView; } 185 static SkView* MyFactory() { return new HTView; }
186 static SkViewRegister reg(MyFactory); 186 static SkViewRegister reg(MyFactory);
OLDNEW
« no previous file with comments | « samplecode/SampleArc.cpp ('k') | src/core/SkCanvas.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698