diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-22 17:46:53 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-22 17:46:53 +0000 |
commit | 22c50ca02cff7649dc812786e870a1840c471ffd (patch) | |
tree | 0eee187b493022c77253632670f02ef803fe63ca /skia | |
parent | a34f6ad39b9bb1cddafa5b1f60b7771299a99605 (diff) | |
download | chromium_src-22c50ca02cff7649dc812786e870a1840c471ffd.zip chromium_src-22c50ca02cff7649dc812786e870a1840c471ffd.tar.gz chromium_src-22c50ca02cff7649dc812786e870a1840c471ffd.tar.bz2 |
Fix regression with SkColor to COLORREF conversions.
COLORREF doesn't support alpha values (except, oddly, on WinCE). So we have to ignore the alpha value. My blind following of the old comment there was wrong, because changing the color value just gives a garbage color.
BUG=170645
Review URL: https://codereview.chromium.org/12021028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@178027 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'skia')
-rw-r--r-- | skia/ext/skia_utils_win.cc | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/skia/ext/skia_utils_win.cc b/skia/ext/skia_utils_win.cc index 97d793c..8b72b98 100644 --- a/skia/ext/skia_utils_win.cc +++ b/skia/ext/skia_utils_win.cc @@ -54,23 +54,12 @@ SkColor COLORREFToSkColor(COLORREF color) { } COLORREF SkColorToCOLORREF(SkColor color) { - int alpha = SkColorGetA(color); - if (alpha == 0) - return 0; - - if (alpha == 0xFF) { - // Fast path. #ifndef _MSC_VER - return RGB(SkColorGetR(color), SkColorGetG(color), SkColorGetB(color)); + return RGB(SkColorGetR(color), SkColorGetG(color), SkColorGetB(color)); #else - // 0BGR = ((ARGB -> BGRA) >> 8) - return (_byteswap_ulong(color) >> 8); + // 0BGR = ((ARGB -> BGRA) >> 8) + return (_byteswap_ulong(color) >> 8); #endif - } - - return RGB(SkColorGetR(color) * 255 / alpha, - SkColorGetG(color) * 255 / alpha, - SkColorGetB(color) * 255 / alpha); } } // namespace skia |