diff options
author | Benjamin Otte <otte@redhat.com> | 2017-01-13 03:28:34 +0100 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2017-01-13 03:38:36 +0100 |
commit | a06b1ea1baecf6f0211726e901af93995f01a923 (patch) | |
tree | 4efa20db1b6fd372ab7113cb5968e7336f42e06f /gtk/gtkcssimage.c | |
parent | b58de2d16cbb1b4e8fbdb6aac9d73deb887650e9 (diff) | |
download | gtk+-a06b1ea1baecf6f0211726e901af93995f01a923.tar.gz |
cssimage: Scale images to contain, not cover
Images with just an aspect ratio, but without a size, should be scaled
to be fully visible in the given area.
But we scaled them to completely cover the given area, which made them
partially invisible.
Reftest included.
Diffstat (limited to 'gtk/gtkcssimage.c')
-rw-r--r-- | gtk/gtkcssimage.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gtk/gtkcssimage.c b/gtk/gtkcssimage.c index 29d9959d8b..822ba4726f 100644 --- a/gtk/gtkcssimage.c +++ b/gtk/gtkcssimage.c @@ -358,13 +358,13 @@ _gtk_css_image_get_concrete_size (GtkCssImage *image, { if (image_aspect * default_height > default_width) { - *concrete_width = default_height * image_aspect; - *concrete_height = default_height; + *concrete_width = default_width; + *concrete_height = default_width / image_aspect; } else { - *concrete_width = default_width; - *concrete_height = default_width / image_aspect; + *concrete_width = default_height * image_aspect; + *concrete_height = default_height; } } else |