add new copyTo version to SkBitmap, which takes SkColorType
BUG=skia:
R=scroggo@google.com, halcanary@google.com, bsalomon@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/171723007
git-svn-id: http://skia.googlecode.com/svn/trunk@13553 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/dm/DMWriteTask.cpp b/dm/DMWriteTask.cpp
index dc31d29..5adb1d0 100644
--- a/dm/DMWriteTask.cpp
+++ b/dm/DMWriteTask.cpp
@@ -113,12 +113,10 @@
return false;
}
- SkImageInfo info;
- SkAssertResult(bitmap.asImageInfo(&info));
+ const SkImageInfo info = bitmap.info();
SkBitmap expected;
- expected.setConfig(info);
- expected.allocPixels();
+ expected.allocPixels(info);
// expected will be unpremultiplied.
decoder->setRequireUnpremultipliedColors(true);
@@ -128,19 +126,18 @@
}
// We always seem to decode to 8888. This puts 565 back in 565.
- if (expected.config() != bitmap.config()) {
+ if (expected.colorType() != bitmap.colorType()) {
SkBitmap converted;
- SkAssertResult(expected.copyTo(&converted, bitmap.config()));
+ SkAssertResult(expected.copyTo(&converted, bitmap.colorType()));
expected.swap(converted);
}
SkASSERT(expected.config() == bitmap.config());
// Manually unpremultiply 8888 bitmaps to match expected.
// Their pixels are shared, concurrently even, so we must copy them.
- if (info.fColorType == kPMColor_SkColorType) {
+ if (info.colorType() == kPMColor_SkColorType) {
SkBitmap unpremul;
- unpremul.setConfig(info);
- unpremul.allocPixels();
+ unpremul.allocPixels(info);
SkAutoLockPixels lockSrc(bitmap), lockDst(unpremul);
const SkPMColor* src = (SkPMColor*)bitmap.getPixels();