Huw Davies : gdi32: Use separate x and y parameters in the get_pixel primitive.

Alexandre Julliard julliard at winehq.org
Wed Jan 18 14:03:41 CST 2012


Module: wine
Branch: master
Commit: ff4045b110d1f6d020281a03e29e7badd4ce3f12
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=ff4045b110d1f6d020281a03e29e7badd4ce3f12

Author: Huw Davies <huw at codeweavers.com>
Date:   Wed Jan 18 14:48:24 2012 +0000

gdi32: Use separate x and y parameters in the get_pixel primitive.

---

 dlls/gdi32/dibdrv/bitblt.c     |    5 +----
 dlls/gdi32/dibdrv/dibdrv.h     |    2 +-
 dlls/gdi32/dibdrv/graphics.c   |    2 +-
 dlls/gdi32/dibdrv/primitives.c |   30 +++++++++++++++---------------
 4 files changed, 18 insertions(+), 21 deletions(-)

diff --git a/dlls/gdi32/dibdrv/bitblt.c b/dlls/gdi32/dibdrv/bitblt.c
index 3ae53b2..c3acb8c 100644
--- a/dlls/gdi32/dibdrv/bitblt.c
+++ b/dlls/gdi32/dibdrv/bitblt.c
@@ -1350,13 +1350,10 @@ DWORD gradient_bitmapinfo( const BITMAPINFO *info, void *bits, TRIVERTEX *vert_a
 COLORREF get_pixel_bitmapinfo( const BITMAPINFO *info, void *bits, struct bitblt_coords *src )
 {
     dib_info dib;
-    POINT pt;
     DWORD pixel;
 
     init_dib_info_from_bitmapinfo( &dib, info, bits, default_color_table );
-    pt.x  = src->x;
-    pt.y  = src->y;
-    pixel = dib.funcs->get_pixel( &dib, &pt );
+    pixel = dib.funcs->get_pixel( &dib, src->x, src->y );
     return dib.funcs->pixel_to_colorref( &dib, pixel );
 }
 
diff --git a/dlls/gdi32/dibdrv/dibdrv.h b/dlls/gdi32/dibdrv/dibdrv.h
index 2c980fe..fb7eb21 100644
--- a/dlls/gdi32/dibdrv/dibdrv.h
+++ b/dlls/gdi32/dibdrv/dibdrv.h
@@ -186,7 +186,7 @@ typedef struct primitive_funcs
     BOOL          (* gradient_rect)(const dib_info *dib, const RECT *rc, const TRIVERTEX *v, int mode);
     void             (* draw_glyph)(const dib_info *dst, const RECT *rc, const dib_info *glyph,
                                     const POINT *origin, DWORD text_pixel, const struct intensity_range *ranges);
-    DWORD             (* get_pixel)(const dib_info *dib, const POINT *pt);
+    DWORD             (* get_pixel)(const dib_info *dib, int x, int y);
     DWORD     (* colorref_to_pixel)(const dib_info *dib, COLORREF color);
     COLORREF  (* pixel_to_colorref)(const dib_info *dib, DWORD pixel);
     void             (* convert_to)(dib_info *dst, const dib_info *src, const RECT *src_rect);
diff --git a/dlls/gdi32/dibdrv/graphics.c b/dlls/gdi32/dibdrv/graphics.c
index 166c577..515f339 100644
--- a/dlls/gdi32/dibdrv/graphics.c
+++ b/dlls/gdi32/dibdrv/graphics.c
@@ -720,7 +720,7 @@ COLORREF dibdrv_GetPixel( PHYSDEV dev, INT x, INT y )
         pt.y < 0 || pt.y >= pdev->dib.height)
         return CLR_INVALID;
 
-    pixel = pdev->dib.funcs->get_pixel( &pdev->dib, &pt );
+    pixel = pdev->dib.funcs->get_pixel( &pdev->dib, pt.x, pt.y );
     return pdev->dib.funcs->pixel_to_colorref( &pdev->dib, pixel );
 }
 
diff --git a/dlls/gdi32/dibdrv/primitives.c b/dlls/gdi32/dibdrv/primitives.c
index 122e750..55c17b7 100644
--- a/dlls/gdi32/dibdrv/primitives.c
+++ b/dlls/gdi32/dibdrv/primitives.c
@@ -1276,47 +1276,47 @@ static void copy_rect_null(const dib_info *dst, const RECT *rc,
     return;
 }
 
-static DWORD get_pixel_32(const dib_info *dib, const POINT *pt)
+static DWORD get_pixel_32(const dib_info *dib, int x, int y)
 {
-    DWORD *ptr = get_pixel_ptr_32( dib, pt->x, pt->y );
+    DWORD *ptr = get_pixel_ptr_32( dib, x, y );
     return *ptr;
 }
 
-static DWORD get_pixel_24(const dib_info *dib, const POINT *pt)
+static DWORD get_pixel_24(const dib_info *dib, int x, int y)
 {
-    BYTE *ptr = get_pixel_ptr_24( dib, pt->x, pt->y );
+    BYTE *ptr = get_pixel_ptr_24( dib, x, y );
     return ptr[0] | ((DWORD)ptr[1] << 8) | ((DWORD)ptr[2] << 16);
 }
 
-static DWORD get_pixel_16(const dib_info *dib, const POINT *pt)
+static DWORD get_pixel_16(const dib_info *dib, int x, int y)
 {
-    WORD *ptr = get_pixel_ptr_16( dib, pt->x, pt->y );
+    WORD *ptr = get_pixel_ptr_16( dib, x, y );
     return *ptr;
 }
 
-static DWORD get_pixel_8(const dib_info *dib, const POINT *pt)
+static DWORD get_pixel_8(const dib_info *dib, int x, int y)
 {
-    BYTE *ptr = get_pixel_ptr_8( dib, pt->x, pt->y );
+    BYTE *ptr = get_pixel_ptr_8( dib, x, y );
     return *ptr;
 }
 
-static DWORD get_pixel_4(const dib_info *dib, const POINT *pt)
+static DWORD get_pixel_4(const dib_info *dib, int x, int y)
 {
-    BYTE *ptr = get_pixel_ptr_4( dib, pt->x, pt->y );
+    BYTE *ptr = get_pixel_ptr_4( dib, x, y );
 
-    if (pt->x & 1)
+    if (x & 1)
         return *ptr & 0x0f;
     else
         return (*ptr >> 4) & 0x0f;
 }
 
-static DWORD get_pixel_1(const dib_info *dib, const POINT *pt)
+static DWORD get_pixel_1(const dib_info *dib, int x, int y)
 {
-    BYTE *ptr = get_pixel_ptr_1( dib, pt->x, pt->y );
-    return (*ptr & pixel_masks_1[pt->x & 0x7]) ? 1 : 0;
+    BYTE *ptr = get_pixel_ptr_1( dib, x, y );
+    return (*ptr & pixel_masks_1[x & 0x7]) ? 1 : 0;
 }
 
-static DWORD get_pixel_null(const dib_info *dib, const POINT *pt)
+static DWORD get_pixel_null(const dib_info *dib, int x, int y)
 {
     return 0;
 }




More information about the wine-cvs mailing list