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