Skip to content
  • Benjamin Otte's avatar
    settings: Provide a default style cascade per scale · 808bfe0a
    Benjamin Otte authored
    This guarantees we only create 1 extra style cascade in total for hidpi
    and not one per style context.
    
    Style cascades are now nested like this:
    
    GtkSettings root cascade (scale == 1)
     |
     +-- GtkSettings per scale cascade (for any scale, no custom providers)
     |
     +-- GtkStyleContext custom cascade (for any scale, custom providers)
    
    This requires a bunch of care when changing cascade-related properties
    inside GtkStyleContext, so that it ends up with a properly setup
    cascade, but I think I got those cases right.
    
    The only thing we don't do yet is reverting to a GtkSettings cascade
    when the last custom provider is removed from a custom cascade.
    808bfe0a