From 1665635199f1d80b9ed435777461d9e16339608a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Alexis=20Laferri=C3=A8re?= Date: Mon, 17 Nov 2014 12:59:49 -0500 Subject: [PATCH] lib/tileset: intro `TileSetFont::text_width` MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Alexis Laferrière --- lib/mnit/tileset.nit | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/mnit/tileset.nit b/lib/mnit/tileset.nit index 41d8a47..285ee55 100644 --- a/lib/mnit/tileset.nit +++ b/lib/mnit/tileset.nit @@ -88,6 +88,18 @@ class TileSetFont # Distance between the beginning of a letter tile and the beginning of the next letter tile fun advance: Numeric do return width.add(hspace) + # Distance between the beginning and the end of the longest line of `text` + fun text_width(text: String): Numeric + do + var lines = text.split('\n') + if lines.is_empty then return 0 + + var longest = 0 + for line in lines do longest = longest.max(line.length) + + return longest.mul(advance) + end + # Distance between the top of the first line to the bottom of the last line in `text` fun text_height(text: Text): Numeric do -- 1.7.9.5