OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 | 82 |
83 if (shouldRespectImageOrientation == RespectImageOrientation) | 83 if (shouldRespectImageOrientation == RespectImageOrientation) |
84 orientation = bitmapImage->currentFrameOrientation(); | 84 orientation = bitmapImage->currentFrameOrientation(); |
85 | 85 |
86 if (orientation != DefaultImageOrientation) { | 86 if (orientation != DefaultImageOrientation) { |
87 FloatRect destRect(FloatPoint(), sizeRespectingOrientation); | 87 FloatRect destRect(FloatPoint(), sizeRespectingOrientation); |
88 if (orientation.usesWidthAsHeight()) | 88 if (orientation.usesWidthAsHeight()) |
89 destRect = destRect.transposedRect(); | 89 destRect = destRect.transposedRect(); |
90 | 90 |
91 SkBitmap skBitmap; | 91 SkBitmap skBitmap; |
92 skBitmap.setConfig( | 92 if (!skBitmap.allocN32Pixels(sizeRespectingOrientation.width(), size
RespectingOrientation.height())) |
93 SkBitmap::kARGB_8888_Config, sizeRespectingOrientation.width(),
sizeRespectingOrientation.height()); | |
94 if (!skBitmap.allocPixels()) | |
95 return nullptr; | 93 return nullptr; |
96 | 94 |
97 SkCanvas canvas(skBitmap); | 95 SkCanvas canvas(skBitmap); |
98 canvas.concat(affineTransformToSkMatrix(orientation.transformFromDef
ault(sizeRespectingOrientation))); | 96 canvas.concat(affineTransformToSkMatrix(orientation.transformFromDef
ault(sizeRespectingOrientation))); |
99 canvas.drawBitmapRect(bitmap->bitmap(), 0, destRect); | 97 canvas.drawBitmapRect(bitmap->bitmap(), 0, destRect); |
100 | 98 |
101 return adoptPtr(new DragImage(skBitmap, deviceScaleFactor)); | 99 return adoptPtr(new DragImage(skBitmap, deviceScaleFactor)); |
102 } | 100 } |
103 } | 101 } |
104 | 102 |
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
265 *pixel = SkPreMultiplyARGB( | 263 *pixel = SkPreMultiplyARGB( |
266 SkColorGetA(*pixel) * fraction, | 264 SkColorGetA(*pixel) * fraction, |
267 SkColorGetR(*pixel), | 265 SkColorGetR(*pixel), |
268 SkColorGetG(*pixel), | 266 SkColorGetG(*pixel), |
269 SkColorGetB(*pixel)); | 267 SkColorGetB(*pixel)); |
270 } | 268 } |
271 } | 269 } |
272 } | 270 } |
273 | 271 |
274 } // namespace WebCore | 272 } // namespace WebCore |
OLD | NEW |