aboutsummaryrefslogtreecommitdiff
path: root/lib/gdi/grc.cpp
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2005-01-09 16:29:34 +0000
committerFelix Domke <tmbinc@elitedvb.net>2005-01-09 16:29:34 +0000
commitba02fb4aced5868d047a5bffbd2ed87583daee4d (patch)
treebcfea66b1f7fd2212539a99abc074de1424ac9a0 /lib/gdi/grc.cpp
parent2494509cd031727d92c6556089c99711d16d8af9 (diff)
downloadenigma2-ba02fb4aced5868d047a5bffbd2ed87583daee4d.tar.gz
enigma2-ba02fb4aced5868d047a5bffbd2ed87583daee4d.zip
- add more python stuff
- fix some gui/gdi - add eslider - improve windowstyle
Diffstat (limited to 'lib/gdi/grc.cpp')
-rw-r--r--lib/gdi/grc.cpp23
1 files changed, 21 insertions, 2 deletions
diff --git a/lib/gdi/grc.cpp b/lib/gdi/grc.cpp
index 4597034f..cb2a6de9 100644
--- a/lib/gdi/grc.cpp
+++ b/lib/gdi/grc.cpp
@@ -164,6 +164,17 @@ void gPainter::fill(const eRect &area)
m_rc->submit(o);
}
+void gPainter::fill(const gRegion &region)
+{
+ gOpcode o;
+ o.opcode=gOpcode::fillRegion;
+
+ o.dc = m_dc.grabRef();
+ o.parm.fillRegion = new gOpcode::para::pfillRegion;
+ o.parm.fillRegion->region = region;
+ m_rc->submit(o);
+}
+
void gPainter::clear()
{
gOpcode o;
@@ -332,13 +343,13 @@ void gDC::exec(gOpcode *o)
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_foreground_color), getRGB(m_background_color));
+ para->blit(*this, m_current_offset, getRGB(m_background_color), getRGB(m_foreground_color));
delete o->parm.renderText;
break;
}
case gOpcode::renderPara:
{
- o->parm.renderPara->textpara->blit(*this, o->parm.renderPara->offset + m_current_offset, getRGB(m_foreground_color), getRGB(m_background_color));
+ o->parm.renderPara->textpara->blit(*this, o->parm.renderPara->offset + m_current_offset, getRGB(m_background_color), getRGB(m_foreground_color));
o->parm.renderPara->textpara->Release();
delete o->parm.renderPara;
break;
@@ -352,6 +363,14 @@ void gDC::exec(gOpcode *o)
delete o->parm.fill;
break;
}
+ case gOpcode::fillRegion:
+ {
+ o->parm.fillRegion->region.moveBy(m_current_offset);
+ gRegion clip = m_current_clip & o->parm.fillRegion->region;
+ m_pixmap->fill(clip, m_foreground_color);
+ delete o->parm.fillRegion;
+ break;
+ }
case gOpcode::clear:
m_pixmap->fill(m_current_clip, m_background_color);
delete o->parm.fill;