<div dir="ltr">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.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 25, 2014 at 1:32 AM, Ucan, Emre (ADITG/SW1) <span dir="ltr"><<a href="mailto:eucan@de.adit-jv.com" target="_blank">eucan@de.adit-jv.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div link="blue" vlink="purple" lang="EN-US">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Hi,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">you can do it with weston-ivi-shell. IVI-Shell introduces layer concept to weston.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">A layer is a group of surfaces which can be moved or resized together.
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">But IVI-Shell is just an interface and you have to implement your own APIs to use it.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Wayland-IVI-Extension is a set of readily implemented APIs which are using weston-ivi-shell.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Some example APIs:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">ilm_layerSetPosition
<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">“</span></b><span style="font-size:9.0pt;font-family:NimbusRomNo9L-ReguItal">Sets the horizontal and vertical position of the layer. Relative position of
 layer’s surfaces would be maintained.”<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">ilm_layerSetDestinationRectangle
<u></u><u></u></span></b></p>
<p class="MsoNormal" style="text-autospace:none"><b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">“</span></b><span style="font-size:9.0pt;font-family:NimbusRomNo9L-ReguItal">Set the destination area on the display for a layer.
 The layer will be scaled and positioned to this rectangle<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.0pt;font-family:NimbusRomNo9L-ReguItal">for rendering.”<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.0pt;font-family:NimbusRomNo9L-ReguItal"><u></u> <u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">ilm_layerSetVisibility<u></u><u></u></span></b></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.0pt;font-family:NimbusRomNo9L-ReguItal">“Sets the visibility  for all surfaces of a layer”<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.0pt;font-family:NimbusRomNo9L-ReguItal"><u></u> <u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">ilm_layerSetVisibility<u></u><u></u></span></b></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.0pt;font-family:NimbusRomNo9L-ReguItal">“Sets the opacity for all surfaces of a layer”<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.0pt;font-family:NimbusRomNo9L-ReguItal"><u></u> <u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">You can get more information from the website:
<a href="http://projects.genivi.org/wayland-ivi-extension/home" target="_blank"><span style="color:#1f497d">http://projects.genivi.org/wayland-ivi-extension/home</span></a><u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">If you are interested I can help you to install & use it.<u></u><u></u></span></p>
<p class="MsoNormal" style="text-autospace:none"><b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></b></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#1f497d">Best regards</span><span style="font-size:8.0pt;color:#1f497d"><br>
</span><span style="font-size:8.0pt;font-family:"Arial","sans-serif";color:#1f497d"><br>
</span><b><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#1f497d">Emre Ucan</span></b><span style="font-size:8.0pt;color:#1f497d"><br>
</span><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#1f497d">Software Group I (ADITG/SW1)</span><span style="font-size:8.0pt;color:#1f497d"><br>
</span><span style="font-size:8.0pt;font-family:"Arial","sans-serif";color:#1f497d"><br>
</span><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#1f497d">Tel. <a href="tel:%2B49%205121%2049%206937" value="+495121496937" target="_blank">+49 5121 49 6937</a></span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u><u></u></span></p>
<div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> wayland-devel [mailto:<a href="mailto:wayland-devel-bounces@lists.freedesktop.org" target="_blank">wayland-devel-bounces@lists.freedesktop.org</a>]
<b>On Behalf Of </b>Hongze Zhao<br>
<b>Sent:</b> Donnerstag, 25. September 2014 03:49<br>
<b>To:</b> Jasper St. Pierre<br>
<b>Cc:</b> wayland mailing list<br>
<b>Subject:</b> Re: How to maintain relative position of two surfaces?<u></u><u></u></span></p>
</div><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">I am not familiar with subsurfaces as I am new to weston. I will look at it and see how it works. <u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Hongze<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Wed, Sep 24, 2014 at 8:45 PM, Jasper St. Pierre <<a href="mailto:jstpierre@mecheye.net" target="_blank">jstpierre@mecheye.net</a>> wrote:<u></u><u></u></p>
<div>
<p class="MsoNormal">This sounds like you want to use subsurfaces, then.<br>
<br>
Any reason you can't just draw the child surface on top of the father surface, though?<u></u><u></u></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Wed, Sep 24, 2014 at 6:16 PM, Hongze Zhao <<a href="mailto:zhaohongze@gmail.com" target="_blank">zhaohongze@gmail.com</a>> wrote:<u></u><u></u></p>
<div>
<p class="MsoNormal">Hi Jasper,<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks for reply. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Here is my use case.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <img src="cid:image001.png@01CFD8A0.CF723890" border="0" height="279" width="562"><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">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. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">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.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Hongze<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Wed, Sep 24, 2014 at 7:54 PM, Jasper St. Pierre <<a href="mailto:jstpierre@mecheye.net" target="_blank">jstpierre@mecheye.net</a>> wrote:<u></u><u></u></p>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">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.<u></u><u></u></p>
</div>
<p class="MsoNormal">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?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<div>
<p class="MsoNormal">On Wed, Sep 24, 2014 at 5:49 PM, Hongze Zhao <<a href="mailto:zhaohongze@gmail.com" target="_blank">zhaohongze@gmail.com</a>> wrote:<u></u><u></u></p>
</div>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal">Hi All,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">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. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">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. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">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.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Hongze <u></u><u></u></p>
</div>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt">_______________________________________________<br>
wayland-devel mailing list<br>
<a href="mailto:wayland-devel@lists.freedesktop.org" target="_blank">wayland-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/wayland-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/wayland-devel</a><u></u><u></u></p>
</blockquote>
</div>
<p class="MsoNormal"><span style="color:#888888"><br>
<br clear="all">
<br>
-- <br>
  Jasper</span><u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><br>
<br clear="all">
<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
</div>
<p class="MsoNormal"><span style="color:#888888">-- <u></u><u></u></span></p>
<div>
<p class="MsoNormal"><span style="color:#888888">Hongze Zhao<u></u><u></u></span></p>
<div>
<p class="MsoNormal"><span style="color:#888888">Department of Computer Science<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#888888">Duke University<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#888888">Email: <a href="mailto:zhaohongze@gmail.com" title="[GMCP] Compose a new mail to zhaohongze@gmail.com" target="_blank">zhaohongze@gmail.com</a><u></u><u></u></span></p>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><br>
<br clear="all">
<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><span><span style="color:#888888">-- </span></span><span style="color:#888888"><br>
<span>  Jasper</span></span><u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><br>
<br clear="all">
<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<p class="MsoNormal">-- <u></u><u></u></p>
<div>
<p class="MsoNormal">Hongze Zhao<u></u><u></u></p>
<div>
<p class="MsoNormal">Department of Computer Science<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Duke University<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Email: <a href="mailto:zhaohongze@gmail.com" title="[GMCP] Compose a new mail to zhaohongze@gmail.com" target="_blank">zhaohongze@gmail.com</a><u></u><u></u></p>
</div>
</div>
</div>
</div></div></div>
</div>

<br>_______________________________________________<br>
wayland-devel mailing list<br>
<a href="mailto:wayland-devel@lists.freedesktop.org">wayland-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/wayland-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/wayland-devel</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>  Jasper<br>
</div>