[PATCH 1/3] user32/winex11: Move 32-bit cursor/icon structure to 32-bit header.

Alexandre Julliard julliard at winehq.org
Tue Feb 16 03:35:33 CST 2010

Erich Hoover <ehoover at mines.edu> writes:

> I'm sorry it's taken me so long to get back on this issue, I've been
> attempting to come up with, and test, an alternative solution.  The
> original patch was approached with a mind toward keeping the code as
> similar as possible to what is currently done.  I have attached a
> redesign of this patch that instead approaches the problem by storing
> and retrieving cursors/icons as ICONINFO structures.  This mechanism
> allows the storage of all the necessary bitmap data (bpp, planes,
> width, etc.) in addition to the hotspot information without relying on
> a custom structure.
> My goal here is to have something simple that can be passed to the
> driver and can later be extended to animated cursors.  In this case
> the extension would be to pass to pSetCursor() an array of ICONINFO
> pointers, the total number of frames, and the time between frames.  A
> bonus with this method is that each frame of the cursor could then
> have a different hotspot (I'm not sure if anyone has actually ever
> used this in an animated cursor, but it is possible from what I've
> seen of the format).  Anyway, I am hoping that the attached patch is
> more palatable and I am interested in any and all comments or
> suggestions.

That's clearly better, it's going in the right direction. I think the
first step should be to write more test cases, in particular for cursor
bitmaps that don't match the screen depth, I suspect that still doesn't
work right when going through DDBs. Also we'd need to know exactly how
GetIconInfo() behaves for animated cursors.

Alexandre Julliard
julliard at winehq.org

More information about the wine-devel mailing list