How to maintain relative position of two surfaces?

Hongze Zhao zhaohongze at gmail.com
Thu Sep 25 08:25:49 PDT 2014


Actually for this stage I only want to write a desktop application. But I
may want to extend it to embedded systems. I will read the document of ivi
first.

Thanks,
Hongze

On Thu, Sep 25, 2014 at 10:33 AM, Jasper St. Pierre <jstpierre at mecheye.net>
wrote:

> Note that ivi-shell is designed for embedded systems, and won't be
> implemented by traditional desktop systems. It depends on the type of
> application you're writing. If you want to write a traditional desktop
> application, ivi-shell isn't for you.
>
> On Thu, Sep 25, 2014 at 1:32 AM, Ucan, Emre (ADITG/SW1) <
> eucan at de.adit-jv.com> wrote:
>
>>  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:wayland-devel-bounces at lists.freedesktop.org]
>> *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 <jstpierre at mecheye.net>
>> 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 <zhaohongze at gmail.com>
>> wrote:
>>
>> Hi Jasper,
>>
>>
>>
>> Thanks for reply.
>>
>>
>>
>> Here is my use case.
>>
>>
>>
>> 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 <jstpierre at mecheye.net>
>> 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 <zhaohongze at gmail.com>
>> 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
>> wayland-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
>>
>>
>>
>>
>> --
>>   Jasper
>>
>>
>>
>>
>>
>> --
>>
>> Hongze Zhao
>>
>> Department of Computer Science
>>
>> Duke University
>>
>> Email: zhaohongze at gmail.com
>>
>>
>>
>>   --
>>   Jasper
>>
>>
>>
>>
>>
>> --
>>
>> Hongze Zhao
>>
>> Department of Computer Science
>>
>> Duke University
>>
>> Email: zhaohongze at gmail.com
>>
>> _______________________________________________
>> wayland-devel mailing list
>> wayland-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
>>
>>
>
>
> --
>   Jasper
>



-- 
Hongze Zhao
Department of Computer Science
Duke University
Email: zhaohongze at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20140925/069917f9/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 3046 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20140925/069917f9/attachment-0001.png>


More information about the wayland-devel mailing list