[PATCH v4] user32: Implement GetMouseMovePointsEx().
Alexandre Julliard
julliard at winehq.org
Fri Oct 2 05:41:34 CDT 2020
Arkadiusz Hiler <ahiler at codeweavers.com> writes:
> On Tue, Sep 29, 2020 at 12:17:12PM +0200, Alexandre Julliard wrote:
>> Rémi Bernon <rbernon at codeweavers.com> writes:
>>
>> > +typedef struct
>> > +{
>> > + unsigned int newest;
>> > + int __pad;
>> > + cursor_pos_t positions[64];
>> > +} cursor_history_t;
>>
>> I expect it would be cleaner without this structure, simply returning an
>> array of points.
>
> I will still have to keep track of "newest" on the server side... Or I
> can use memmove() when adding elements to history to keep the
> positions[] ordered. That may be too costly for something that get
> called this often though. Any preference?
You can keep a position on the server side, and return them in the
correct order in the server reply data.
>> > @@ -227,6 +227,8 @@ static const struct object_ops thread_input_ops =
>> > /* pointer to input structure of foreground thread */
>> > static unsigned int last_input_time;
>> >
>> > +static cursor_history_t cursor_history;
>>
>> This most likely needs to be per-desktop.
>
> Turns out it's shared between Desktops, at least within the same
> WindowStation. I'll add tests for that.
>
> Do we care about making sure it's not per-winstation too?
Yes.
--
Alexandre Julliard
julliard at winehq.org
More information about the wine-devel
mailing list