summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2008-04-23 19:40:28 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2008-04-23 19:40:28 +0100
commit923bb3b3aede69e6d7eb789af9ee7a13df8a2c0b (patch)
tree71fc333dc1ac92c1539393ad9b6836c77284899c
parentb5cd4c67a6d1c8c7d7caed890319fb3ae55db6b0 (diff)
Tweak label layout on SummaryChart.
-rw-r--r--src/summary-chart.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/summary-chart.c b/src/summary-chart.c
index e9a5dc1..c632bb0 100644
--- a/src/summary-chart.c
+++ b/src/summary-chart.c
@@ -326,7 +326,12 @@ summary_chart_expose (GtkWidget *widget, GdkEventExpose *ev)
max_r = mid_r + logical.width / 2.;
arc_height = dtheta * min_r - 4;
if (min_r < r/4 + 2 || max_r > r - 2 || logical.height > arc_height) {
- pango_layout_set_width (text, PANGO_SCALE * (r*3./4 - 2*BORDER));
+ gdouble rr = 3*r/4 - 2*BORDER;
+ if (logical.height > arc_height) {
+ min_r = r - BORDER - (logical.height + 4) / dtheta;
+ rr = MIN (rr, min_r);
+ }
+ pango_layout_set_width (text, PANGO_SCALE * rr);
pango_layout_set_ellipsize (text, PANGO_ELLIPSIZE_END);
pango_layout_get_pixel_extents (text, NULL, &logical);
min_r = mid_r - logical.width / 2.;