diff -Nur ubuntulooks-0.9.12/engine/src/ubuntulooks_draw.c ubuntulooks-0.9.12.new/engine/src/ubuntulooks_draw.c --- ubuntulooks-0.9.12/engine/src/ubuntulooks_draw.c 2006-09-01 18:57:20.000000000 +0200 +++ engine/src/ubuntulooks_draw.c 2006-10-09 16:26:29.000000000 +0200 @@ -1837,14 +1837,6 @@ cairo_pattern_t *pattern; gboolean draw_bullet = (checkbox->shadow_type == GTK_SHADOW_IN); - /* sanitize size to be rectangular */ - if (width > height) { - x += (width - height) / 2; - width = height; - } else if (height > width) { - y += (height - width) / 2; - height = width; - } cairo_set_line_width (cr, 1.0); @@ -1947,8 +1939,6 @@ } - cairo_translate (cr, x, y); - cairo_scale (cr, width / 13.0, height / 13.0); /* To offset this checkmark, one should probably use a translation */ if (draw_bullet) { @@ -1961,7 +1951,7 @@ cairo_translate (cr, -2, -2); } - cairo_move_to (cr, 4, 8); + cairo_move_to (cr, x + 4, y + 8); cairo_rel_line_to (cr, 5, 4); cairo_rel_curve_to (cr, 1.4, -5, -1, -1, 5.7, -12.5); cairo_rel_curve_to (cr, -4, 4, -4, 4, -6.7, 9.3); @@ -1975,7 +1965,10 @@ } else if (checkbox->shadow_type == GTK_SHADOW_ETCHED_IN) { - cairo_rectangle (cr, 4.0, 6.0, 6, 2); + int c_x = x + (width/2) - 2; + int c_y = y + (height/2); + + cairo_rectangle (cr, c_x, c_y, 6, 2); cairo_set_source_rgb (cr, colors->text[widget->state_type].r, colors->text[widget->state_type].g, colors->text[widget->state_type].b); @@ -1993,15 +1986,7 @@ CairoColor border, top, bottom; cairo_pattern_t *pattern; gboolean draw_bullet = (checkbox->shadow_type == CL_SHADOW_IN || checkbox->shadow_type == CL_SHADOW_ETCHED_IN); - /* sanitize size to be rectangular */ - if (width > height) { - x += (width - height) / 2; - width = height; - } else if (height > width) { - y += (height - width) / 2; - height = width; - } - + cairo_set_line_width (cr, 1.0); if (checkbox->in_menu) @@ -2085,11 +2070,9 @@ cairo_stroke (cr); // draw the bullet - cairo_translate (cr, x, y); - cairo_scale (cr, width / 13.0, height / 13.0); if (draw_bullet) { - cairo_arc (cr, 6.5, 6.5, 2.5, 0, 2 * M_PI); + cairo_arc (cr, x+width/2., y+height/2., 2.5, 0, 2 * M_PI); if (widget->disabled) { cairo_set_source_rgb (cr, colors->text[widget->state_type].r, @@ -2098,7 +2081,7 @@ } else { - pattern = cairo_pattern_create_radial (5.25, 5.25, 0.1, 5.25, 5.25, 4); + pattern = cairo_pattern_create_radial (x+width/2. - 1.25, y+height/2. - 1.25, 0.1, x+width/2. - 1.25, y+height/2. - 1.25, 4); cairo_pattern_add_color_stop_rgb (pattern, 0.0, 0.4, 0.4, 0.4); cairo_pattern_add_color_stop_rgb (pattern, 1.0, colors->text[widget->state_type].r, colors->text[widget->state_type].g,