protocol questions
Daniel Stone
daniel at fooishbar.org
Sat Mar 30 10:24:19 PDT 2013
Hi,
On 30 March 2013 13:34, Matthias Clasen <matthias.clasen at gmail.com> wrote:
> On Sat, Mar 30, 2013 at 7:56 AM, Daniel Stone <daniel at fooishbar.org>wrote:
>
>> - Various input events have a time field. The spec doesn't really say
>>> anything about this. What is it good for, and what units are these -
>>> monotonic time ?
>>>
>>
>> Monotonic (ideally) time in an undefined domain, i.e. they're only
>> meaningful on relation to each other.
>>
>
> What can you do with them ? For the use case that Giulio mentioned
> (double-click detection), I'd need to know at least if the difference
> between two times is seconds or milliseconds or microseconds...
>
Oh sorry, milliseconds. Just with an undefined base, i.e. they don't
necessarily correlate to gettimeofday() or CLOCK_MONOTONIC.
> - Still on popups, I don't see a way for the client to dismiss the
>>> popup, or is that handled by just destroying the surface ?
>>>
>>
>> Indeed, just destroy the surface or attach a NULL buffer.
>>
>
> Good to know. I don't think the spec mentions at all that 'attach NULL
> buffer' == unmap.
>
Mapping rules are specific to the surface type, but yes, indeed I can't
think of any surface roles where that isn't the case.
> - Buffer transformations - fun. How do these relate to each of the
>>> following ?
>>> - resize edges
>>> - transient offset
>>> - buffer attach x/y
>>> - input/opaque/damage regions
>>> - surface x/y in motion events
>>>
>>
>> All the latter occur on surfaces rather than buffers, so are unaffected.
>> Buffer transforms are meant to support situations like where your screen
>> is rotated 90°, and your client can also render rotated in order to avoid
>> that extra blit. So it doesn't affect the event pipeline at all, only the
>> display pipeline.
>>
>
> That sounds right for resize edgets and motion events, certainly. For some
> of the others, at least the wording of the spec is not always very clear on
> this point. E.g. for buffer attach x/y, the wl_surface.attach docs say:
>
> The x and y arguments specify the location of the new pending
> buffer's upper left corner, relative to the current buffer's
> upper left corner.
>
> See how it talks about the current buffer's upper left corner. Should that
> say 'the surface's upper left corner, then ?
>
Yeah, except the wording to be a little more subtle to clarify that that
the position change happens a) in surface co-ordinates, and b) when the
buffer is attached. But this is the one I'm least sure about, in all
honesty. :)
Cheers,
Daniel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20130330/be62fb15/attachment-0001.html>
More information about the wayland-devel
mailing list