gdi32: Use separate x and y parameters in the get_pixel primitive.
This commit is contained in:
parent
8d25bfd524
commit
ff4045b110
|
@ -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 );
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 );
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue