What we do and don't expose to client toolkits

Christopher James Halse Rogers chris at cooperteam.net
Sun Sep 4 04:36:28 UTC 2016



On Thu, Sep 1, 2016 at 9:02 PM, Alan Griffiths 
<alan.griffiths at canonical.com> wrote:
> When clients toolkits provide hints to place child surfaces using the 
> existing functions:
> 
>> mir_surface_spec_attach_to_foreign_parent();
>> mir_connection_create_spec_for_tip();
>> mir_connection_create_spec_for_menu(); or the proposed,
>> mir_surface_spec_set_placement()
>> 
> the toolkit wants to know where the child surface actually ends up in 
> order to render appropriately.
> 
> We currently have a policy not to provide any location information to 
> clients, so I want to be sure that I don't propose anything 
> controversial.
> 
> In discussion with Chris he suggests that sending a 
> PlacementRelativeToParent{dx, dy} message is the right solution.
> 
> Doing this opens up an opportunity for clients to:
> 
>> 1. probe the display boundaries using dummy placement requests. (The 
>> point is to provide the location before they render.)
>> 2. parent (and place) everything they do on a fullscreen surface 
>> (which they can conceal from the user). It does limit them to 
>> surface types that can be parented.
>> 

Note step 1 here is unnecessary, and clients can quite happily do this 
already - they can already position all their surfaces relative to a 
transparent fullscreen surface. The probing is unnecessary - the know 
where the boundary of their surface is, and that it's the boundary of 
the output.




More information about the Mir-devel mailing list