]> Dogcows Code - chaz/openbox/blobdiff - render/color.c
include stdlib for exit()
[chaz/openbox] / render / color.c
index 564fb7cf8edbfba6aad93a5060a09e7f98155a66..46f81161e1defaf86e43602538e1a0c13757ccaa 100644 (file)
@@ -4,9 +4,6 @@
 #include "render.h"
 #include "color.h"
 
-XColor *pseudo_colors;
-int pseudo_bpc;
-
 void RrColorAllocateGC(RrColor *in)
 {
     XGCValues gcv;
@@ -78,14 +75,18 @@ void RrReduceDepth(const RrInstance *inst, RrPixel32 *data, XImage *im)
         if ((RrRedOffset(inst) != RrDefaultRedOffset) ||
             (RrBlueOffset(inst) != RrDefaultBlueOffset) ||
             (RrGreenOffset(inst) != RrDefaultGreenOffset)) {
+            g_message("CONVERSION %d->%d %d->%d %d->%d",
+                      RrDefaultRedOffset, RrRedOffset(inst),
+                      RrDefaultBlueOffset, RrGreenOffset(inst),
+                      RrDefaultGreenOffset, RrBlueOffset(inst));
             for (y = 0; y < im->height; y++) {
                 for (x = 0; x < im->width; x++) {
                     r = (data[x] >> RrDefaultRedOffset) & 0xFF;
                     g = (data[x] >> RrDefaultGreenOffset) & 0xFF;
                     b = (data[x] >> RrDefaultBlueOffset) & 0xFF;
-                    p32[x] = (r << RrRedShift(inst))
-                           + (g << RrGreenShift(inst))
-                           + (b << RrBlueShift(inst));
+                    p32[x] = (r << RrRedOffset(inst))
+                           + (g << RrGreenOffset(inst))
+                           + (b << RrBlueOffset(inst));
                 }
                 data += im->width;
                 p32 += im->width;
@@ -130,11 +131,11 @@ void RrReduceDepth(const RrInstance *inst, RrPixel32 *data, XImage *im)
 
 XColor *RrPickColor(const RrInstance *inst, gint r, gint g, gint b) 
 {
-  r = (r & 0xff) >> (8-pseudo_bpc);
-  g = (g & 0xff) >> (8-pseudo_bpc);
-  b = (b & 0xff) >> (8-pseudo_bpc);
-  return &RrPseudoColors(inst)[(r << (2*pseudo_bpc)) +
-                               (g << (1*pseudo_bpc)) +
+  r = (r & 0xff) >> (8-RrPseudoBPC(inst));
+  g = (g & 0xff) >> (8-RrPseudoBPC(inst));
+  b = (b & 0xff) >> (8-RrPseudoBPC(inst));
+  return &RrPseudoColors(inst)[(r << (2*RrPseudoBPC(inst))) +
+                               (g << (1*RrPseudoBPC(inst))) +
                                b];
 }
 
This page took 0.021616 seconds and 4 git commands to generate.