From 243824ab80fb58a46f9471e880316caf8356fe80 Mon Sep 17 00:00:00 2001 From: Siegfried-Angel Gevatter Pujals Date: Thu, 1 Oct 2009 22:32:38 +0200 Subject: [PATCH] Replace "round(x)" with "(int)(0.5 + x)" round() is a C99 addition, so causes portability problems: different C library versions require different #defines to enable it. So simply avoid using it. --- src/st/st-button.c | 3 +-- src/st/st-theme-node.c | 21 ++++++++++----------- src/st/st-widget.c | 5 ++--- 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/src/st/st-button.c b/src/st/st-button.c index a479e23ad..e1602e086 100644 --- a/src/st/st-button.c +++ b/src/st/st-button.c @@ -35,7 +35,6 @@ #include "config.h" #endif -#include #include #include @@ -165,7 +164,7 @@ st_button_style_changed (StWidget *widget) spacing = 6; st_theme_node_get_length (theme_node, "border-spacing", FALSE, &spacing); - priv->spacing = round (spacing); + priv->spacing = (int)(0.5 + spacing); /* update the label styling */ st_button_update_label_style (button); diff --git a/src/st/st-theme-node.c b/src/st/st-theme-node.c index ac2c1f7c1..0b48e47e3 100644 --- a/src/st/st-theme-node.c +++ b/src/st/st-theme-node.c @@ -1,6 +1,5 @@ /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ -#include #include #include @@ -1565,7 +1564,7 @@ font_weight_from_term (CRTerm *term, if (term->content.num->type != NUM_GENERIC) return FALSE; - weight_int = (int)(term->content.num->val + 0.5); + weight_int = (int)(0.5 + term->content.num->val); *weight = weight_int; *weight_absolute = TRUE; @@ -1899,7 +1898,7 @@ st_theme_node_get_border_image (StThemeNode *node) if (term->content.num->type == NUM_GENERIC) { - borders[n_borders] = round (0.5 + term->content.num->val); + borders[n_borders] = (int)(0.5 + term->content.num->val); n_borders++; } else if (term->content.num->type == NUM_PERCENTAGE) @@ -1962,15 +1961,15 @@ st_theme_node_get_border_image (StThemeNode *node) static float get_width_inc (StThemeNode *node) { - return (round (node->border_width[ST_SIDE_LEFT]) + node->padding[ST_SIDE_LEFT] + - round (node->border_width[ST_SIDE_RIGHT]) + node->padding[ST_SIDE_RIGHT]); + return ((int)(0.5 + node->border_width[ST_SIDE_LEFT]) + node->padding[ST_SIDE_LEFT] + + (int)(0.5 + node->border_width[ST_SIDE_RIGHT]) + node->padding[ST_SIDE_RIGHT]); } static float get_height_inc (StThemeNode *node) { - return (round (node->border_width[ST_SIDE_TOP]) + node->padding[ST_SIDE_TOP] + - round (node->border_width[ST_SIDE_BOTTOM]) + node->padding[ST_SIDE_BOTTOM]); + return ((int)(0.5 + node->border_width[ST_SIDE_TOP]) + node->padding[ST_SIDE_TOP] + + (int)(0.5 + node->border_width[ST_SIDE_BOTTOM]) + node->padding[ST_SIDE_BOTTOM]); } /** @@ -2103,10 +2102,10 @@ st_theme_node_get_content_box (StThemeNode *node, ensure_borders (node); - content_box->x1 = round (node->border_width[ST_SIDE_LEFT]) + node->padding[ST_SIDE_LEFT]; - content_box->y1 = round (node->border_width[ST_SIDE_TOP]) + node->padding[ST_SIDE_TOP]; - content_box->x2 = allocation->x2 - allocation->x1 - (round (node->border_width[ST_SIDE_RIGHT]) + node->padding[ST_SIDE_RIGHT]); - content_box->y2 = allocation->y2 - allocation->y1 - (round (node->border_width[ST_SIDE_BOTTOM]) + node->padding[ST_SIDE_BOTTOM]); + content_box->x1 = (int)(0.5 + node->border_width[ST_SIDE_LEFT]) + node->padding[ST_SIDE_LEFT]; + content_box->y1 = (int)(0.5 + node->border_width[ST_SIDE_TOP]) + node->padding[ST_SIDE_TOP]; + content_box->x2 = allocation->x2 - allocation->x1 - ((int)(0.5 + node->border_width[ST_SIDE_RIGHT]) + node->padding[ST_SIDE_RIGHT]); + content_box->y2 = allocation->y2 - allocation->y1 - ((int)(0.5 + node->border_width[ST_SIDE_BOTTOM]) + node->padding[ST_SIDE_BOTTOM]); } diff --git a/src/st/st-widget.c b/src/st/st-widget.c index 6605ce759..02c57cc44 100644 --- a/src/st/st-widget.c +++ b/src/st/st-widget.c @@ -28,7 +28,6 @@ #include "config.h" #endif -#include #include #include @@ -533,7 +532,7 @@ st_widget_real_style_changed (StWidget *self) double width = st_theme_node_get_border_width (theme_node, side); if (width > 0.5) { - border_width = round (width); + border_width = (int)(0.5 + width); st_theme_node_get_border_color (theme_node, side, &border_color); break; } @@ -544,7 +543,7 @@ st_widget_real_style_changed (StWidget *self) double radius = st_theme_node_get_border_radius (theme_node, corner); if (radius > 0.5) { - border_radius = round (radius); + border_radius = (int)(0.5 + radius); break; } }