1. 06 Feb, 2019 1 commit
    • Robert Mader's avatar
      wayland/surface: Add support for wp_viewporter · ba7af4f7
      Robert Mader authored
      This adds the required bits to wayland surfaces and ties them up
      to the compositor parts.
      
      It is based on and very similar in nature to buffer transforms.
      
      From the specification:
      > The global interface exposing surface cropping and scaling
      > capabilities is used to instantiate an interface extension for a
      > wl_surface object. This extended interface will then allow cropping
      > and scaling the surface contents, effectively disconnecting the
      > direct relationship between the buffer and the surface size.
      
      GNOME/mutter!323
      ba7af4f7
  2. 22 Jan, 2019 1 commit
  3. 03 Dec, 2018 1 commit
    • Robert Mader's avatar
      wayland/surface: Add support for buffer transforms · e4de9ed5
      Robert Mader authored
      This adds the required bits to wayland surfaces and ties them up
      to the compositor parts.
      
      The central part here is to recalculate the surface size accordingly
      and to translate surface damage into buffer damage.
      
      The choosen approach additionally lays groundwork for wp_viewporter
      support, which is closely related in its nature.
      
      A further explanation of buffer transforms from the specification:
      > The purpose of this request is to allow clients to render content
      > according to the output transform, thus permitting the compositor
      > to use certain optimizations even if the display is rotated.
      > Using hardware overlays and scanning out a client buffer for
      > fullscreen surfaces are examples of such optimizations.
      e4de9ed5
  4. 01 Dec, 2018 1 commit
    • Carlos Garnacho's avatar
      wayland: Make DnD role inherit from MetaWaylandActorSurface · f8cd1e55
      Carlos Garnacho authored
      It is meant to hold surfaces that require a ClutterActor, just like wl/xdg
      shell surfaces and subsurfaces. Make it inherit from MetaWaylandActorSurface
      so it gets that for free.
      
      The type declaration is also made completely private, in order to avoid
      cyclic dependency between meta-wayland-surface.h and
      meta-wayland-actor-surface.h. We just require the GType fro assign_role()
      anyway.
      f8cd1e55
  5. 06 Nov, 2018 1 commit
    • Jonas Ådahl's avatar
      Clean up include macros mess · 2f4a68c8
      Jonas Ådahl authored
      The order and way include macros were structured was chaotic, with no
      real common thread between files. Try to tidy up the mess with some
      common scheme, to make things look less messy.
      2f4a68c8
  6. 27 Aug, 2018 1 commit
    • Jonas Ådahl's avatar
      wayland/surface: Add API to cache frame callbacks · 0ace58d0
      Jonas Ådahl authored
      Sometimes it may be useful for roles to put callbacks in the generic
      surface frame callback queue. The surface frame callback queue will
      either eventually be processed on the next surface role assignment that
      places the frame callbacks in a role specific queue, processed at some
      other point in time by a role, or cleaned up on surface destruction.
      
      GNOME/mutter#240
      0ace58d0
  7. 20 Aug, 2018 1 commit
  8. 23 Apr, 2018 3 commits
  9. 23 Feb, 2018 4 commits
  10. 02 Aug, 2017 1 commit
  11. 12 Jul, 2017 1 commit
  12. 25 Jan, 2017 2 commits
  13. 09 Sep, 2016 1 commit
  14. 06 Sep, 2016 1 commit
  15. 25 Aug, 2016 5 commits
  16. 03 May, 2016 1 commit
    • Carlos Garnacho's avatar
      wayland: Add MetaWaylandSurface::destroy signal · 1acfcbda
      Carlos Garnacho authored
      There's places where it would be convenient to add listeners to this,
      so add the signal. The signal is only emitted once during destruction,
      it is convenient for the places where we want notifications at a time
      the object is still alive, as opposed to weak refs which notify after
      the fact.
      1acfcbda
  17. 01 May, 2016 7 commits
  18. 29 Mar, 2016 3 commits
  19. 09 Mar, 2016 2 commits
  20. 01 Mar, 2016 1 commit
    • Jonas Ådahl's avatar
      wayland: Don't unset surface->buffer when wl_buffer destroyed · d340c3a6
      Jonas Ådahl authored
      Don't unset the surface->buffer if the associated wl_buffer object is
      destroyed. The MetaWaylandBuffer doesn't really only represent a
      wl_buffer object, but also the data (texture) created from the given
      wl_buffer. Thus, for example destroying a released SHM wl_buffer should
      not destroy the MetaWaylandBuffer instance, because the texture may
      still be used.
      
      This commit also fixes a race where calc_showing would hide a window
      because, at the time of calculation whether it should be showing, the
      surface's buffer had been destroyed as described above.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=762716
      d340c3a6
  21. 19 Feb, 2016 1 commit
    • Ray Strode's avatar
      wayland: change accessible boolean to use_count counter · bed82427
      Ray Strode authored
      Since a buffer can be used by multiple surfaces at once,
      we need to release the buffer only after all surfaces
      are finished with it.  Currently we track whether or
      not to release the buffer based on the accessible boolean.
      This commit changes it to a counter to accomodate multiple
      users.
      
      Also, each surface needs to know whether not it is done with
      the buffer, so this commit adds a buffer_used boolean to the
      surface state.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=761613
      bed82427