summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2016-05-10 00:58:50 +0200
committerMatthias Clasen <mclasen@redhat.com>2016-05-19 12:10:07 -0400
commite7e55d13a4cdb636c01ed8b13f28f92f19e42aae (patch)
tree0ae0b549b029b1eeb565d56d2b44a1b677989973
parentadcbd8add9ca16cf0b3a3d8d13b6dbb41be3e4be (diff)
downloadgtk+-e7e55d13a4cdb636c01ed8b13f28f92f19e42aae.tar.gz
cssimage: Make it possible to shrink builtin check/optionmarks
... below 7px of size.
-rw-r--r--gtk/gtkcssimagebuiltin.c40
1 files 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.,