gdi32: Add an AlphaBlend entry point in the DIB driver.

This commit is contained in:
Alexandre Julliard 2011-10-11 15:23:04 +02:00
parent d3d3e37dfe
commit 6c07876e87
3 changed files with 19 additions and 1 deletions

View File

@ -1133,3 +1133,19 @@ BOOL dibdrv_StretchBlt( PHYSDEV dst_dev, struct bitblt_coords *dst,
release_dc_ptr( dc_dst );
return ret;
}
/***********************************************************************
* dibdrv_AlphaBlend
*/
BOOL dibdrv_AlphaBlend( PHYSDEV dst_dev, struct bitblt_coords *dst,
PHYSDEV src_dev, struct bitblt_coords *src, BLENDFUNCTION blend )
{
BOOL ret;
DC *dc_dst = get_dc_ptr( dst_dev->hdc );
if (!dc_dst) return FALSE;
ret = dc_dst->nulldrv.funcs->pAlphaBlend( &dc_dst->nulldrv, dst, src_dev, src, blend );
release_dc_ptr( dc_dst );
return ret;
}

View File

@ -501,7 +501,7 @@ const DC_FUNCTIONS dib_driver =
{
NULL, /* pAbortDoc */
NULL, /* pAbortPath */
NULL, /* pAlphaBlend */
dibdrv_AlphaBlend, /* pAlphaBlend */
NULL, /* pAngleArc */
NULL, /* pArc */
NULL, /* pArcTo */

View File

@ -100,6 +100,8 @@ typedef struct dibdrv_physdev
#define DEFER_PEN 2
#define DEFER_BRUSH 4
extern BOOL dibdrv_AlphaBlend( PHYSDEV dst_dev, struct bitblt_coords *dst,
PHYSDEV src_dev, struct bitblt_coords *src, BLENDFUNCTION blend ) DECLSPEC_HIDDEN;
extern DWORD dibdrv_GetImage( PHYSDEV dev, HBITMAP hbitmap, BITMAPINFO *info,
struct gdi_image_bits *bits, struct bitblt_coords *src ) DECLSPEC_HIDDEN;
extern BOOL dibdrv_LineTo( PHYSDEV dev, INT x, INT y ) DECLSPEC_HIDDEN;