From ce30d9c65212f81fd48c26f98bbeaed2dc9b4a83 Mon Sep 17 00:00:00 2001 From: traycold Date: Tue, 20 Mar 2012 23:28:49 +0100 Subject: [PATCH] use font metric to better display help page (to exted to other pages in future) --- ft.c | 4 ++-- helppage.lua | 37 ++++++++++++++++++++----------------- rendertext.lua | 4 ++-- rendertext_example.lua | 2 +- 4 files changed, 25 insertions(+), 22 deletions(-) diff --git a/ft.c b/ft.c index df27e96fd..e399b673c 100644 --- a/ft.c +++ b/ft.c @@ -171,7 +171,7 @@ static int getKerning(lua_State *L) { return 1; } -static int getHeight(lua_State *L) { +static int getHeightAndAscender(lua_State *L) { FT_Face *face = (FT_Face*) luaL_checkudata(L, 1, "ft_face"); double pixels_height,pixels_ascender; @@ -206,7 +206,7 @@ static const struct luaL_Reg ft_face_meth[] = { {"renderGlyph", renderGlyph}, {"hasKerning", hasKerning}, {"getKerning", getKerning}, - {"getHeight", getHeight}, + {"getHeightAndAscender", getHeightAndAscender}, {"done", doneFace}, {"__gc", doneFace}, {NULL, NULL} diff --git a/helppage.lua b/helppage.lua index 33ba5e9a9..8e28034f4 100644 --- a/helppage.lua +++ b/helppage.lua @@ -7,11 +7,6 @@ require "selectmenu" require "commands" HelpPage = { - -- Other Class vars: - - -- spacing between lines - spacing = 25, - -- state buffer commands = nil, items = 0, @@ -21,16 +16,13 @@ HelpPage = { -- Other Class vars: -- font for displaying keys -HelpPage.fsize = 20 -HelpPage.face, HelpPage.fhash = Font:getFaceAndHash(HelpPage.fsize, "mono") +HelpPage.mFace, HelpPage.mHash = Font:getFaceAndHash(20, "mono") -- font for displaying help messages -HelpPage.hfsize = 20 -HelpPage.hface, HelpPage.hfhash = Font:getFaceAndHash(HelpPage.hfsize, "sans") +HelpPage.sFace, HelpPage.sHash = Font:getFaceAndHash(20, "sans") -- font for paging display -HelpPage.ffsize = 15 -HelpPage.fface, HelpPage.ffhash = Font:getFaceAndHash(HelpPage.ffsize, "sans") +HelpPage.fFace, HelpPage.fHash = Font:getFaceAndHash(15, "sans") -function HelpPage:show(ypos, height,commands) +function HelpPage:show(ypos,height,commands) self.commands = {} self.items = 0 local keys = {} @@ -44,28 +36,39 @@ function HelpPage:show(ypos, height,commands) end end table.sort(self.commands,function(w1,w2) return w1.order