diff options
| author | Tomas Bzatek <tbzatek@users.sourceforge.net> | 2019-09-20 20:12:43 +0200 |
|---|---|---|
| committer | Tomas Bzatek <tbzatek@users.sourceforge.net> | 2019-09-20 20:12:43 +0200 |
| commit | d3cbbd5b8ab09f3023bbe5067a39935495e59847 (patch) | |
| tree | 1e7c858e60e030d3ae0a28450def05e345331251 /src/setup.c | |
| parent | 004ba6b7e3546cf05f36b4fef7609d2ba4386fa5 (diff) | |
| download | cataract-d3cbbd5b8ab09f3023bbe5067a39935495e59847.tar.xz | |
generators: Force even base image dimensions for fractional HiDPI sizes
In case a dimension of the base image is not even and fractional HiDPI
size is to be generated, the resulting image size computes to a non-integer
values. Rounding in browsers may vary so let's stick with safe values and
force even base image dimensions. This may result in slight crop applied
before resize, generally imperceptible.
Tested on Chromium 69 and Firefox 52.
Diffstat (limited to 'src/setup.c')
| -rw-r--r-- | src/setup.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/setup.c b/src/setup.c index 266c36e..1ff7ae2 100644 --- a/src/setup.c +++ b/src/setup.c @@ -328,13 +328,13 @@ parse_design_setup_xml (const gchar *filename) hidpi_image_size->no_resize_threshold = 0; hidpi_image_size->availability_threshold = 0; hidpi_image_size->name = g_strdup_printf (HIDPI_NAME_FORMAT, image_size->name, hidpi_image_size->hidpi_scale_factor); - hidpi_image_size->landscape_width = lround ((gdouble) image_size->landscape_width * hidpi_image_size->hidpi_scale_factor); - hidpi_image_size->landscape_height = lround ((gdouble) image_size->landscape_height * hidpi_image_size->hidpi_scale_factor); - hidpi_image_size->portrait_width = lround ((gdouble) image_size->portrait_width * hidpi_image_size->hidpi_scale_factor); - hidpi_image_size->portrait_height = lround ((gdouble) image_size->portrait_height * hidpi_image_size->hidpi_scale_factor); - hidpi_image_size->square_size = lround ((gdouble) image_size->square_size * hidpi_image_size->hidpi_scale_factor); - hidpi_image_size->crop_width = lround ((gdouble) image_size->crop_width * hidpi_image_size->hidpi_scale_factor); - hidpi_image_size->crop_height = lround ((gdouble) image_size->crop_height * hidpi_image_size->hidpi_scale_factor); + hidpi_image_size->landscape_width = (gdouble) image_size->landscape_width * hidpi_image_size->hidpi_scale_factor; + hidpi_image_size->landscape_height = (gdouble) image_size->landscape_height * hidpi_image_size->hidpi_scale_factor; + hidpi_image_size->portrait_width = (gdouble) image_size->portrait_width * hidpi_image_size->hidpi_scale_factor; + hidpi_image_size->portrait_height = (gdouble) image_size->portrait_height * hidpi_image_size->hidpi_scale_factor; + hidpi_image_size->square_size = (gdouble) image_size->square_size * hidpi_image_size->hidpi_scale_factor; + hidpi_image_size->crop_width = (gdouble) image_size->crop_width * hidpi_image_size->hidpi_scale_factor; + hidpi_image_size->crop_height = (gdouble) image_size->crop_height * hidpi_image_size->hidpi_scale_factor; if (! hidpi_image_size->is_thumbnail && design->hidpi_quality > 0) hidpi_image_size->quality = design->hidpi_quality; if (hidpi_image_size->is_thumbnail && design->hidpi_thumbnail_quality > 0) |
