aboutsummaryrefslogtreecommitdiff
path: root/lib/gdi/grc.cpp
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2005-01-28 02:39:09 +0000
committerFelix Domke <tmbinc@elitedvb.net>2005-01-28 02:39:09 +0000
commit8ade23537a682d4b0c9709d533b25702bde2ee23 (patch)
treed558411192229a6ddb407b8b067658572b6a9e6b /lib/gdi/grc.cpp
parent1a46b8d1505a1496dfdce0a9f96dde7efbc65d65 (diff)
downloadenigma2-8ade23537a682d4b0c9709d533b25702bde2ee23.tar.gz
enigma2-8ade23537a682d4b0c9709d533b25702bde2ee23.zip
- add listbox
- add listbox example to python (press space, use 1..5) - fix label text positions
Diffstat (limited to 'lib/gdi/grc.cpp')
-rw-r--r--lib/gdi/grc.cpp19
1 files changed, 17 insertions, 2 deletions
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<eTextPara> 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;
}