aboutsummaryrefslogtreecommitdiffhomepage
path: root/dm
diff options
context:
space:
mode:
authorGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-01-15 22:24:58 +0000
committerGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-01-15 22:24:58 +0000
commitb06faacaf13b9b5c47b8526492ad155bdce3863b (patch)
tree80c90789122a3efef15a2998d95a953b982cae24 /dm
parent6a18079de8a39cf8438d60e51b3de2cd3a7edf00 (diff)
Factor out UnPreMultiplyPreservingByteOrder
BUG= R=reed@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/130303005 git-svn-id: http://skia.googlecode.com/svn/trunk@13103 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'dm')
-rw-r--r--dm/DMWriteTask.cpp8
1 files changed, 1 insertions, 7 deletions
diff --git a/dm/DMWriteTask.cpp b/dm/DMWriteTask.cpp
index 11a71faed6..faa20a2cc3 100644
--- a/dm/DMWriteTask.cpp
+++ b/dm/DMWriteTask.cpp
@@ -137,17 +137,11 @@ bool WriteTask::Expectations::check(const Task& task, SkBitmap bitmap) const {
unpremul.setConfig(info);
unpremul.allocPixels();
- // Unpremultiply without changing native byte order.
SkAutoLockPixels lockSrc(bitmap), lockDst(unpremul);
const SkPMColor* src = (SkPMColor*)bitmap.getPixels();
uint32_t* dst = (uint32_t*)unpremul.getPixels();
for (size_t i = 0; i < bitmap.getSize()/4; i++) {
- const U8CPU a = SkGetPackedA32(src[i]);
- const SkUnPreMultiply::Scale s = SkUnPreMultiply::GetScale(a);
- dst[i] = SkPackARGB32NoCheck(a,
- SkUnPreMultiply::ApplyScale(s, SkGetPackedR32(src[i])),
- SkUnPreMultiply::ApplyScale(s, SkGetPackedG32(src[i])),
- SkUnPreMultiply::ApplyScale(s, SkGetPackedB32(src[i])));
+ dst[i] = SkUnPreMultiply::UnPreMultiplyPreservingByteOrder(src[i]);
}
bitmap.swap(unpremul);
}