From 8ade23537a682d4b0c9709d533b25702bde2ee23 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Fri, 28 Jan 2005 02:39:09 +0000 Subject: - add listbox - add listbox example to python (press space, use 1..5) - fix label text positions --- lib/gdi/grc.cpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'lib/gdi/grc.cpp') diff --git a/lib/gdi/grc.cpp b/lib/gdi/grc.cpp index cb2a6de9..137e92dc 100644 --- a/lib/gdi/grc.cpp +++ b/lib/gdi/grc.cpp @@ -342,8 +342,23 @@ void gDC::exec(gOpcode *o) ePtr para = new eTextPara(o->parm.renderText->area); assert(m_current_font); para->setFont(m_current_font); - para->renderString(o->parm.renderText->text, o->parm.renderText->flags); - para->blit(*this, m_current_offset, getRGB(m_background_color), getRGB(m_foreground_color)); + para->renderString(o->parm.renderText->text, 0); + + if (o->parm.renderText->flags & gPainter::RT_HALIGN_RIGHT) + para->realign(eTextPara::dirRight); + else if (o->parm.renderText->flags & gPainter::RT_HALIGN_CENTER) + para->realign(eTextPara::dirCenter); + else if (o->parm.renderText->flags & gPainter::RT_HALIGN_BLOCK) + para->realign(eTextPara::dirBlock); + + ePoint offset = m_current_offset; + + if (o->parm.renderText->flags & gPainter::RT_VALIGN_CENTER) + { + eRect bbox = para->getBoundBox(); + offset += ePoint(0, (o->parm.renderText->area.height() - bbox.height()) / 2); + } + para->blit(*this, offset, getRGB(m_background_color), getRGB(m_foreground_color)); delete o->parm.renderText; break; } -- cgit v1.2.3