[baobab/wip/valacharts] Treemap: show text labels



commit 68dfd19ac99adbe7c95c5aafa827f2e99343bd42
Author: Stefano Facchini <stefano facchini gmail com>
Date:   Tue Jun 11 17:05:25 2013 +0200

    Treemap: show text labels

 src/baobab-treemap.vala |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletions(-)
---
diff --git a/src/baobab-treemap.vala b/src/baobab-treemap.vala
index 814d4dd..ded6472 100644
--- a/src/baobab-treemap.vala
+++ b/src/baobab-treemap.vala
@@ -36,6 +36,8 @@ namespace Baobab {
 
         const int ITEM_BORDER_WIDTH = 1;
         const int ITEM_PADDING = 6;
+        const int ITEM_TEXT_PADDING = 3;
+
         const int ITEM_MIN_WIDTH = 3;
         const int ITEM_MIN_HEIGHT = 3;
 
@@ -66,7 +68,18 @@ namespace Baobab {
             cr.stroke ();
 
             if (show_text) {
-                // show text
+                var layout = create_pango_layout (null);
+                var markup = Markup.escape_text (text);
+                layout.set_markup (markup, -1);
+
+                Pango.Rectangle rect;
+                layout.get_pixel_extents (null, out rect);
+
+                if ((rect.width + ITEM_TEXT_PADDING * 2 <= width) &&
+                    (rect.height + ITEM_TEXT_PADDING * 2 <= height)) {
+                    cr.move_to (x + width / 2 - rect.width / 2, y + height / 2 - rect.height / 2);
+                    Pango.cairo_show_layout (cr, layout);
+                }
             }
         }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]