summaryrefslogtreecommitdiffstats
path: root/gfx/skbitmap_operations.cc
diff options
context:
space:
mode:
authordavemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-10 00:04:34 +0000
committerdavemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-10 00:04:34 +0000
commit8d1b864d1d90a055a6280b62541624793842ce9c (patch)
tree85932f19dc4ad3771fed903cd3ed7cfaf9857e1b /gfx/skbitmap_operations.cc
parentaf1f9f3ab83cd5184d2b0f71492358aabc3129fc (diff)
downloadchromium_src-8d1b864d1d90a055a6280b62541624793842ce9c.zip
chromium_src-8d1b864d1d90a055a6280b62541624793842ce9c.tar.gz
chromium_src-8d1b864d1d90a055a6280b62541624793842ce9c.tar.bz2
Fixed include in test_webkit_client
retrying "Revert 62068 - Move implementation of linux scrollbars from webkit using new" See: http://codereview.chromium.org/3618014 TBR:jam@chromium.org BUG=chromium-os:6857 TEST=Verify that both linux and chromeos scrollbars look right. Review URL: http://codereview.chromium.org/3697001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62093 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gfx/skbitmap_operations.cc')
-rw-r--r--gfx/skbitmap_operations.cc24
1 files changed, 24 insertions, 0 deletions
diff --git a/gfx/skbitmap_operations.cc b/gfx/skbitmap_operations.cc
index b8cec11..6899553 100644
--- a/gfx/skbitmap_operations.cc
+++ b/gfx/skbitmap_operations.cc
@@ -695,3 +695,27 @@ SkBitmap SkBitmapOperations::UnPreMultiply(const SkBitmap& bitmap) {
opaque_bitmap.setIsOpaque(true);
return opaque_bitmap;
}
+
+// static
+SkBitmap SkBitmapOperations::CreateTransposedBtmap(const SkBitmap& image) {
+ DCHECK(image.config() == SkBitmap::kARGB_8888_Config);
+
+ SkAutoLockPixels lock_image(image);
+
+ SkBitmap transposed;
+ transposed.setConfig(
+ SkBitmap::kARGB_8888_Config, image.height(), image.width(), 0);
+ transposed.allocPixels();
+ transposed.eraseARGB(0, 0, 0, 0);
+
+ for (int y = 0; y < image.height(); ++y) {
+ uint32* image_row = image.getAddr32(0, y);
+ for (int x = 0; x < image.width(); ++x) {
+ uint32* dst = transposed.getAddr32(y, x);
+ *dst = image_row[x];
+ }
+ }
+
+ return transposed;
+}
+