Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(133)

Side by Side Diff: ui/gfx/skbitmap_operations.cc

Issue 1391893003: NOT FOR REVIEW: Aura on Android (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/gfx/skbitmap_operations.h" 5 #include "ui/gfx/skbitmap_operations.h"
6 6
7 #include <string.h> 7 #include <string.h>
8 #include <algorithm> 8 #include <algorithm>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 for (int y = 0; y < masked.height(); ++y) { 112 for (int y = 0; y < masked.height(); ++y) {
113 uint32* rgb_row = rgb.getAddr32(0, y); 113 uint32* rgb_row = rgb.getAddr32(0, y);
114 uint32* alpha_row = alpha.getAddr32(0, y); 114 uint32* alpha_row = alpha.getAddr32(0, y);
115 uint32* dst_row = masked.getAddr32(0, y); 115 uint32* dst_row = masked.getAddr32(0, y);
116 116
117 for (int x = 0; x < masked.width(); ++x) { 117 for (int x = 0; x < masked.width(); ++x) {
118 SkColor rgb_pixel = SkUnPreMultiply::PMColorToColor(rgb_row[x]); 118 SkColor rgb_pixel = SkUnPreMultiply::PMColorToColor(rgb_row[x]);
119 SkColor alpha_pixel = SkUnPreMultiply::PMColorToColor(alpha_row[x]); 119 SkColor alpha_pixel = SkUnPreMultiply::PMColorToColor(alpha_row[x]);
120 int alpha = SkAlphaMul(SkColorGetA(rgb_pixel), 120 int alpha = SkAlphaMul(SkColorGetA(rgb_pixel),
121 SkAlpha255To256(SkColorGetA(alpha_pixel))); 121 SkAlpha255To256(SkColorGetA(alpha_pixel)));
122 int alpha_256 = SkAlpha255To256(alpha); 122 dst_row[x] = SkPreMultiplyARGB(alpha,
123 dst_row[x] = SkColorSetARGB(alpha, 123 SkColorGetR(rgb_pixel),
124 SkAlphaMul(SkColorGetR(rgb_pixel), alpha_256), 124 SkColorGetG(rgb_pixel),
125 SkAlphaMul(SkColorGetG(rgb_pixel), alpha_256), 125 SkColorGetB(rgb_pixel));
126 SkAlphaMul(SkColorGetB(rgb_pixel),
127 alpha_256));
128 } 126 }
129 } 127 }
130 128
131 return masked; 129 return masked;
132 } 130 }
133 131
134 // static 132 // static
135 SkBitmap SkBitmapOperations::CreateButtonBackground(SkColor color, 133 SkBitmap SkBitmapOperations::CreateButtonBackground(SkColor color,
136 const SkBitmap& image, 134 const SkBitmap& image,
137 const SkBitmap& mask) { 135 const SkBitmap& mask) {
(...skipping 650 matching lines...) Expand 10 before | Expand all | Expand 10 after
788 canvas.translate(SkFloatToScalar(result.width() * 0.5f), 786 canvas.translate(SkFloatToScalar(result.width() * 0.5f),
789 SkFloatToScalar(result.height() * 0.5f)); 787 SkFloatToScalar(result.height() * 0.5f));
790 canvas.rotate(angle); 788 canvas.rotate(angle);
791 canvas.translate(-SkFloatToScalar(source.width() * 0.5f), 789 canvas.translate(-SkFloatToScalar(source.width() * 0.5f),
792 -SkFloatToScalar(source.height() * 0.5f)); 790 -SkFloatToScalar(source.height() * 0.5f));
793 canvas.drawBitmap(source, 0, 0); 791 canvas.drawBitmap(source, 0, 0);
794 canvas.flush(); 792 canvas.flush();
795 793
796 return result; 794 return result;
797 } 795 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698