Refactor hacky floating point casts

Avoid casting an int to a double for a calculation only to cast it back,
instead prefer to use integer operations where appropriate.
This commit is contained in:
Nikos Tsipinakis 2018-04-22 11:44:30 +03:00
parent 4e57e1db1c
commit 5e7f58203e
2 changed files with 3 additions and 5 deletions

View File

@ -483,8 +483,6 @@ static struct dimensions layout_render(cairo_surface_t *srf, colored_layout *cl,
pango_layout_get_pixel_size(cl->l, NULL, &h_text); pango_layout_get_pixel_size(cl->l, NULL, &h_text);
int bg_height = MAX(settings.notification_height, (2 * settings.padding) + h); int bg_height = MAX(settings.notification_height, (2 * settings.padding) + h);
double bg_half_height = settings.notification_height/2.0;
int pango_offset = (int) floor(h/2.0);
cairo_surface_t *content = render_background(srf, cl, cl_next, dim.y, dim.w, bg_height, first, last); cairo_surface_t *content = render_background(srf, cl, cl_next, dim.y, dim.w, bg_height, first, last);
cairo_t *c = cairo_create(content); cairo_t *c = cairo_create(content);
@ -502,7 +500,7 @@ static struct dimensions layout_render(cairo_surface_t *srf, colored_layout *cl,
if (settings.notification_height <= (2 * settings.padding) + h) if (settings.notification_height <= (2 * settings.padding) + h)
dim.y += h + 2 * settings.padding; dim.y += h + 2 * settings.padding;
else else
dim.y += 2 *( (int) (ceil(bg_half_height) - pango_offset)); dim.y += settings.notification_height;
cairo_destroy(c); cairo_destroy(c);
cairo_surface_destroy(content); cairo_surface_destroy(content);

View File

@ -161,11 +161,11 @@ cairo_surface_t *icon_get_for_notification(const notification *n)
if (w >= h) { if (w >= h) {
scaled = gdk_pixbuf_scale_simple(pixbuf, scaled = gdk_pixbuf_scale_simple(pixbuf,
settings.max_icon_size, settings.max_icon_size,
(int) ((double) settings.max_icon_size / w * h), (settings.max_icon_size * h) / w,
GDK_INTERP_BILINEAR); GDK_INTERP_BILINEAR);
} else { } else {
scaled = gdk_pixbuf_scale_simple(pixbuf, scaled = gdk_pixbuf_scale_simple(pixbuf,
(int) ((double) settings.max_icon_size / h * w), (settings.max_icon_size * w) / h,
settings.max_icon_size, settings.max_icon_size,
GDK_INTERP_BILINEAR); GDK_INTERP_BILINEAR);
} }