• 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
gtkwidget.h 49.5 KB