Alexandre Julliard : gdi32: Always use proper RGB colors for monochrome DDB pattern brushes.
Module: wine Branch: master Commit: 73b9c8638486428de685a75fcd495748e4f88603 URL: http://source.winehq.org/git/wine.git/?a=commit;h=73b9c8638486428de685a75fcd... Author: Alexandre Julliard <julliard(a)winehq.org> Date: Thu Dec 22 21:18:30 2011 +0100 gdi32: Always use proper RGB colors for monochrome DDB pattern brushes. --- dlls/gdi32/dibdrv/objects.c | 12 ++++++++++-- 1 files changed, 10 insertions(+), 2 deletions(-) diff --git a/dlls/gdi32/dibdrv/objects.c b/dlls/gdi32/dibdrv/objects.c index 85fbbbc..96596df 100644 --- a/dlls/gdi32/dibdrv/objects.c +++ b/dlls/gdi32/dibdrv/objects.c @@ -1589,16 +1589,24 @@ static BOOL select_pattern_brush( dibdrv_physdev *pdev, BOOL *needs_reselect ) if (pattern.bit_count == 1 && !pattern.color_table) { /* monochrome DDB pattern uses DC colors */ - COLORREF color = GetTextColor( pdev->dev.hdc ); + DWORD pixel; + BOOL got_pixel; + COLORREF color; + + color = make_rgb_colorref( pdev->dev.hdc, &pdev->dib, GetTextColor( pdev->dev.hdc ), + &got_pixel, &pixel ); color_table[0].rgbRed = GetRValue( color ); color_table[0].rgbGreen = GetGValue( color ); color_table[0].rgbBlue = GetBValue( color ); color_table[0].rgbReserved = 0; - color = GetBkColor( pdev->dev.hdc ); + + color = make_rgb_colorref( pdev->dev.hdc, &pdev->dib, GetBkColor( pdev->dev.hdc ), + &got_pixel, &pixel ); color_table[1].rgbRed = GetRValue( color ); color_table[1].rgbGreen = GetGValue( color ); color_table[1].rgbBlue = GetBValue( color ); color_table[1].rgbReserved = 0; + pattern.color_table = color_table; pattern.color_table_size = 2; *needs_reselect = TRUE;
participants (1)
-
Alexandre Julliard