1. 09 Sep, 2016 1 commit
  2. 03 May, 2016 1 commit
    • Carlos Garnacho's avatar
      wayland: Refactor MetaWaylandSurfaceRoleCursor · 5849275b
      Carlos Garnacho authored
      Move into a standalone meta-wayland-surface-role-cursor.[ch], and
      make generic enough to work for pointe and additional (eg. tablet)
      cursors.
      
      Most notably, the sprite is now kept completely internal to the
      cursor role, and updates are routed through the given
      MetaCursorRenderer (which may be the default one for the pointer,
      or something else).
      
      The way cursor updates after cursor surface destruction has also
      been reworked, the pointer will just keep track of the last cursor
      surface, so older surfaces being destroyed don't trigger pointer
      rechecks/updates.
      5849275b
  3. 01 May, 2016 1 commit
  4. 16 Feb, 2016 2 commits
    • Jonas Ådahl's avatar
      Implement support for the wp_pointer_constraints protocol · 495c8940
      Jonas Ådahl authored
      The wp_pointer_constraints protocol is a protocol which enables clients
      to manipulate the behavior of the pointer cursor associated with a seat.
      
      Currently available constraints are locking the pointer to a static
      position, and confining the pointer to a given region.
      
      Currently locking is fully implemented, and confining is implemented for
      rectangular confinement regions.
      
      What else is lacking is less troublesome semantics for enabling the lock
      or confinement; currently the only requirement implemented is that the
      window that appears focused is the one that may aquire the lock.
      
      This means that a pointer could be 'stolen' by creating a new window that
      receives active focus, or when using focus-follows-mouse, a pointer
      passes a window that has requested a lock. This semantics can be changed
      and the protocol itself allows any semantics as seems fit.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=744104
      495c8940
    • Jonas Ådahl's avatar
      wayland: Implement support for wp_relative_pointer · 5b0eabec
      Jonas Ådahl authored
      Add support for sending relative pointer motion deltas to clients who
      request such events by creating wp_relative_pointer objects via
      wp_relative_pointer_manager.
      
      This currently implements the unstable version 1 from wayland-protocols.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=744104
      5b0eabec
  5. 13 Sep, 2015 3 commits
    • Jonas Ådahl's avatar
      wayland: Support sending wl_surface.enter/leave to cursor surfaces · 5d837a5c
      Jonas Ådahl authored
      Support notifying clients about what outputs their cursor surfaces are
      on so that they can attach appropriately scaled buffers to them.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=744932
      5d837a5c
    • Jonas Ådahl's avatar
      Support scaling of cursor sprites given what output they are on · 79c86ae8
      Jonas Ådahl authored
      This commits refactors cursor handling code and plugs in logic so that
      cursor sprites changes appearance as it moves across the screen.
      Renderers are adapted to handle the necessary functionality.
      
      The logic for changing the cursor sprite appearance is done outside of
      MetaCursorSprite, and actually where depends on what type of cursor it
      is. In mutter we now have two types of cursors that may have their
      appearance changed:
      
       - Themed cursors (aka root cursors)
       - wl_surface cursors
      
      Themed cursors are created by MetaScreen and when created, when
      applicable(*), it will extend the cursor via connecting to a signal
      which is emitted everytime the cursor is moved. The signal handler will
      calculate the expected scale given the monitor it is on and reload the
      theme in a correct size when needed.
      
      wl_surface cursors are created when a wl_surface is assigned the
      "cursor" role, i.e. when a client calls wl_pointer.set_cursor. A
      cursor role object is created which is connected to the cursor object
      by the position signal, and will set a correct texture scale given what
      monitor the cursor is on and what scale the wl_surface's active buffer
      is in. It will also push new buffers to the same to the cursor object
      when new ones are committed to the surface.
      
      This commit also makes texture loading lazy, since the renderer doesn't
      calculate a rectangle when the cursor position changes.
      
      The native backend is refactored to be triple-buffered; see the comment
      in meta-cursor-renderer-native.c for further explanations.
      
      * when we are running as a Wayland compositor
      
      https://bugzilla.gnome.org/show_bug.cgi?id=744932
      79c86ae8
    • Jonas Ådahl's avatar
      wayland: Move cursor surface role to meta-wayland-pointer.c · 7c7cf91c
      Jonas Ådahl authored
      The wl_pointer assigns a role to a wl_surface, so it makes sense to put
      the related logic there.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=744932
      7c7cf91c
  6. 28 Aug, 2015 1 commit
  7. 10 Aug, 2015 3 commits
  8. 17 Feb, 2015 4 commits
  9. 22 May, 2014 1 commit
  10. 22 Apr, 2014 1 commit
  11. 18 Apr, 2014 3 commits
  12. 17 Apr, 2014 6 commits
  13. 16 Apr, 2014 2 commits
  14. 20 Mar, 2014 1 commit
  15. 17 Mar, 2014 1 commit
  16. 10 Mar, 2014 1 commit
  17. 18 Feb, 2014 3 commits
  18. 03 Dec, 2013 1 commit
  19. 20 Nov, 2013 2 commits
  20. 12 Nov, 2013 1 commit
  21. 16 Oct, 2013 1 commit