aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
authorGravatar Matt Sarett <msarett@google.com>2017-04-11 08:46:01 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-04-11 13:28:29 +0000
commit31f99ce7d2f3c2b61742d07ab92b6dac6a928ef9 (patch)
treef1b2fdef9687f3fadc017e600ebc1c772aa3e5a5 /tests
parent934292170bade335f972a050a2f64d2cca9ca299 (diff)
SkCanvas constructor with legacy flag for Android framework
Bug: skia: Change-Id: I5b268ad03dde075f2710196d5ad2bd19249557f7 Reviewed-on: https://skia-review.googlesource.com/11788 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Mike Reed <reed@google.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/CanvasTest.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/CanvasTest.cpp b/tests/CanvasTest.cpp
index 26228bacde..fabd19574a 100644
--- a/tests/CanvasTest.cpp
+++ b/tests/CanvasTest.cpp
@@ -887,3 +887,23 @@ DEF_TEST(CanvasClipType, r) {
SkDynamicMemoryWStream stream;
test_cliptype(SkDocument::MakePDF(&stream)->beginPage(100, 100), r);
}
+
+#ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
+DEF_TEST(Canvas_LegacyColorBehavior, r) {
+ sk_sp<SkColorSpace> cs = SkColorSpace::MakeRGB(SkColorSpace::kSRGB_RenderTargetGamma,
+ SkColorSpace::kAdobeRGB_Gamut);
+
+ // Make a Adobe RGB bitmap.
+ SkBitmap bitmap;
+ bitmap.allocPixels(SkImageInfo::MakeN32(1, 1, kOpaque_SkAlphaType, cs));
+ bitmap.eraseColor(0xFF000000);
+
+ // Wrap it in a legacy canvas. Test that the canvas behaves like a legacy canvas.
+ SkCanvas canvas(bitmap, SkCanvas::ColorBehavior::kLegacy);
+ REPORTER_ASSERT(r, !canvas.imageInfo().colorSpace());
+ SkPaint p;
+ p.setColor(SK_ColorRED);
+ canvas.drawIRect(SkIRect::MakeWH(1, 1), p);
+ REPORTER_ASSERT(r, SK_ColorRED == SkSwizzle_BGRA_to_PMColor(*bitmap.getAddr32(0, 0)));
+}
+#endif