1. 27 Nov, 2017 1 commit
  2. 21 Nov, 2016 1 commit
  3. 12 Aug, 2016 1 commit
  4. 26 Jul, 2016 1 commit
  5. 23 Jun, 2016 1 commit
  6. 06 Oct, 2015 1 commit
  7. 16 Jun, 2015 1 commit
  8. 15 Jun, 2015 1 commit
  9. 30 Jul, 2014 1 commit
    • Jonny Lamb's avatar
      animation: also change stop value when updating a fade target · 70ee3ad4
      Jonny Lamb authored
      If we're fading a view with weston_fade_run() and half way through we
      want to unfade it we can use weston_fade_update() to set a new alpha
      target. When the animation finishes, reset_alpha() is called which
      ensures the alpha value of the view is exactly as requested.
      
      Although weston_fade_update() was updating the spring target so the
      animation would look fine, it would then reset to the alpha target
      given in the first call to weston_fade_run().
      70ee3ad4
  10. 19 Jun, 2014 2 commits
    • Jonny Lamb's avatar
      animation: ensure repaints are always scheduled during animations · f8bfd058
      Jonny Lamb authored
      Animations are run off the repaint cycle so if there's nothing to
      repaint, an animation will stop running. This is usually not a problem
      as each frame function of an animation causes something to change and
      therefore a repaint to happen. This patch helps detect when the
      animation isn't in said case and triggers a repaint to keep the
      animation running.
      
      This problem was found by using weston_move_scale_run() to move a view
      onscreen from completely off. The very first time the animation frame
      function was called the progress wasn't enough to move it into
      view. The compositor saw there was nothing to repaint and stopped
      doing anything else. When something else (like a pointer move) forced
      a redraw, the view's position was very much onscreen and jumped into
      view in an ugly way.
      f8bfd058
    • Jonny Lamb's avatar
      animation: fix move scale animation · 91f80f24
      Jonny Lamb authored
      Both weston_move_scale_run() and weston_slide_run() were broken in
      commit 3a869019. Commit a4a6f161 fixed and explained the problem for
      weston_slide_run() but weston_move_scale_run() remained broken.
      
      To fix weston_move_scale_run(), weston_view_animation_run() is also
      required. It was removed when _run() was split into two functions
      _create() and _run() in commit f5cc2b56, but _run() was not added in
      this commit.
      91f80f24
  11. 17 Apr, 2014 2 commits
    • Ander Conselvan de Oliveira's avatar
      animation: Fix input panel slide animation · a4a6f161
      Ander Conselvan de Oliveira authored
      The position for the slide animation was calculated assuming the value
      of the spring was always between 0.0 and 1.0. Commit 3a869019 broke
      that assumption, and the result was that the panel would be positioned
      at an invisible part of screen. Since there would be no output repaints
      scheduled, the result of the animation would only be seen if something
      else triggered a repaint (such as a mouse cursor movement).
      
      This patch changes the values for the slide animation's spring to range
      between 0.0 and 1.0, thus fixing the position of the panel and the lack
      of scheduled repaints problem.
      
      https://bugs.freedesktop.org/show_bug.cgi?id=77347
      a4a6f161
    • Ander Conselvan de Oliveira's avatar
      animation: Split spring setup out of weston_view_animation_run() · f5cc2b56
      Ander Conselvan de Oliveira authored
      All the animations override at least one parameter of the spring that
      is set during the creation of the animation. Some need to do the whole
      setup again.
      
      This patch changes the initialization of a view animation to a three
      step process. First, the animation is created. Then the caller sets up
      the spring and calls weston_view_animation_run() to apply the effect of
      the animation for the first animation frame.
      f5cc2b56
  12. 19 Mar, 2014 1 commit
  13. 20 Jan, 2014 1 commit
  14. 03 Dec, 2013 1 commit
    • Jason Ekstrand's avatar
      Remove the weston_view.geometry.width/height fields · 918f2dd4
      Jason Ekstrand authored
      This has a couple of additional implications for the internal weston API:
       1) weston_view_configure no longer exists.  Use weston_view_set_position
          instead.
       2) The weston_surface.configure callback no longer takes a width and
          height.  If you need these, surface.width/height are set before
          configure is called.  If you need to know when the width/height
          changes, you must track that yourself.
      918f2dd4
  15. 19 Nov, 2013 2 commits
    • Daniel Stone's avatar
      Add move/scale animation · a67e6b98
      Daniel Stone authored
      Add an animation which moves a surface to a new location, at the same
      time as also rescaling it to a different size from the origin, rather
      than the existing scale animation which resizes from the centre.
      
      [pochu: rebased, ported to weston_view]
      a67e6b98
    • Louis-Francis Ratté-Boulianne's avatar
      animation, shell: add kbd focus change animation · b482dbd7
      Louis-Francis Ratté-Boulianne authored
      When enabled, this will make all but the keyboard-focused window dim.
      Also the background gets dimmed, if there are any windows open. The
      panel is not dimmed.
      
      When the keyboard focus changes, the change in dimming is animated.
      
      The dimming is implemented with transparent solid-color surfaces, two at
      most. The net effect of two overlapping dim surfaces is kept constant
      during animations (stable fade animation).
      
      There is a new weston.ini option "focus-animation", that defaults to
      none, and can be set to "dim-layer" to enable the focus change
      animation.
      
      [pq: Sliced, squashed, and rebased the patch series. Fixed surface alpha
      interaction with the switcher. Wrote the commit message.]
      
      [pochu: rebased, ported to weston_view]
      b482dbd7
  16. 30 Oct, 2013 1 commit
  17. 22 Oct, 2013 1 commit
    • Jason Ekstrand's avatar
      Split the geometry information from weston_surface out into weston_view · a7af7043
      Jason Ekstrand authored
      The weston_surface structure is split into two structures:
      
       * The weston_surface structure storres everything required for a
         client-side or server-side surface.  This includes buffers; callbacks;
         backend private data; input, damage, and opaque regions; and a few other
         bookkeeping bits.
      
       * The weston_view structure represents an entity in the scenegraph and
         storres all of the geometry information.  This includes clip region,
         alpha, position, and the transformation list as well as all of the
         temporary information derived from the geometry state.  Because a view,
         and not a surface, is a scenegraph element, the view is what is placed
         in layers and planes.
      
      There are a few things worth noting about the surface/view split:
      
       1. This is *not* a modification to the protocol.  It is, instead, a
          modification to Weston's internal scenegraph to allow a single surface
          to exist in multiple places at a time.  Clients are completely unaware
          of how many views to a particular surface exist.
      
       2. A view is considered a direct child of a surface and is destroyed when
          the surface is destroyed.  Because of this, the view.surface pointer is
          always valid and non-null.
      
       3. The compositor's surface_list is replaced with a view_list.  Due to
          subsurfaces, building the view list is a little more complicated than
          it used to be and involves building a tree of views on the fly whenever
          subsurfaces are used.  However, this means that backends can remain
          completely subsurface-agnostic.
      
       4. Surfaces and views both keep track of which outputs they are on.
      
       5. The weston_surface structure now has width and height fields.  These
          are populated when a new buffer is attached before surface.configure
          is called.  This is because there are many surface-based operations
          that really require the width and height and digging through the views
          didn't work well.
      Signed-off-by: Jason Ekstrand's avatarJason Ekstrand <jason@jlekstrand.net>
      a7af7043
  18. 21 Sep, 2013 1 commit
  19. 17 Jun, 2013 6 commits
  20. 12 Jun, 2013 1 commit
    • Jason Ekstrand's avatar
      Change weston_surface.resource to a wl_resource pointer. · 26ed73ce
      Jason Ekstrand authored
      This is the first in what will be a series of weston patches to convert
      instances of wl_resource to pointers so we can make wl_resource opaque.
      This patch handles weston_surface and should be the most invasive of the
      entire series.  I am sending this one out ahead of the rest for review.
      
      Specifically, my machine is not set up to build XWayland so I have no
      ability to test it fully.  Could someone please test with XWayland and let
      me know if this causes problems?
      
      Because a surface may be created from XWayland, the resource may not always
      exist.  Therefore, a destroy signal was added to weston_surface and
      everything used to listen to surface->resource.destroy_signal now listens
      to surface->destroy_signal.
      26ed73ce
  21. 05 Jun, 2013 1 commit
    • Daniel Stone's avatar
      configure.ac: Enable AC_USE_SYSTEM_EXTENSIONS · c228e23b
      Daniel Stone authored
      AC_USE_SYSTEM_EXTENSIONS enables _XOPEN_SOURCE, _GNU_SOURCE and similar
      macros to expose the largest extent of functionality supported by the
      underlying system.  This is required since these macros are often
      limiting rather than merely additive, e.g. _XOPEN_SOURCE will actually
      on some systems hide declarations which are not part of the X/Open spec.
      
      Since this goes into config.h rather than the command line, ensure all
      source is consistently including config.h before anything else,
      including system libraries.  This doesn't need to be guarded by a
      HAVE_CONFIG_H ifdef, which was only ever a hangover from the X.Org
      modular transition.
      Signed-off-by: Daniel Stone's avatarDaniel Stone <daniel@fooishbar.org>
      
      [pq: rebased and converted more files]
      c228e23b
  22. 08 May, 2013 1 commit
    • Kristian H. Kristensen's avatar
      compositor: Adapt to wl_surface going away · fe7aa90e
      Kristian H. Kristensen authored
      struct weston_surface is now the only surface type we have (in core, shell.c
      has shell_surface, of course).  A lot of code gets simpler and we never
      have to try to guess whether an API takes a wl_surface or a weston_surface.
      fe7aa90e
  23. 19 Mar, 2013 1 commit
  24. 22 Feb, 2013 5 commits