From e7e55d13a4cdb636c01ed8b13f28f92f19e42aae Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 10 May 2016 00:58:50 +0200 Subject: cssimage: Make it possible to shrink builtin check/optionmarks ... below 7px of size. --- gtk/gtkcssimagebuiltin.c | 40 ++++++++++------------------------------ 1 file changed, 10 insertions(+), 30 deletions(-) diff --git a/gtk/gtkcssimagebuiltin.c b/gtk/gtkcssimagebuiltin.c index 3a65747f80..fe0f652211 100644 --- a/gtk/gtkcssimagebuiltin.c +++ b/gtk/gtkcssimagebuiltin.c @@ -45,23 +45,18 @@ gtk_css_image_builtin_draw_check (GtkCssImage *image, gboolean inconsistent) { GtkCssImageBuiltin *builtin = GTK_CSS_IMAGE_BUILTIN (image); - gint x, y, exterior_size, interior_size, thickness, pad; + gint x, y, exterior_size, interior_size, pad; exterior_size = MIN (width, height); if (exterior_size % 2 == 0) /* Ensure odd */ exterior_size -= 1; - /* FIXME: thickness */ - thickness = 1; - pad = thickness + MAX (1, (exterior_size - 2 * thickness) / 9); + pad = 1 + MAX (1, (exterior_size - 2) / 9); interior_size = MAX (1, exterior_size - 2 * pad); if (interior_size < 7) - { - interior_size = 7; - pad = MAX (0, (exterior_size - interior_size) / 2); - } + pad = MAX (0, (exterior_size - interior_size) / 2); x = - (1 + exterior_size - (gint) width) / 2; y = - (1 + exterior_size - (gint) height) / 2; @@ -126,7 +121,7 @@ gtk_css_image_builtin_draw_option (GtkCssImage *image, gboolean inconsistent) { GtkCssImageBuiltin *builtin = GTK_CSS_IMAGE_BUILTIN (image); - gint x, y, exterior_size, interior_size, thickness, pad; + gint x, y, exterior_size, interior_size, pad; exterior_size = MIN (width, height); @@ -138,22 +133,16 @@ gtk_css_image_builtin_draw_option (GtkCssImage *image, gdk_cairo_set_source_rgba (cr, &builtin->fg_color); - /* FIXME: thickness */ - thickness = 1; + pad = 1 + MAX (1, 2 * (exterior_size - 2) / 9); + interior_size = MAX (1, exterior_size - 2 * pad); + + if (interior_size < 7) + pad = MAX (0, (exterior_size - interior_size) / 2); if (inconsistent) { gint line_thickness; - pad = thickness + MAX (1, (exterior_size - 2 * thickness) / 9); - interior_size = MAX (1, exterior_size - 2 * pad); - - if (interior_size < 7) - { - interior_size = 7; - pad = MAX (0, (exterior_size - interior_size) / 2); - } - line_thickness = MAX (1, (3 + interior_size * 2) / 7); cairo_rectangle (cr, @@ -163,17 +152,8 @@ gtk_css_image_builtin_draw_option (GtkCssImage *image, line_thickness); cairo_fill (cr); } - if (checked) + else if (checked) { - pad = thickness + MAX (1, 2 * (exterior_size - 2 * thickness) / 9); - interior_size = MAX (1, exterior_size - 2 * pad); - - if (interior_size < 5) - { - interior_size = 7; - pad = MAX (0, (exterior_size - interior_size) / 2); - } - cairo_new_sub_path (cr); cairo_arc (cr, x + pad + interior_size / 2., -- cgit v1.2.1