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

Side by Side Diff: tests/AAClipTest.cpp

Issue 541593005: allow canvas to force conservative clips (for speed) (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 3 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
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 "SkAAClip.h" 8 #include "SkAAClip.h"
9 #include "SkCanvas.h" 9 #include "SkCanvas.h"
10 #include "SkMask.h" 10 #include "SkMask.h"
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 copyToMask(a, &ma); 364 copyToMask(a, &ma);
365 copyToMask(b, &mb); 365 copyToMask(b, &mb);
366 SkAutoMaskFreeImage aCleanUp(ma.fImage); 366 SkAutoMaskFreeImage aCleanUp(ma.fImage);
367 SkAutoMaskFreeImage bCleanUp(mb.fImage); 367 SkAutoMaskFreeImage bCleanUp(mb.fImage);
368 368
369 return ma == mb; 369 return ma == mb;
370 } 370 }
371 371
372 static void did_dx_affect(skiatest::Reporter* reporter, const SkScalar dx[], 372 static void did_dx_affect(skiatest::Reporter* reporter, const SkScalar dx[],
373 size_t count, bool changed) { 373 size_t count, bool changed) {
374 const SkISize baseSize = SkISize::Make(10, 10);
374 SkIRect ir = { 0, 0, 10, 10 }; 375 SkIRect ir = { 0, 0, 10, 10 };
375 376
376 for (size_t i = 0; i < count; ++i) { 377 for (size_t i = 0; i < count; ++i) {
377 SkRect r; 378 SkRect r;
378 r.set(ir); 379 r.set(ir);
379 380
380 SkRasterClip rc0(ir); 381 SkRasterClip rc0(ir);
381 SkRasterClip rc1(ir); 382 SkRasterClip rc1(ir);
382 SkRasterClip rc2(ir); 383 SkRasterClip rc2(ir);
383 384
384 rc0.op(r, SkRegion::kIntersect_Op, false); 385 rc0.op(r, baseSize, SkRegion::kIntersect_Op, false);
385 r.offset(dx[i], 0); 386 r.offset(dx[i], 0);
386 rc1.op(r, SkRegion::kIntersect_Op, true); 387 rc1.op(r, baseSize, SkRegion::kIntersect_Op, true);
387 r.offset(-2*dx[i], 0); 388 r.offset(-2*dx[i], 0);
388 rc2.op(r, SkRegion::kIntersect_Op, true); 389 rc2.op(r, baseSize, SkRegion::kIntersect_Op, true);
389 390
390 REPORTER_ASSERT(reporter, changed != (rc0 == rc1)); 391 REPORTER_ASSERT(reporter, changed != (rc0 == rc1));
391 REPORTER_ASSERT(reporter, changed != (rc0 == rc2)); 392 REPORTER_ASSERT(reporter, changed != (rc0 == rc2));
392 } 393 }
393 } 394 }
394 395
395 static void test_nearly_integral(skiatest::Reporter* reporter) { 396 static void test_nearly_integral(skiatest::Reporter* reporter) {
396 // All of these should generate equivalent rasterclips 397 // All of these should generate equivalent rasterclips
397 398
398 static const SkScalar gSafeX[] = { 399 static const SkScalar gSafeX[] = {
(...skipping 24 matching lines...) Expand all
423 DEF_TEST(AAClip, reporter) { 424 DEF_TEST(AAClip, reporter) {
424 test_empty(reporter); 425 test_empty(reporter);
425 test_path_bounds(reporter); 426 test_path_bounds(reporter);
426 test_irect(reporter); 427 test_irect(reporter);
427 test_rgn(reporter); 428 test_rgn(reporter);
428 test_path_with_hole(reporter); 429 test_path_with_hole(reporter);
429 test_regressions(); 430 test_regressions();
430 test_nearly_integral(reporter); 431 test_nearly_integral(reporter);
431 test_really_a_rect(reporter); 432 test_really_a_rect(reporter);
432 } 433 }
OLDNEW
« src/core/SkRasterClip.cpp ('K') | « src/core/SkRecorder.cpp ('k') | tests/PictureTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698