1. 23 Apr, 2013 2 commits
    • Alexander Larsson's avatar
      GtkSizeRequestCache: Don't store baselines in horizontal case · 5ad618cb
      Alexander Larsson authored
      This saves memory for every widget (maximum 48 bytes per widget) at
      a cost of a few duplicated codepaths in the size request cache.
      5ad618cb
    • Alexander Larsson's avatar
      Initial support for baselines · 852cbb62
      Alexander Larsson authored
      This modifies the size machinery in order to allow baseline support.
      
      We add a new widget vfunc get_preferred_height_and_baseline_for_width
      which queries the normal height_for_width (or non-for-width if width
      is -1) and additionally returns optional (-1 means "no baseline")
      baselines for the minimal and natural heights.
      
      We also add a new gtk_widget_size_allocate_with_baseline() which
      baseline-aware containers can use to allocate children with a specific
      baseline, either one inherited from the parent, or one introduced due
      to requested baseline alignment in the container
      itself. size_allocate_with_baseline() works just like a normal size
      allocation, except the baseline gets recorded so that the child can
      access it via gtk_widget_get_allocated_baseline() when it aligns
      itself.
      
      There are also adjust_baseline_request/allocation similar to the
      allocation adjustment, and we extend the size request cache to also
      store the baselines.
      852cbb62
  2. 14 Nov, 2012 9 commits