diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2005-01-28 02:39:09 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2005-01-28 02:39:09 +0000 |
| commit | 8ade23537a682d4b0c9709d533b25702bde2ee23 (patch) | |
| tree | d558411192229a6ddb407b8b067658572b6a9e6b /lib/gdi/grc.cpp | |
| parent | 1a46b8d1505a1496dfdce0a9f96dde7efbc65d65 (diff) | |
| download | enigma2-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.cpp | 19 |
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; } |
