1. 03 Jan, 2016 5 commits
    • Matthias Clasen's avatar
      Improve formatting of CSS style prints · cfa08841
      Matthias Clasen authored
      Add a newline after CSS properties, so things don't run into
      each other.
    • Matthias Clasen's avatar
      Redo CSS style printing · 2e921691
      Matthias Clasen authored
      Drop the custom style printing implementation in gtkcssnode.c and
      instead reuse the existing gtk_css_style_print function, extending
      it a bit to suit our needs.
      Instead of computing values, just recognize initial values by
      having no CSS section. Also do away with the show-initial flag, and
      just always filter out initial values. The flag can come back when
      it is needed.
    • Matthias Clasen's avatar
      Move node printing to GtkCssNodeDeclaration · 0c52eca3
      Matthias Clasen authored
      The node declaration has all the information we are printing
      here (except for visibility). At the same time, redo the format
      to print the information in selector format, and indicate
      (in)visibility by enclosing the selector in square brackets.
    • Cosimo Cecchi's avatar
      cssnode: fix a compiler warning · dcaffe36
      Cosimo Cecchi authored
    • Matthias Clasen's avatar
      Add a function to dump CSS nodes and styles · 68edc47f
      Matthias Clasen authored
      Add a gtk_style_context_to_string function that can serialize
      a CSS node or tree of nodes, optionally including CSS properties
      as well.
      This will be useful in writing tests.
  2. 18 Dec, 2015 1 commit
  3. 16 Dec, 2015 1 commit
    • Benjamin Otte's avatar
      cssnode: Redo first/last-child change tracking · 2e362eaf
      Benjamin Otte authored
      Invisible nodes don't change the first/last-child status of the nodes
      after/before them. That means we don't have to just check the state of
      the adjacent node when modifying this state, but all their siblings
      until we hit a visible node.
      The same way, a node is not the first child if it has no previous
      sibling, it is the first child if it has no previous visible sibling.
      This is important for caching in the global lookup cache.
  4. 15 Dec, 2015 2 commits
    • Matthias Clasen's avatar
      css node: Warn more · f2dd4350
      Matthias Clasen authored
      gtk_css_node_insert_before/after can easily create cycles
      which later lead to stack overflows. Even if we're not
      catching all cycles here, at least we can detect obviously
      invalid arguments, such as inserting a node next to itself.
    • Benjamin Otte's avatar
      cssnode: Clear cache if reusing style · f6606c4f
      Benjamin Otte authored
      When we reuse styles that didn't change across changes to the source
      CSS, make sure we clear the caches. Otherwise child nodes will pick up
      styles from the old source CSS.
  5. 13 Dec, 2015 1 commit
    • Benjamin Otte's avatar
      cssnode: Set new style if it's animated · eb97ef05
      Benjamin Otte authored
      In commit 2c613166 we avoided emitting
      the style-changed signal if no CSS property changed.
      Unfortunately, this also caused CSS styles to not be updated when
      animations started if those animations did not change any CSS value
      immediately. In those cases the animation would just never start.
      The obvious example was the spinner.
  6. 12 Dec, 2015 2 commits
    • Benjamin Otte's avatar
      cssnode: Catch case where a style didn't change · 2c613166
      Benjamin Otte authored
      Catch the case where a CSS style did not change and don't emit the
      style-changed signal in that case.
      This saves not only the emission of the signal, but also doesn't cause
      invalidation in child nodes, which would previously get a PARENT_STYLE
    • Benjamin Otte's avatar
      cssnode: Change style-changed signal · 971a2774
      Benjamin Otte authored
      Instead of having old and new style, now have a GtkCssStyleChange opaque
      object that will compute the changes you are interested in for you.
      This simplifies change signal handlers quite a bit and avoids lots of
      repeated computation in every signal handler.
  7. 06 Dec, 2015 1 commit
  8. 19 Nov, 2015 3 commits
  9. 09 Nov, 2015 1 commit
  10. 01 Nov, 2015 2 commits
  11. 27 Oct, 2015 1 commit
  12. 22 Oct, 2015 3 commits
  13. 12 Sep, 2015 3 commits
  14. 11 Sep, 2015 1 commit
  15. 09 Sep, 2015 1 commit
    • Matthias Clasen's avatar
      Clean up debug features · 3526b08e
      Matthias Clasen authored
      Introduce a GTK_DEBUG_CHECK() macro and use it to check for
      GTK_DEBUG flags everywhere. Also guard all such places by
  16. 27 Aug, 2015 1 commit
    • Benjamin Otte's avatar
      cssnode: Loosen requirements for style caching · f1ca75d1
      Benjamin Otte authored
      We can actually share :first-child/:last-child related things now,
      because we special case them. So the only positions we cannot cache are
      This should take care of a lot of Adwaita's styling.
  17. 16 Jul, 2015 2 commits
  18. 10 Jul, 2015 2 commits
  19. 06 Jul, 2015 1 commit
  20. 30 May, 2015 1 commit
  21. 18 Mar, 2015 5 commits