diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | src/sato-draw-cairo.c | 5 |
2 files changed, 9 insertions, 1 deletions
@@ -1,5 +1,10 @@ 2008-02-12 Thomas Wood <thomas@openedhand.com> + * src/sato-draw-cairo.c: (sato_draw_extension): + Fix left and right active tabs in cairo version + +2008-02-12 Thomas Wood <thomas@openedhand.com> + * data/gtkrc: Improve "insensitive" state support 2008-02-12 Thomas Wood <thomas@openedhand.com> diff --git a/src/sato-draw-cairo.c b/src/sato-draw-cairo.c index 3a058a7..a1a0cdc 100644 --- a/src/sato-draw-cairo.c +++ b/src/sato-draw-cairo.c @@ -448,7 +448,6 @@ sato_draw_extension (GtkStyle * style, GdkWindow * window, break; case GTK_POS_BOTTOM: /* top tab */ if (state_type == GTK_STATE_NORMAL) - /* this allows for some overlap */ height += LINE_WIDTH; cairo_move_to (cr, x, y + height); @@ -457,12 +456,16 @@ sato_draw_extension (GtkStyle * style, GdkWindow * window, cairo_line_to (cr, x + width, y + height); break; case GTK_POS_LEFT: /* right tab */ + if (state_type == GTK_STATE_NORMAL) + x -= LINE_WIDTH / 2; cairo_move_to (cr, x, y); cairo_arc (cr, x + width - RADIUS, y + RADIUS, RADIUS, M_PI * 1.5, 0); cairo_arc (cr, x + width - RADIUS, y + height - RADIUS, RADIUS, 0, M_PI * 0.5); cairo_line_to (cr, x, y + height); break; case GTK_POS_RIGHT: /* left tab */ + if (state_type == GTK_STATE_NORMAL) + width += LINE_WIDTH; cairo_move_to (cr, x + width, y); cairo_arc_negative (cr, x + RADIUS, y + RADIUS, RADIUS, M_PI * 1.5, M_PI); cairo_arc_negative (cr, x + RADIUS, y + height - RADIUS, RADIUS, M_PI, M_PI * 0.5); |