[PATCH] Support for animated cursors

H. Verbeet hverbeet at gmail.com
Tue Aug 28 03:00:52 CDT 2007


On 28/08/07, Trent Waddington <trent.waddington at gmail.com> wrote:
> On 8/28/07, H. Verbeet <hverbeet at gmail.com> wrote:
> > You should use the timing and frame sequence info from the .ani.
> > Also, Xcursor actually supports proper animated cursors, so it would
> > be better to handle the animation in winex11.drv
>
> Can you please direct me to some example code of defining and using an
> animated cursor with Xcursor?
>
http://repo.or.cz/w/wine/hacks.git?a=blob;f=dlls/winex11.drv/mouse.c;h=b344335f485aca6f6b37cfde5099c556f7dbdd73;hb=e69f5034c725353f1d23f7df6a2ce6ef3ad58412#l514
should be a decent start.

> > As explained in the comment at the top of cursoricon.c, you can't do
> > that, because it will break win16 applications.
>
> Umm.. what comment would that be?

This one:
> * Cursors and icons are stored in a global heap block, with the
> * following layout:
> *
> * CURSORICONINFO info;
> * BYTE[]         ANDbits;
> * BYTE[]         XORbits;
> *
> * The bits structures are in the format of a device-dependent bitmap.
> *
> * This layout is very sub-optimal, as the bitmap bits are stored in
> * the X client instead of in the server like other bitmaps; however,
> * some programs (notably Paint Brush) expect to be able to manipulate
> * the bits directly :-(

> Should I replace hNext with a CURSORICONINFO *?  This is what I had
> initially.. or should I be using something else?  Or should I just
> make it an BYTE bFrames and append multiple data blocks to the end of
> the CURSORICONINFO struct?
>
Well, what it comes down to is that you can't change the cursor memory
layout for win16 applications at all, which complicates things a bit.



More information about the wine-devel mailing list