]> Dogcows Code - chaz/openbox/blobdiff - render/image.c
better alpha/beta check :)
[chaz/openbox] / render / image.c
index e0c5540fa0e29b279492c3a0bdfaf40d99fd8257..feb259703d3d96bc6be2f62b4044c0879b11917c 100644 (file)
@@ -5,7 +5,7 @@
 void image_draw(pixel32 *target, TextureRGBA *rgba, Rect *position,
                 Rect *surarea)
 {
-    gulong *draw = rgba->data;
+    pixel32 *draw = rgba->data;
     guint c, i, e, t, sfw, sfh;
     sfw = position->width;
     sfh = position->height;
@@ -50,10 +50,10 @@ void image_draw(pixel32 *target, TextureRGBA *rgba, Rect *position,
         for (i = 0, c = 0, t = position->x, e = sfw*sfh; i < e; ++i, ++t) {
             guchar alpha, r, g, b, bgr, bgg, bgb;
 
-            alpha = draw[i] >> 24;
-            r = draw[i] >> 16;
-            g = draw[i] >> 8;
-            b = draw[i];
+            alpha = draw[i] >> default_alpha_offset;
+            r = draw[i] >> default_red_offset;
+            g = draw[i] >> default_green_offset;
+            b = draw[i] >> default_blue_offset;
 
             if (c >= sfw) {
                 c = 0;
@@ -61,16 +61,17 @@ void image_draw(pixel32 *target, TextureRGBA *rgba, Rect *position,
             }
 
             /* background color */
-            bgr = target[t] >> default_red_shift;
-            bgg = target[t] >> default_green_shift;
-            bgb = target[t] >> default_blue_shift;
+            bgr = target[t] >> default_red_offset;
+            bgg = target[t] >> default_green_offset;
+            bgb = target[t] >> default_blue_offset;
 
             r = bgr + (((r - bgr) * alpha) >> 8);
             g = bgg + (((g - bgg) * alpha) >> 8);
             b = bgb + (((b - bgb) * alpha) >> 8);
 
-            target[t] = (r << default_red_shift) | (g << default_green_shift) |
-                (b << default_blue_shift);
+            target[t] = (r << default_red_offset)
+                      | (g << default_green_offset)
+                      | (b << default_blue_offset);
         }
     }
 }
This page took 0.025366 seconds and 4 git commands to generate.