1. 15 Sep, 2015 2 commits
  2. 02 Jun, 2015 1 commit
  3. 21 Mar, 2015 3 commits
  4. 18 Mar, 2015 1 commit
  5. 06 Feb, 2015 1 commit
  6. 20 Jan, 2015 1 commit
    • Benjamin Otte's avatar
      render: Remove spinner special-cases · e697213b
      Benjamin Otte authored
      The spinner is a regular builtin image now. There is no need to go
      through the shadows code manually anymore as regular items do get
      shadows automatically.
      
      This also allows simplifying the actual spinner drawing code so that it
      actually works.
      e697213b
  7. 07 Jan, 2015 1 commit
  8. 02 Dec, 2014 1 commit
    • Matthias Clasen's avatar
      css: Avoid excessive shadow rendering · cb3393f0
      Matthias Clasen authored
      The shadow rendering code had code to exit early if we determine
      that the shadow is entirely clipped away. Unfortunately, the check
      based on cairo clip extents fails for any clip regions that are
      more complicated than axis-aligned rectangles, and we are using
      a hollow rounded rectangle here. So, instead, do the check manually,
      using the just-introduced API in GtkRoundedBox.
      cb3393f0
  9. 10 Nov, 2014 1 commit
  10. 09 Oct, 2014 1 commit
  11. 05 Oct, 2014 1 commit
    • Jasper St. Pierre's avatar
      cssshadowvalue: Add a cache for blurred Pango layouts · dadc37e6
      Jasper St. Pierre authored
      Drawing text with Pango is quite expensive, and drawing text and also
      blurring it is *really* expensive. To prevent us from drawing a lot of
      text and then blurring it a lot is *really* expensive.
      
      We now cache the blurred pixels for the last layout and shadow we made,
      which means we can repeatedly draw labels with a blurred text-shadow
      extremely fast.
      
      To detect whether the shadow is up-to-date, we track the serial of the
      PangoLayout alongside the radius of the box shadow. We don't support
      inset shadows nor spread on text-shadow, so we don't need to track
      these.
      dadc37e6
  12. 03 Oct, 2014 3 commits
  13. 02 Sep, 2014 1 commit
  14. 01 Sep, 2014 1 commit
  15. 29 Aug, 2014 1 commit
  16. 02 Aug, 2014 1 commit
    • Jasper St. Pierre's avatar
      gtkcssshadowvalue: Don't double-apply the alpha to shadows · 9f2e0902
      Jasper St. Pierre authored
      It turns out that when we were painting the shadows, we painted the them
      with the base color once, which contained the alpha, and then blurred it
      and used it as a mask for the fill, which has the fill again.
      
      To fix this, always paint the base surface with full alpha. The existing
      code applies the blur conditionally sometimes in weird ways, so the code
      shuffling fix may not look correct, but be assured it is. If the blur
      happens, the new cr we return has the *default* color applied, which is
      fully opaque black, which works perfectly against the A8 surface.
      
      The fallback spinner code needs some modification, since it is
      intentionally using the alpha to paint the lobes which are "in the past".
      Since we shouldn't be hitting this fallback path very often, we use a
      temporary group and paint it with paint_with_alpha, even though it is
      slow.
      9f2e0902
  17. 29 Jul, 2014 2 commits
  18. 10 Jun, 2014 1 commit
  19. 09 Jun, 2014 1 commit
    • Benjamin Otte's avatar
      css: Parse text-shadow values properly · 3759190c
      Benjamin Otte authored
      We used to accept the same syntax for text-shadow and icon-shadow as
      we accept for box-shadow. However, box-shadow does accept a spread and
      the inset keyword while the others should not.
      3759190c
  20. 03 Feb, 2014 1 commit
  21. 31 Aug, 2013 1 commit
  22. 03 Jul, 2013 1 commit
    • Alexander Larsson's avatar
      css: Add a scale argument to css-value compute vfunc · af2c40bd
      Alexander Larsson authored
      We need to be able to compute different GtkCssImage values
      depending on the scale, and we need this at compute time so that
      we don't need to read any images other than the scale in used (to
      e.g. calculate the image size). GtkStyleProviderPrivate is shared
      for all style contexts, so its not right.
      af2c40bd
  23. 06 May, 2013 5 commits
  24. 22 Apr, 2013 1 commit
  25. 09 Apr, 2013 1 commit
  26. 08 Nov, 2012 1 commit
  27. 16 Oct, 2012 1 commit
  28. 28 Sep, 2012 1 commit
    • Benjamin Otte's avatar
      css: Huge refactoring to avoid computing wrong values · 1454ba15
      Benjamin Otte authored
      Here's the shortest description of the bug I can come up with:
      When computing values, we have 3 kinds of dependencies:
      (1) other properties ("currentColor" or em values)
      (2) inherited properties ("inherit")
      (3) generic things from the theme (@keyframes or @define-color)
      Previously, we passed the GtkStyleContext as an argument, because it
      provided these 3 things using:
      (1) _gtk_style_context_peek_property()
      (2) _gtk_style_context_peek_property(gtk_style_context_get_parent())
      (3) context->priv->cascade
      
      However, this makes it impossible to lookup values other than the ones
      accessible via _gtk_style_context_peek_property(). And this is exactly
      what we are doing in gtk_style_context_update_cache(). So when the cache
      updates encountered case (1), they were looking up the values from the
      wrong style data.
      
      So this large patch essentially does nothing but replace the
      context argument in all compute functions with new arguments for the 3
      cases above:
      (1) values
      (2) parent_values
      (3) provider
      
      We apparently have a lot of computing code.
      1454ba15
  29. 21 Sep, 2012 1 commit
  30. 20 Sep, 2012 1 commit