]> Dogcows Code - chaz/openbox/blobdiff - render/image.c
1) translate all of openbox's output
[chaz/openbox] / render / image.c
index 2c32cd127c0fc4ec11ee190272f9e9df627d41a3..f878933274d88a25345c261269e21153abcb6ab6 100644 (file)
@@ -1,7 +1,8 @@
 /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
 
    image.c for the Openbox window manager
-   Copyright (c) 2003        Ben Jansens
+   Copyright (c) 2006        Mikael Magnusson
+   Copyright (c) 2003-2007   Dana Jansens
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 #define FLOOR(i)        ((i) & (~0UL << FRACTION))
 #define AVERAGE(a, b)   (((((a) ^ (b)) & 0xfefefefeL) >> 1) + ((a) & (b)))
 
-static RrPixel32* scale_half(RrPixel32 *source, gint w, gint h)
-{
-    RrPixel32 *out, *dest, *sourceline, *sourceline2;
-    gint dw, dh, x, y;
-
-    sourceline = source;
-    sourceline2 = source + w;
-
-    dw = w >> 1;
-    dh = h >> 1;
-
-    out = dest = g_new(RrPixel32, dw * dh);
-
-    for (y = 0; y < dh; ++y) {
-        RrPixel32 *s, *s2;
-
-        s = sourceline;
-        s2 = sourceline2;
-
-        for (x = 0; x < dw; ++x) {
-            *dest++ = AVERAGE(AVERAGE(*s, *(s+1)),
-                              AVERAGE(*s2, *(s2+1)));
-            s += 2;
-            s2 += 2;
-        }
-        sourceline += w << 1;
-        sourceline2 += w << 1;
-    }
-    return out;
-}
-
 static void ImageCopyResampled(RrPixel32 *dst, RrPixel32 *src,
                                gulong dstW, gulong dstH,
                                gulong srcW, gulong srcH)
@@ -109,11 +79,16 @@ static void ImageCopyResampled(RrPixel32 *dst, RrPixel32 *src,
                     portionXY = (portionX * portionY) >> FRACTION;
                     sumXY += portionXY;
                     
-                    pixel = *(src + (srcY >> FRACTION) * srcW + (srcX >> FRACTION));
-                    red   += ((pixel >> RrDefaultRedOffset)   & 0xFF) * portionXY;
-                    green += ((pixel >> RrDefaultGreenOffset) & 0xFF) * portionXY;
-                    blue  += ((pixel >> RrDefaultBlueOffset)  & 0xFF) * portionXY;
-                    alpha += ((pixel >> RrDefaultAlphaOffset) & 0xFF) * portionXY;
+                    pixel = *(src + (srcY >> FRACTION) * srcW
+                            + (srcX >> FRACTION));
+                    red   += ((pixel >> RrDefaultRedOffset)   & 0xFF)
+                             * portionXY;
+                    green += ((pixel >> RrDefaultGreenOffset) & 0xFF)
+                             * portionXY;
+                    blue  += ((pixel >> RrDefaultBlueOffset)  & 0xFF)
+                             * portionXY;
+                    alpha += ((pixel >> RrDefaultAlphaOffset) & 0xFF)
+                             * portionXY;
                 }
             }
             
This page took 0.021118 seconds and 4 git commands to generate.