X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=reactos%2Fdll%2Fwin32%2Fgdiplus%2Fgraphics.c;h=29ac5d3baf725bcd8e0f07832413159693203a46;hp=158e2b48efe42a2e4699f0c5057f4e29c333b03b;hb=0629afcaa558d1abfc556460e91c3ab2f21c9f47;hpb=b2ba90c6b5c770cdbb97d98fb9f42e193788224d diff --git a/reactos/dll/win32/gdiplus/graphics.c b/reactos/dll/win32/gdiplus/graphics.c index 158e2b48efe..29ac5d3baf7 100644 --- a/reactos/dll/win32/gdiplus/graphics.c +++ b/reactos/dll/win32/gdiplus/graphics.c @@ -320,7 +320,8 @@ static void transform_and_round_points(GpGraphics *graphics, POINT *pti, static void gdi_alpha_blend(GpGraphics *graphics, INT dst_x, INT dst_y, INT dst_width, INT dst_height, HDC hdc, INT src_x, INT src_y, INT src_width, INT src_height) { - if (GetDeviceCaps(graphics->hdc, SHADEBLENDCAPS) == SB_NONE) + if (GetDeviceCaps(graphics->hdc, TECHNOLOGY) == DT_RASPRINTER && + GetDeviceCaps(graphics->hdc, SHADEBLENDCAPS) == SB_NONE) { TRACE("alpha blending not supported by device, fallback to StretchBlt\n"); @@ -400,7 +401,8 @@ static GpStatus alpha_blend_hdc_pixels(GpGraphics *graphics, INT dst_x, INT dst_ hbitmap = CreateDIBSection(hdc, (BITMAPINFO*)&bih, DIB_RGB_COLORS, (void**)&temp_bits, NULL, 0); - if (GetDeviceCaps(graphics->hdc, SHADEBLENDCAPS) == SB_NONE || + if ((GetDeviceCaps(graphics->hdc, TECHNOLOGY) == DT_RASPRINTER && + GetDeviceCaps(graphics->hdc, SHADEBLENDCAPS) == SB_NONE) || fmt & PixelFormatPAlpha) memcpy(temp_bits, src, src_width * src_height * 4); else