Hi,

you can do it with weston-ivi-shell. IVI-Shell introduces layer concept to 
weston.

A layer is a group of surfaces which can be moved or resized together.

But IVI-Shell is just an interface and you have to implement your own APIs to 
use it.

Wayland-IVI-Extension is a set of readily implemented APIs which are using 
weston-ivi-shell.

Some example APIs:

ilm_layerSetPosition
“Sets the horizontal and vertical position of the layer. Relative position of 
layer’s surfaces would be maintained.”

ilm_layerSetDestinationRectangle
“Set the destination area on the display for a layer. The layer will be scaled 
and positioned to this rectangle
for rendering.”

ilm_layerSetVisibility
“Sets the visibility  for all surfaces of a layer”

ilm_layerSetVisibility
“Sets the opacity for all surfaces of a layer”

You can get more information from the website: 
http://projects.genivi.org/wayland-ivi-extension/home

If you are interested I can help you to install & use it.

Best regards

Emre Ucan
Software Group I (ADITG/SW1)

Tel. +49 5121 49 6937
From: wayland-devel [mailto:[email protected]] On 
Behalf Of Hongze Zhao
Sent: Donnerstag, 25. September 2014 03:49
To: Jasper St. Pierre
Cc: wayland mailing list
Subject: Re: How to maintain relative position of two surfaces?

I am not familiar with subsurfaces as I am new to weston. I will look at it and 
see how it works.

Thanks,
Hongze

On Wed, Sep 24, 2014 at 8:45 PM, Jasper St. Pierre 
<[email protected]<mailto:[email protected]>> wrote:
This sounds like you want to use subsurfaces, then.

Any reason you can't just draw the child surface on top of the father surface, 
though?

On Wed, Sep 24, 2014 at 6:16 PM, Hongze Zhao 
<[email protected]<mailto:[email protected]>> wrote:
Hi Jasper,

Thanks for reply.

Here is my use case.
 [cid:[email protected]]
Suppose we have a client called "father", who has a larger surface called 
"father surface" and a client called "child", whose smaller surface is "child 
surface". The child surface should be displayed in a given relative position 
above father surface and maintain their relative position. When I move father 
surface, the child surface will be moved together. But the child surface cannot 
be moved. Thus the child surface will looks like a part of father surface. I 
just need it works in the simplest scenario. I assume the two surfaces is in 
the same workspace, both surfaces cannot be resized, maximized or fullscreened. 
The two clients and compositor should work together to achieve this goal.

I know this is a weird use case. I am just wondering if there is some natural 
or easy way to implement this functionality. Or I have to do a lot of 
modifications.

Thanks,
Hongze


On Wed, Sep 24, 2014 at 7:54 PM, Jasper St. Pierre 
<[email protected]<mailto:[email protected]>> wrote:
The only way to position surfaces relatively one to another is by using a 
subsurface. But I imagine this isn't exactly what you want.
Can you explain a bit more about your use case? What happens if I put one 
surface on a different workspace from the others? Should the two be stacked 
independently (e.g. your window A, my terminal, your window B)? What happens 
when I resize the surfaces? Or maximize or fullscreen them?

On Wed, Sep 24, 2014 at 5:49 PM, Hongze Zhao 
<[email protected]<mailto:[email protected]>> wrote:
Hi All,

I am doing some experiments on weston compositor. I am wondering if someone 
could give me some hints about how to maintain relative position of two 
surfaces.

Suppose I have two wayland clients. After I grab and move the surface of one 
client, I would like to maintain the relative positions of the the surfaces 
from two clients. Thus I have to automatically update the position of the other 
surface.

I feel that surface position is stored in an instance of weston_view, which is 
mainly maintained by desktop-shell. So I am not sure if there is some easy way 
to achieve my goal by modifying desktop-shell.

Thanks,
Hongze

_______________________________________________
wayland-devel mailing list
[email protected]<mailto:[email protected]>
http://lists.freedesktop.org/mailman/listinfo/wayland-devel



--
  Jasper



--
Hongze Zhao
Department of Computer Science
Duke University
Email: [email protected]<mailto:[email protected]>


--
  Jasper



--
Hongze Zhao
Department of Computer Science
Duke University
Email: [email protected]<mailto:[email protected]>
_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to