GitLab will be down for maintenance this Sunday 13th June, from approx 7-11am UTC. This is for a PostgreSQL migration. See the tracker issue for more informations.

  1. 06 Feb, 2019 2 commits
  2. 09 Nov, 2016 2 commits
  3. 26 Jul, 2016 1 commit
  4. 29 Jun, 2016 1 commit
    • eucan's avatar
      ivi-shell: introduce ivi_layout_view · 5e8d55da
      eucan authored
      
      
      This patch introduces ivi_layout_view data struct,
      which is a wrapper of weston_view.
      
      There is always only one ivi_layout_view for an
      ivi_layout_surface and ivi_layout_layer pair.
      A surface could have many views with different
      geometry and transformations, so that a surface
      can be shown on:
      	1. On many screens
      	2. On the same screen with different positions
      
      The geometry of a view is modified, when properties of
      its layer are changed through ivi_layout_interface.
      Users of ivi_layout_interface does not have direct access
      to ivi_layout_view structure.
      
      v2 changes:
      	1. Use ivi_view_is_rendered function instead of
      	   active member
      	2. Add descriptions to introduced members of
      	   structs
      Signed-off-by: eucan's avatarEmre Ucan <eucan@de.adit-jv.com>
      [Natsume: add empty line]
      Reviewed-by: wnatsume's avatarWataru Natsume <wnatsume@jp.adit-jv.com>
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      5e8d55da
  5. 01 Apr, 2016 1 commit
  6. 16 Mar, 2016 2 commits
  7. 15 Mar, 2016 2 commits
  8. 04 Mar, 2016 6 commits
  9. 01 Oct, 2015 2 commits
    • eucan's avatar
      ivi-shell: remove struct link_layer · dfac3759
      eucan authored
      
      
      link_layer's sole purpose is to link a surface to multiple layers, if
      the surface should be shown in multiple layers.  This can be only
      achieved, if the surface has multiple weston_views with different
      transformation matrices.
      
      Current implementation assumes in many places that a ivi_surface has
      only one weston_view.  Therefore, a surface can be only shown on one
      layer.
      
      Although this (a surface on multiple layers) is a nice to have feature
      for ivi-shell, it is not very crucial.  In any case, it is not an easy
      task to implement this feature, because it has lot of corner cases.
      
      I removed with this patch the link_layer data structure, because it does
      not have any purpose in current implementation.
      Signed-off-by: eucan's avatarEmre Ucan <eucan@de.adit-jv.com>
      Tested-by: default avatarNobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
      Reviewed-by: default avatarNobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
      [Pekka: Line-wrapped the commit message.]
      dfac3759
    • eucan's avatar
      ivi-shell: remove struct link_screen · 8a223673
      eucan authored
      
      
      link_screen's sole purpose is to link a layer to multiple screens, if
      the layer should be shown in multiple screens.  This can be only
      achieved, if surfaces of the layer have multiple weston_views dedicated
      to the different screens.
      
      Current implementation assumes in many places that a ivi_surface has
      only one weston_view.  Therefore, a layer can be only shown on one
      screen.
      
      Although this (a layer on multiple screens) is a nice to have feature
      for ivi-shell, it is not very crucial.  In any case, it is not an easy
      task to implement this feature, because it has lot of corner cases.
      
      I removed with this patch the link_screen data structure, because it
      does not have any purpose in current implementation.
      Signed-off-by: eucan's avatarEmre Ucan <eucan@de.adit-jv.com>
      Tested-by: default avatarNobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
      Reviewed-by: default avatarNobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
      [Pekka: Line-wrapped commit message.]
      8a223673
  10. 21 Aug, 2015 1 commit
    • eucan's avatar
      ivi-shell: clear order.surface_list before reordering it · 38fcf381
      eucan authored
      It is only possible to remove a surface from the order.surface_list of a
      layer, when ivi_layout_layer_set_render_order is called with an empty
      array.  Therefore, list of surfaces are cumulated if the API is called
      many times with different list of surfaces.
      
      Change how the flags are set:
      - Introduce the dirty parameter for triggering the render order change.
      - IVI_NOTIFICATION_REMOVE/ADD flags are set only at commit_layer_list.
      
      Checking wl_list_empty() on a link offers no information: if it returns
      true, wl_list_remove() is safe to do. If it returns false, you still do
      not know if wl_list_remove() is safe; the link could be part of a list,
      or the link could be "uninitialized" (e.g. just wl_list_remove()'d).
      (From Pekka Paalanen's comment at
      http://lists.freedesktop.org/archives/wayland-devel/2015-August/023987.html
      
      ).
      
      Calling wl_list_init just before wl_list_insert is redundant, because
      the links of the list are not read before it is overwritten by
      wl_list_insert.
      
      Use assert to control if the ivilayer->order.surface_list is empty.
      Signed-off-by: eucan's avatarEmre Ucan <eucan@de.adit-jv.com>
      [Pekka: wrapped the commit message]
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      
      [Earlier version Reviewed-by: Nobuhiko Tanibata
      <NOBUHIKO_TANIBATA@xddp.denso.co.jp>]
      38fcf381
  11. 16 Jul, 2015 2 commits
  12. 23 Jun, 2015 2 commits
  13. 15 Jun, 2015 1 commit
  14. 15 Dec, 2014 2 commits
    • Nobuhiko Tanibata's avatar
      ivi-shell: rewrite controller API · ee8e5830
      Nobuhiko Tanibata authored
      
      
      This fixes the breakage caused by "ivi-shell: make ivi-layout.c as a
      part of ivi-shell.so"
      
      hmi-controller.c:
      A reference implementation of controller module does not use the layout
      functions directly. This get function pointers at controller_module_init
      which called by ivi-shell.
      
      ivi-layout-export.h:
      Definition of interfaces in a struction: ivi_controller_interface.
      function pointers are set at ivi-layout.c.
      
      ivi-layout-private.h:
      Definition of some interfaces are remove bucause it is implemented in
      ivi-layout.c and set it as function pointer. Several interfaces are kept
      here because they are implemented in ivi-layout.c/transition.c but used
      in other files.
      
      ivi-layout-transition.c:
      remove WL_EXPORT because export is not needed anymore.
      remove unnesesary unsed method.
      
      ivi-shell.c:
      call controller_module_init of hmi-controller to init it and set
      function pointers. If the interface_version is equal or
      greater than what hmi_controller was built with, things are pass.
      If the interface_version is smaller than what the controller expects,
      it has to fail because it cannot work. This is followed the manner,
      
      - never remove a function pointer
      - never modify an existing function signature
      - additions are allowed at the end of struct ivi_controller_interface
      - all function pointers must always be populated and working in
        ivi-shell.so (ivi-layout.c etc.)
      Signed-off-by: default avatarNobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
      Acked-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      ee8e5830
    • Nobuhiko Tanibata's avatar
      ivi-shell: make ivi-layout.c as a part of ivi-shell.so · 28dc18c8
      Nobuhiko Tanibata authored
      
      
      ivi-layout.so is separately built and loaded by using dlopen with
      RTLD_GLOBAL. This was because these apis defined in ivi-layout.so shall
      be used by ivi-modules; e.g. hmi-controller. This shall be improved that
      a struct ivi_layout_api contains the whole exported API as function
      pointers to be exposed as module_init.
      
      This patch alone builds, but loading controller modules at runtime
      failes. This failure will be fixed by following patches.
      Signed-off-by: default avatarNobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
      Reviewed-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      28dc18c8
  15. 04 Dec, 2014 1 commit
    • Nobuhiko Tanibata's avatar
      ivi-shell: add IVI layout APIs · 6f9df656
      Nobuhiko Tanibata authored
      
      
      - ivi-layout.so
      - introduces ivi-layout-export.h, ivi-layout.[ch]
      
      API set of controlling properties of surface and layer which groups
      surfaces. An unique ID whose type is integer is required to create
      surface and layer. With the unique ID, surface and layer are identified
      to control them. The API set consists of APIs to control properties of
      surface and layers about followings,
      
      - visibility.
      - opacity.
      - clipping (x,y,width,height).
      - position and size of it to be displayed.
      - orientation per 90 degree.
      - add or remove surfaces to a layer.
      - order of surfaces/layers in layer/screen to be displayed.
      - commit to apply property changes.
      - notifications of property change.
      Signed-off-by: default avatarNobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
      Acked-by: Pekka Paalanen's avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
      6f9df656