mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-06 08:40:08 +00:00
label: Add another special case for measuring
This commit is contained in:
parent
9992efdb0e
commit
21f117c695
@ -3066,6 +3066,17 @@ gtk_label_get_measuring_layout (GtkLabel * label,
|
||||
return priv->layout;
|
||||
}
|
||||
|
||||
/* We can use the label's own layout if we're not allocated a size yet,
|
||||
* because we don't need it to be properly setup at that point.
|
||||
* This way we can make use of caching upon the label's creation.
|
||||
*/
|
||||
if (gtk_widget_get_allocated_width (GTK_WIDGET (label)) <= 1)
|
||||
{
|
||||
g_object_ref (priv->layout);
|
||||
pango_layout_set_width (priv->layout, width);
|
||||
return priv->layout;
|
||||
}
|
||||
|
||||
/* oftentimes we want to measure a width that is far wider than the current width,
|
||||
* even though the layout is not wrapped. In that case, we can just return the
|
||||
* current layout, because for measuring purposes, it will be identical.
|
||||
|
Loading…
Reference in New Issue
Block a user