diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2005-03-30 07:28:17 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2005-03-30 07:28:17 +0000 |
| commit | ab5aa90e1e05a89845c6e802ef1b2366d203aa45 (patch) | |
| tree | 24b8f67a1cc123481b3f21fdc026795969a073cf /lib/gdi/grc.cpp | |
| parent | cfe43ee16030fd37f6bce9ba99e367c15ecbf44f (diff) | |
| download | enigma2-ab5aa90e1e05a89845c6e802ef1b2366d203aa45.tar.gz enigma2-ab5aa90e1e05a89845c6e802ef1b2366d203aa45.zip | |
- default fonts handled in windowstyle
- fixed 32bit ARGB support (drawLine)
- add sdl (but currently disabled)
- fixed /dev/vc/0 -> /dev/stdin for console input
- added alignment to label
- fixed skin parsing (getElementsByTagName didn't do what i expected)
Diffstat (limited to 'lib/gdi/grc.cpp')
| -rw-r--r-- | lib/gdi/grc.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/lib/gdi/grc.cpp b/lib/gdi/grc.cpp index a63aef92..e7748967 100644 --- a/lib/gdi/grc.cpp +++ b/lib/gdi/grc.cpp @@ -302,6 +302,10 @@ void gPainter::clippop() void gPainter::flush() { + gOpcode o; + o.opcode = gOpcode::flush; + o.dc = m_dc.grabRef(); + m_rc->submit(o); } void gPainter::end() @@ -340,15 +344,16 @@ void gDC::exec(gOpcode *o) case gOpcode::renderText: { ePtr<eTextPara> para = new eTextPara(o->parm.renderText->area); + int flags = o->parm.renderText->flags; assert(m_current_font); para->setFont(m_current_font); - para->renderString(o->parm.renderText->text, 0); + para->renderString(o->parm.renderText->text, (flags & gPainter::RT_WRAP) ? RS_WRAP : 0); - if (o->parm.renderText->flags & gPainter::RT_HALIGN_RIGHT) + if (flags & gPainter::RT_HALIGN_RIGHT) para->realign(eTextPara::dirRight); - else if (o->parm.renderText->flags & gPainter::RT_HALIGN_CENTER) + else if (flags & gPainter::RT_HALIGN_CENTER) para->realign(eTextPara::dirCenter); - else if (o->parm.renderText->flags & gPainter::RT_HALIGN_BLOCK) + else if (flags & gPainter::RT_HALIGN_BLOCK) para->realign(eTextPara::dirBlock); ePoint offset = m_current_offset; @@ -454,6 +459,8 @@ void gDC::exec(gOpcode *o) m_current_offset = o->parm.setOffset->value; delete o->parm.setOffset; break; + case gOpcode::flush: + break; default: eFatal("illegal opcode %d. expect memory leak!", o->opcode); } |
