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

Side by Side Diff: tests/DrawBitmapRectTest.cpp

Issue 164203003: replace setConfig+allocPixels with alloc-or-install-pixels (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Created 6 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 | Annotate | Revision Log
« no previous file with comments | « tests/DeviceLooperTest.cpp ('k') | tests/DrawPathTest.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 2011 Google Inc. 2 * Copyright 2011 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 "SkBitmap.h" 8 #include "SkBitmap.h"
9 #include "SkCanvas.h" 9 #include "SkCanvas.h"
10 #include "SkData.h" 10 #include "SkData.h"
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 return; 171 return;
172 } 172 }
173 } 173 }
174 } 174 }
175 } 175 }
176 } 176 }
177 177
178 static void test_wacky_bitmapshader(skiatest::Reporter* reporter, 178 static void test_wacky_bitmapshader(skiatest::Reporter* reporter,
179 int width, int height, bool shouldBeDrawn) { 179 int width, int height, bool shouldBeDrawn) {
180 SkBitmap dev; 180 SkBitmap dev;
181 dev.setConfig(SkBitmap::kARGB_8888_Config, 0x56F, 0x4f6); 181 dev.allocN32Pixels(0x56F, 0x4f6);
182 dev.allocPixels();
183 dev.eraseColor(SK_ColorTRANSPARENT); // necessary, so we know if we draw to it 182 dev.eraseColor(SK_ColorTRANSPARENT); // necessary, so we know if we draw to it
184 183
185 SkMatrix matrix; 184 SkMatrix matrix;
186 185
187 SkCanvas c(dev); 186 SkCanvas c(dev);
188 matrix.setAll(-119.34097f, 187 matrix.setAll(-119.34097f,
189 -43.436558f, 188 -43.436558f,
190 93489.945f, 189 93489.945f,
191 43.436558f, 190 43.436558f,
192 -119.34097f, 191 -119.34097f,
193 123.98426f, 192 123.98426f,
194 0, 0, SK_Scalar1); 193 0, 0, SK_Scalar1);
195 c.concat(matrix); 194 c.concat(matrix);
196 195
197 SkBitmap bm; 196 SkBitmap bm;
198 bm.setConfig(SkBitmap::kARGB_8888_Config, width, height); 197 bm.allocN32Pixels(width, height);
199 bm.allocPixels();
200 bm.eraseColor(SK_ColorRED); 198 bm.eraseColor(SK_ColorRED);
201 199
202 SkShader* s = SkShader::CreateBitmapShader(bm, SkShader::kRepeat_TileMode, 200 SkShader* s = SkShader::CreateBitmapShader(bm, SkShader::kRepeat_TileMode,
203 SkShader::kRepeat_TileMode); 201 SkShader::kRepeat_TileMode);
204 matrix.setAll(0.0078740157f, 202 matrix.setAll(0.0078740157f,
205 0, 203 0,
206 SkIntToScalar(249), 204 SkIntToScalar(249),
207 0, 205 0,
208 0.0078740157f, 206 0.0078740157f,
209 SkIntToScalar(239), 207 SkIntToScalar(239),
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 test_wacky_bitmapshader(reporter, 251 test_wacky_bitmapshader(reporter,
254 gTests[i].fWidth, gTests[i].fHeight, 252 gTests[i].fWidth, gTests[i].fHeight,
255 gTests[i].fExpectedToDraw); 253 gTests[i].fExpectedToDraw);
256 } 254 }
257 } 255 }
258 256
259 /////////////////////////////////////////////////////////////////////////////// 257 ///////////////////////////////////////////////////////////////////////////////
260 258
261 static void test_nan_antihair() { 259 static void test_nan_antihair() {
262 SkBitmap bm; 260 SkBitmap bm;
263 bm.setConfig(SkBitmap::kARGB_8888_Config, 20, 20); 261 bm.allocN32Pixels(20, 20);
264 bm.allocPixels();
265 262
266 SkCanvas canvas(bm); 263 SkCanvas canvas(bm);
267 264
268 SkPath path; 265 SkPath path;
269 path.moveTo(0, 0); 266 path.moveTo(0, 0);
270 path.lineTo(10, SK_ScalarNaN); 267 path.lineTo(10, SK_ScalarNaN);
271 268
272 SkPaint paint; 269 SkPaint paint;
273 paint.setAntiAlias(true); 270 paint.setAntiAlias(true);
274 paint.setStyle(SkPaint::kStroke_Style); 271 paint.setStyle(SkPaint::kStroke_Style);
(...skipping 16 matching lines...) Expand all
291 return false; 288 return false;
292 } 289 }
293 } 290 }
294 } 291 }
295 return true; 292 return true;
296 } 293 }
297 294
298 static const int gWidth = 256; 295 static const int gWidth = 256;
299 static const int gHeight = 256; 296 static const int gHeight = 256;
300 297
301 static void create(SkBitmap* bm, SkBitmap::Config config, SkColor color) { 298 static void create(SkBitmap* bm, SkColor color) {
302 bm->setConfig(config, gWidth, gHeight); 299 bm->allocN32Pixels(gWidth, gHeight);
303 bm->allocPixels();
304 bm->eraseColor(color); 300 bm->eraseColor(color);
305 } 301 }
306 302
307 DEF_TEST(DrawBitmapRect, reporter) { 303 DEF_TEST(DrawBitmapRect, reporter) {
308 SkBitmap src, dst; 304 SkBitmap src, dst;
309 305
310 create(&src, SkBitmap::kARGB_8888_Config, 0xFFFFFFFF); 306 create(&src, 0xFFFFFFFF);
311 create(&dst, SkBitmap::kARGB_8888_Config, 0); 307 create(&dst, 0);
312 308
313 SkCanvas canvas(dst); 309 SkCanvas canvas(dst);
314 310
315 SkIRect srcR = { gWidth, 0, gWidth + 16, 16 }; 311 SkIRect srcR = { gWidth, 0, gWidth + 16, 16 };
316 SkRect dstR = { 0, 0, SkIntToScalar(16), SkIntToScalar(16) }; 312 SkRect dstR = { 0, 0, SkIntToScalar(16), SkIntToScalar(16) };
317 313
318 canvas.drawBitmapRect(src, &srcR, dstR, NULL); 314 canvas.drawBitmapRect(src, &srcR, dstR, NULL);
319 315
320 // ensure that we draw nothing if srcR does not intersect the bitmap 316 // ensure that we draw nothing if srcR does not intersect the bitmap
321 REPORTER_ASSERT(reporter, check_for_all_zeros(dst)); 317 REPORTER_ASSERT(reporter, check_for_all_zeros(dst));
322 318
323 test_nan_antihair(); 319 test_nan_antihair();
324 test_giantrepeat_crbug118018(reporter); 320 test_giantrepeat_crbug118018(reporter);
325 321
326 test_treatAsSprite(reporter); 322 test_treatAsSprite(reporter);
327 test_faulty_pixelref(reporter); 323 test_faulty_pixelref(reporter);
328 } 324 }
OLDNEW
« no previous file with comments | « tests/DeviceLooperTest.cpp ('k') | tests/DrawPathTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698