On 05/09/16 17:21, Alan Griffiths wrote:
> On 02/09/16 15:44, Alan Griffiths wrote:
>> On 02/09/16 15:42, Thomas Voß wrote:
>>> This only works in the fullscreen case and I
>>> cannot think of a scenario where this impacts overall
>>> user experience. The app already is the one "owning" the display in 
>>> fullscreen.
>> Why would you think it only work in the fullscreen case?
>
> there was an IRC conversation to sort this out between myself William
> and Thomas.
>
> I think the resulting consensus was:
>
> 1. Mir will constrain the placement anchor of the aux_rect to the
> parent surface. I don't think we agreed exactly how (e.g. do we "clip"
> the rect? What happens if there is *no* intersection?)
>
> 2. Mir will constrain the the offset placement anchor to the parent
> surface. Again I don't think we agreed how. (Slide it horizontally
> and/or vertically the minimum amount?)
>
> 3. Mir will provide a new notification of the placement rectangle.
>
> 4. Clients can then probe the display boundaries:
>
>     E.g.
>
>       MirRectangle aux { 0, 0, 0, 0 };
>
>      auto const surface_spec = mir_connection_create_spec_for_tip(connection, 
> a_big_width, ...);
>      mir_surface_spec_set_placement(
>         surface_spec, &aux, 
>         mir_placement_gravity_northwest, // rect anchor
>         mir_placement_gravity_northeast, // surface anchor
>         mir_placement_hints_resize_x, 
>         0,
>         0);
>
>     Will result in a "tip" surface whose width is the distance to the
>     left hand side of the screen.
>
> 5. Clients using the result of such probing may get stupid results. We
> don't care. 
I plan to start a second pass on "placement" later today to get
notification of the resulting placement to the client into the Mir API.
A third pass adding these post-conditions to MirAL will follow. This
would be a good time for any further thoughts or clarifications.
-- 
Mir-devel mailing list
Mir-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/mir-devel

Reply via email to