Index: skia/ext/skia_utils_gtk.cc |
=================================================================== |
--- skia/ext/skia_utils_gtk.cc (revision 26217) |
+++ skia/ext/skia_utils_gtk.cc (working copy) |
@@ -10,8 +10,13 @@ |
const int kSkiaToGDKMultiplier = 257; |
+// GDK_COLOR_RGB multiplies by 257 (= 0x10001) to distribute the bits evenly |
+// See: http://www.mindcontrol.org/~hplus/graphics/expand-bits.html |
+// To get back, we can just right shift by eight |
+// (or, formulated differently, i == (i*257)/256 for all i < 256). |
+ |
SkColor GdkColorToSkColor(GdkColor color) { |
- return SkColorSetRGB(color.red, color.green, color.blue); |
+ return SkColorSetRGB(color.red >> 8, color.green >> 8, color.blue >> 8); |
} |
GdkColor SkColorToGdkColor(SkColor color) { |