summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2014-02-28 07:29:32 +0100
committerThomas Martitz <kugel@rockbox.org>2014-03-03 11:20:13 +0100
commit3ae07d48a2182fc3b1f8e9b15e6366ff32b92e25 (patch)
tree1683e5d6714b4a2b3bf501096b7a60953318360e
parent05999ed86d55ca51a9371b0253cdabd734539d1f (diff)
downloadrockbox-3ae07d4.tar.gz
rockbox-3ae07d4.tar.bz2
rockbox-3ae07d4.zip
Fix FS#12951: The icons could be a pixel to far down.
Since eec89a9 icons have been centered using same calculation as for fonts. In edge cases this is visually different from before and didn't align well to the font's baseline. Revert to the old calculation just for centering icons to fix. A proper aligorithm would take the baseline into account but this has worked sufficiently well for us (fix this if needed) Change-Id: I86593529b16cd28ae4552641e216e73795f2450c
-rw-r--r--apps/gui/line.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/apps/gui/line.c b/apps/gui/line.c
index 4d08a34372..449d01a896 100644
--- a/apps/gui/line.c
+++ b/apps/gui/line.c
@@ -192,8 +192,12 @@ static void print_line(struct screen *display,
tempbuf_idx = 0;
/* vertically center string on the line
* x/2 - y/2 rounds up compared to (x-y)/2 if one of x and y is odd */
- icon_y = y + height/2 - icon_h/2;
y += height/2 - display->getcharheight()/2;
+ /* For the icon use a differnet calculation which to round down instead.
+ * This tends to align better with the font's baseline for small heights.
+ * A proper aligorithm would take the baseline into account but this has
+ * worked sufficiently well for us (fix this if needed) */
+ icon_y = y + (height - icon_h)/2;
/* parse format string */
while (xpos < max_width)