[Bug 20145] New: DrawIconEx() doesn't draw 1 bpp monochrome Icons correctly

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Sep 24 09:33:50 CDT 2009


http://bugs.winehq.org/show_bug.cgi?id=20145

           Summary: DrawIconEx() doesn't draw 1 bpp monochrome Icons
                    correctly
           Product: Wine
           Version: 1.1.29
          Platform: PC
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: user32
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: wilfried.pasquazzo at gmail.com


Created an attachment (id=23728)
 --> (http://bugs.winehq.org/attachment.cgi?id=23728)
Test program to show differences between drawing 1 bpp icons in DrawIcon() and
DrawIconEx()

The function DrawIconEx() doesn't handle Icons with 1 bpp correctly. 

I've attached a test program that will draw many different icons in a line with
DrawIcon() and the same line of icons below with DrawIconEx() and
DI_DEFAULTSIZE, DI_NORMAL, DI_COMPAT flags set - which should normally result
in the exact same output.

The drawn icons are (fltr):

1 bpp 2x2 "chessboard" field
32 bpp white, black, red, green, blue icons without alpha channel
32 bpp white, black, red, green, blue icons with increasing values of alpha


This works fine in WindowsXP with 32-bit color depth (I'll attach a screenshot
later).
In Wine the 1 bpp icon is distorted/squeezed, the 32-bit icons are however
drawn correct.

I'll search where the handling of 1 bpp icons differs in those two functions
and fix DrawIconEx() accordingly.

When this is fixed, the DrawIcon-Function could just call DrawIconEx with
DI_DEFAULTSIZE, DI_NORMAL, DI_COMPAT flags (as suggested in
http://msdn.microsoft.com/en-us/library/ms648065(VS.85).aspx and done by the
test application) and therefore a lot of complicated, duplicated code could be
removed from "dlls/user32/cursoricon.c".

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list