OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 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 "Test.h" | 8 #include "Test.h" |
9 #include "SkMatrix.h" | 9 #include "SkMatrix.h" |
10 #include "SkRRect.h" | 10 #include "SkRRect.h" |
11 | 11 |
12 static const SkScalar kWidth = SkFloatToScalar(100.0f); | 12 static const SkScalar kWidth = 100.0f; |
13 static const SkScalar kHeight = SkFloatToScalar(100.0f); | 13 static const SkScalar kHeight = 100.0f; |
14 | 14 |
15 static void test_inset(skiatest::Reporter* reporter) { | 15 static void test_inset(skiatest::Reporter* reporter) { |
16 SkRRect rr, rr2; | 16 SkRRect rr, rr2; |
17 SkRect r = { 0, 0, 100, 100 }; | 17 SkRect r = { 0, 0, 100, 100 }; |
18 | 18 |
19 rr.setRect(r); | 19 rr.setRect(r); |
20 rr.inset(-20, -20, &rr2); | 20 rr.inset(-20, -20, &rr2); |
21 REPORTER_ASSERT(reporter, rr2.isRect()); | 21 REPORTER_ASSERT(reporter, rr2.isRect()); |
22 | 22 |
23 rr.inset(20, 20, &rr2); | 23 rr.inset(20, 20, &rr2); |
(...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
503 REPORTER_ASSERT(reporter, origLL == dstUR); | 503 REPORTER_ASSERT(reporter, origLL == dstUR); |
504 } | 504 } |
505 // Width and height remain the same. | 505 // Width and height remain the same. |
506 REPORTER_ASSERT(reporter, orig.rect().width() == dst.rect().width()); | 506 REPORTER_ASSERT(reporter, orig.rect().width() == dst.rect().width()); |
507 REPORTER_ASSERT(reporter, orig.rect().height() == dst.rect().height()); | 507 REPORTER_ASSERT(reporter, orig.rect().height() == dst.rect().height()); |
508 REPORTER_ASSERT(reporter, orig.rect().top() == -dst.rect().bottom()); | 508 REPORTER_ASSERT(reporter, orig.rect().top() == -dst.rect().bottom()); |
509 REPORTER_ASSERT(reporter, orig.rect().right() == -dst.rect().left()); | 509 REPORTER_ASSERT(reporter, orig.rect().right() == -dst.rect().left()); |
510 | 510 |
511 // Scale in both directions. | 511 // Scale in both directions. |
512 SkScalar xScale = SkIntToScalar(3); | 512 SkScalar xScale = SkIntToScalar(3); |
513 SkScalar yScale = SkFloatToScalar(3.2f); | 513 SkScalar yScale = 3.2f; |
514 matrix.reset(); | 514 matrix.reset(); |
515 matrix.setScaleX(xScale); | 515 matrix.setScaleX(xScale); |
516 matrix.setScaleY(yScale); | 516 matrix.setScaleY(yScale); |
517 dst.setEmpty(); | 517 dst.setEmpty(); |
518 success = orig.transform(matrix, &dst); | 518 success = orig.transform(matrix, &dst); |
519 REPORTER_ASSERT(reporter, success); | 519 REPORTER_ASSERT(reporter, success); |
520 // Radii are scaled. | 520 // Radii are scaled. |
521 for (int i = 0; i < 4; ++i) { | 521 for (int i = 0; i < 4; ++i) { |
522 REPORTER_ASSERT(reporter, SkScalarNearlyEqual(dst.radii((SkRRect::Corner
) i).fX, | 522 REPORTER_ASSERT(reporter, SkScalarNearlyEqual(dst.radii((SkRRect::Corner
) i).fX, |
523 SkScalarMul(orig.radii((SkRRect::Corner) i).
fX, xScale))); | 523 SkScalarMul(orig.radii((SkRRect::Corner) i).
fX, xScale))); |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
559 test_round_rect_ovals(reporter); | 559 test_round_rect_ovals(reporter); |
560 test_round_rect_general(reporter); | 560 test_round_rect_general(reporter); |
561 test_round_rect_iffy_parameters(reporter); | 561 test_round_rect_iffy_parameters(reporter); |
562 test_inset(reporter); | 562 test_inset(reporter); |
563 test_round_rect_contains_rect(reporter); | 563 test_round_rect_contains_rect(reporter); |
564 test_round_rect_transform(reporter); | 564 test_round_rect_transform(reporter); |
565 } | 565 } |
566 | 566 |
567 #include "TestClassDef.h" | 567 #include "TestClassDef.h" |
568 DEFINE_TESTCLASS("RoundRect", TestRoundRectClass, TestRoundRect) | 568 DEFINE_TESTCLASS("RoundRect", TestRoundRectClass, TestRoundRect) |
OLD | NEW |