Sub-surface protocol

Bill Spitzak spitzak at gmail.com
Fri Dec 7 09:23:37 PST 2012


On 12/07/2012 06:39 AM, Kristian Høgsberg wrote:
> On Fri, Dec 07, 2012 at 01:07:33PM +0200, Pekka Paalanen wrote:
>> On Fri, 7 Dec 2012 12:34:46 +0200
>> Pekka Paalanen <ppaalanen at gmail.com> wrote:
>>
>>> On Wed, 05 Dec 2012 22:45:14 -0800
>>> Bill Spitzak <spitzak at gmail.com> wrote:
>>>
>>>>> Committing changes
>>>>
>>>> I think it may work that a commit on a parent is an implied commit on
>>>> all the children. To make a set of child surfaces all resize in unison,
>>>> change them all but don't call commit on any, and call commit on the
>>>> main window after all are updated.
>>
>> Actually, I do like this one. Does anyone have anything against it?
>
> I always thought that the commit on the parent surface would trigger
> the sub-surfaces, but not replace sub-surface commit.  Only commit
> those sub-surfaces that had commit called on them.  This way, a
> library or component can manage a sub-surface and doesn't need to know
> whether it's a sub-surface (and thus doesn't need commit) or if it's a
> top-level surface (and needs a commit).  Another way to think about it
> is that the sub-surface commit is latched state of the parent surface.

I believe he wants to avoid the need for a video-playback library to 
need a way to tell the main program "you have to call commit on your 
surface because I just changed the video frame".

Changes in the transform from parent to child would require a commit on 
the parent (so that when the client is resized, the frame and video 
player resize in unison). But changing what buffer to show as the child 
would only require a child commit.



More information about the wayland-devel mailing list