+ double start, end;
+
+ if (_gtk_css_number_value_get_unit (start_border) == GTK_CSS_NUMBER)
+ start = start_border_width * _gtk_css_number_value_get (start_border, 100);
+ else
+ start = _gtk_css_number_value_get (start_border, area_size);
+ if (_gtk_css_number_value_get_unit (end_border) == GTK_CSS_NUMBER)
+ end = end_border_width * _gtk_css_number_value_get (end_border, 100);
+ else
+ end = _gtk_css_number_value_get (end_border, area_size);
+
+ /* XXX: reduce vertical and horizontal by the same factor */
+ if (start + end > area_size)
+ {
+ start = start * area_size / (start + end);
+ end = end * area_size / (start + end);
+ }