Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=42585
Signed-off-by: Damjan Jovanovic damjan.jov@gmail.com --- dlls/gdiplus/graphics.c | 7 ++++++- dlls/gdiplus/tests/image.c | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-)
On Wed, Mar 4, 2020, 7:36 PM Damjan Jovanovic damjan.jov@gmail.com wrote:
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=42585
Signed-off-by: Damjan Jovanovic damjan.jov@gmail.com
dlls/gdiplus/graphics.c | 7 ++++++- dlls/gdiplus/tests/image.c | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-)
Hi Damjan,
I've looked at this area of GDI+ recently. Effectively what seems to happen for copy is the source color is converted PARGB (pre-multiplied) then back to ARGB. I hadn't decided if I had considered all code paths though.
However, if this patch does fix the application bug, it still seems like an improvement.
Thanks, Jeff
I'm wondering if this should be in setpixel_32bppARGB. Does GdipBitmapSetPixel also work this way?
No, GdipBitmapSetPixel on ARGB sets the exact color value passed in.
GdipGraphicsClear, GdipFill*, and GdipDraw* functions all exhibit the ARGB -> PARGB -> ARGB behavior IIRC.
On Thu, Mar 5, 2020 at 10:39 AM Vincent Povirk (they/them) vincent@codeweavers.com wrote:
I'm wondering if this should be in setpixel_32bppARGB. Does GdipBitmapSetPixel also work this way?