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

Erich Hoover ehoover at mines.edu
Mon Feb 15 15:20:44 CST 2010

On Wed, Feb 10, 2010 at 3:36 AM, Alexandre Julliard <julliard at winehq.org> wrote:
> ...
> You can't do that, private structures have nothing to do in public
> header files. They also can't be part of the user driver API.
> ...

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

Erich Hoover
ehoover at mines.edu
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-user32-winex11-Use-ICONINFO-for-storing-icons-and-cu.patch
Type: text/x-patch
Size: 55781 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20100215/6c7b7d68/attachment-0001.bin>

More information about the wine-devel mailing list