| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "build/build_config.h" | 5 #include "build/build_config.h" |
| 6 | 6 |
| 7 #if !defined(OS_WIN) | 7 #if !defined(OS_WIN) |
| 8 #include <unistd.h> | 8 #include <unistd.h> |
| 9 #endif | 9 #endif |
| 10 | 10 |
| (...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 383 delete context_; | 383 delete context_; |
| 384 context_ = NULL; | 384 context_ = NULL; |
| 385 | 385 |
| 386 parent::TearDown(); | 386 parent::TearDown(); |
| 387 } | 387 } |
| 388 | 388 |
| 389 void Init(int size) { | 389 void Init(int size) { |
| 390 size_ = size; | 390 size_ = size; |
| 391 context_ = new Context(); | 391 context_ = new Context(); |
| 392 bitmap_ = new Bitmap(*context_, size_, size_); | 392 bitmap_ = new Bitmap(*context_, size_, size_); |
| 393 vcanvas_ = new VectorCanvas(VectorPlatformDeviceEmf::CreateDevice( | 393 vcanvas_ = new VectorCanvas(skia::RefPtr<SkDevice>( |
| 394 size_, size_, true, context_->context())); | 394 VectorPlatformDeviceEmf::CreateDevice( |
| 395 size_, size_, true, context_->context()))); |
| 395 pcanvas_ = CreatePlatformCanvas(size_, size_, false); | 396 pcanvas_ = CreatePlatformCanvas(size_, size_, false); |
| 396 | 397 |
| 397 // Clear white. | 398 // Clear white. |
| 398 vcanvas_->drawARGB(255, 255, 255, 255, SkXfermode::kSrc_Mode); | 399 vcanvas_->drawARGB(255, 255, 255, 255, SkXfermode::kSrc_Mode); |
| 399 pcanvas_->drawARGB(255, 255, 255, 255, SkXfermode::kSrc_Mode); | 400 pcanvas_->drawARGB(255, 255, 255, 255, SkXfermode::kSrc_Mode); |
| 400 } | 401 } |
| 401 | 402 |
| 402 // Compares both canvas and returns the pixel difference in percentage between | 403 // Compares both canvas and returns the pixel difference in percentage between |
| 403 // both images. 0 on success and ]0, 100] on failure. | 404 // both images. 0 on success and ]0, 100] on failure. |
| 404 double ProcessImage(const FilePath::StringType& filename) { | 405 double ProcessImage(const FilePath::StringType& filename) { |
| (...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 722 | 723 |
| 723 #if defined(OS_WIN) | 724 #if defined(OS_WIN) |
| 724 #define MAYBE_PathEffects DISABLED_PathEffects | 725 #define MAYBE_PathEffects DISABLED_PathEffects |
| 725 #else | 726 #else |
| 726 #define MAYBE_PathEffects PathEffects | 727 #define MAYBE_PathEffects PathEffects |
| 727 #endif | 728 #endif |
| 728 TEST_F(VectorCanvasTest, MAYBE_PathEffects) { | 729 TEST_F(VectorCanvasTest, MAYBE_PathEffects) { |
| 729 { | 730 { |
| 730 SkPaint paint; | 731 SkPaint paint; |
| 731 SkScalar intervals[] = { 1, 1 }; | 732 SkScalar intervals[] = { 1, 1 }; |
| 732 SkPathEffect* effect = new SkDashPathEffect(intervals, arraysize(intervals), | 733 skia::RefPtr<SkPathEffect> effect = skia::AdoptRef( |
| 733 0); | 734 new SkDashPathEffect(intervals, arraysize(intervals), 0)); |
| 734 paint.setPathEffect(effect)->unref(); | 735 paint.setPathEffect(effect.get()); |
| 735 paint.setColor(SK_ColorMAGENTA); | 736 paint.setColor(SK_ColorMAGENTA); |
| 736 paint.setStyle(SkPaint::kStroke_Style); | 737 paint.setStyle(SkPaint::kStroke_Style); |
| 737 | 738 |
| 738 vcanvas_->drawLine(10, 10, 90, 10, paint); | 739 vcanvas_->drawLine(10, 10, 90, 10, paint); |
| 739 pcanvas_->drawLine(10, 10, 90, 10, paint); | 740 pcanvas_->drawLine(10, 10, 90, 10, paint); |
| 740 } | 741 } |
| 741 EXPECT_EQ(0., ProcessImage(FILE_PATH_LITERAL("dash_line"))); | 742 EXPECT_EQ(0., ProcessImage(FILE_PATH_LITERAL("dash_line"))); |
| 742 | 743 |
| 743 | 744 |
| 744 // Starting here, there is NO WAY to make them agree. At least verify that the | 745 // Starting here, there is NO WAY to make them agree. At least verify that the |
| 745 // output doesn't change across versions. This test is disabled. See bug | 746 // output doesn't change across versions. This test is disabled. See bug |
| 746 // 1060231. | 747 // 1060231. |
| 747 compare_canvas_ = false; | 748 compare_canvas_ = false; |
| 748 | 749 |
| 749 { | 750 { |
| 750 SkPaint paint; | 751 SkPaint paint; |
| 751 SkScalar intervals[] = { 3, 5 }; | 752 SkScalar intervals[] = { 3, 5 }; |
| 752 SkPathEffect* effect = new SkDashPathEffect(intervals, arraysize(intervals), | 753 skia::RefPtr<SkPathEffect> effect = skia::AdoptRef( |
| 753 0); | 754 new SkDashPathEffect(intervals, arraysize(intervals), 0)); |
| 754 paint.setPathEffect(effect)->unref(); | 755 paint.setPathEffect(effect.get()); |
| 755 paint.setColor(SK_ColorMAGENTA); | 756 paint.setColor(SK_ColorMAGENTA); |
| 756 paint.setStyle(SkPaint::kStroke_Style); | 757 paint.setStyle(SkPaint::kStroke_Style); |
| 757 | 758 |
| 758 SkPath path; | 759 SkPath path; |
| 759 path.moveTo(10, 15); | 760 path.moveTo(10, 15); |
| 760 path.lineTo(90, 15); | 761 path.lineTo(90, 15); |
| 761 path.lineTo(90, 90); | 762 path.lineTo(90, 90); |
| 762 vcanvas_->drawPath(path, paint); | 763 vcanvas_->drawPath(path, paint); |
| 763 pcanvas_->drawPath(path, paint); | 764 pcanvas_->drawPath(path, paint); |
| 764 } | 765 } |
| 765 EXPECT_EQ(0., ProcessImage(FILE_PATH_LITERAL("dash_path"))); | 766 EXPECT_EQ(0., ProcessImage(FILE_PATH_LITERAL("dash_path"))); |
| 766 | 767 |
| 767 { | 768 { |
| 768 SkPaint paint; | 769 SkPaint paint; |
| 769 SkScalar intervals[] = { 2, 1 }; | 770 SkScalar intervals[] = { 2, 1 }; |
| 770 SkPathEffect* effect = new SkDashPathEffect(intervals, arraysize(intervals), | 771 skia::RefPtr<SkPathEffect> effect = skia::AdoptRef( |
| 771 0); | 772 new SkDashPathEffect(intervals, arraysize(intervals), 0)); |
| 772 paint.setPathEffect(effect)->unref(); | 773 paint.setPathEffect(effect.get()); |
| 773 paint.setColor(SK_ColorMAGENTA); | 774 paint.setColor(SK_ColorMAGENTA); |
| 774 paint.setStyle(SkPaint::kStroke_Style); | 775 paint.setStyle(SkPaint::kStroke_Style); |
| 775 | 776 |
| 776 vcanvas_->drawRectCoords(20, 20, 30, 30, paint); | 777 vcanvas_->drawRectCoords(20, 20, 30, 30, paint); |
| 777 pcanvas_->drawRectCoords(20, 20, 30, 30, paint); | 778 pcanvas_->drawRectCoords(20, 20, 30, 30, paint); |
| 778 } | 779 } |
| 779 EXPECT_EQ(0., ProcessImage(FILE_PATH_LITERAL("dash_rect"))); | 780 EXPECT_EQ(0., ProcessImage(FILE_PATH_LITERAL("dash_rect"))); |
| 780 | 781 |
| 781 // This thing looks like it has been drawn by a 3 years old kid. I haven't | 782 // This thing looks like it has been drawn by a 3 years old kid. I haven't |
| 782 // filed a bug on this since I guess nobody is expecting this to look nice. | 783 // filed a bug on this since I guess nobody is expecting this to look nice. |
| 783 { | 784 { |
| 784 SkPaint paint; | 785 SkPaint paint; |
| 785 SkScalar intervals[] = { 1, 1 }; | 786 SkScalar intervals[] = { 1, 1 }; |
| 786 SkPathEffect* effect = new SkDashPathEffect(intervals, arraysize(intervals), | 787 skia::RefPtr<SkPathEffect> effect = skia::AdoptRef( |
| 787 0); | 788 new SkDashPathEffect(intervals, arraysize(intervals), 0)); |
| 788 paint.setPathEffect(effect)->unref(); | 789 paint.setPathEffect(effect.get()); |
| 789 paint.setColor(SK_ColorMAGENTA); | 790 paint.setColor(SK_ColorMAGENTA); |
| 790 paint.setStyle(SkPaint::kStroke_Style); | 791 paint.setStyle(SkPaint::kStroke_Style); |
| 791 | 792 |
| 792 SkPath path; | 793 SkPath path; |
| 793 path.addCircle(50, 75, 10); | 794 path.addCircle(50, 75, 10); |
| 794 vcanvas_->drawPath(path, paint); | 795 vcanvas_->drawPath(path, paint); |
| 795 pcanvas_->drawPath(path, paint); | 796 pcanvas_->drawPath(path, paint); |
| 796 EXPECT_EQ(0., ProcessImage(FILE_PATH_LITERAL("circle"))); | 797 EXPECT_EQ(0., ProcessImage(FILE_PATH_LITERAL("circle"))); |
| 797 } | 798 } |
| 798 } | 799 } |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 959 pcanvas_->rotate(67); | 960 pcanvas_->rotate(67); |
| 960 vcanvas_->drawBitmap(bitmap, 20, -50, NULL); | 961 vcanvas_->drawBitmap(bitmap, 20, -50, NULL); |
| 961 pcanvas_->drawBitmap(bitmap, 20, -50, NULL); | 962 pcanvas_->drawBitmap(bitmap, 20, -50, NULL); |
| 962 EXPECT_EQ(0., ProcessImage(FILE_PATH_LITERAL("rotate"))); | 963 EXPECT_EQ(0., ProcessImage(FILE_PATH_LITERAL("rotate"))); |
| 963 } | 964 } |
| 964 } | 965 } |
| 965 | 966 |
| 966 #endif // !defined(USE_AURA) | 967 #endif // !defined(USE_AURA) |
| 967 | 968 |
| 968 } // namespace skia | 969 } // namespace skia |
| OLD | NEW |