aboutsummaryrefslogtreecommitdiff
path: root/lib/gdi/grc.cpp
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2006-05-11 00:13:26 +0000
committerFelix Domke <tmbinc@elitedvb.net>2006-05-11 00:13:26 +0000
commitb887d75af86b430552cc28ea5e37bf58bd557d4b (patch)
treef9107dd0824ec984a88fd9332806ef15400aa203 /lib/gdi/grc.cpp
parentb21236226ec3c6a49d3594ac0ccad20906228238 (diff)
downloadenigma2-b887d75af86b430552cc28ea5e37bf58bd557d4b.tar.gz
enigma2-b887d75af86b430552cc28ea5e37bf58bd557d4b.zip
use rgb values whenever possible
Diffstat (limited to 'lib/gdi/grc.cpp')
-rw-r--r--lib/gdi/grc.cpp30
1 files changed, 23 insertions, 7 deletions
diff --git a/lib/gdi/grc.cpp b/lib/gdi/grc.cpp
index 19a32b62..a9bac4af 100644
--- a/lib/gdi/grc.cpp
+++ b/lib/gdi/grc.cpp
@@ -506,18 +506,24 @@ void gDC::exec(gOpcode *o)
{
case gOpcode::setBackgroundColor:
m_background_color = o->parm.setColor->color;
+ m_background_color_rgb = getRGB(m_background_color);
delete o->parm.setColor;
break;
case gOpcode::setForegroundColor:
m_foreground_color = o->parm.setColor->color;
+ m_background_color_rgb = getRGB(m_foreground_color);
delete o->parm.setColor;
break;
case gOpcode::setBackgroundColorRGB:
- m_background_color = m_pixmap->surface->clut.findColor(o->parm.setColorRGB->color);
+ if (m_pixmap->needClut())
+ m_background_color = m_pixmap->surface->clut.findColor(o->parm.setColorRGB->color);
+ m_background_color_rgb = o->parm.setColorRGB->color;
delete o->parm.setColorRGB;
break;
case gOpcode::setForegroundColorRGB:
- m_foreground_color = m_pixmap->surface->clut.findColor(o->parm.setColorRGB->color);
+ if (m_pixmap->needClut())
+ m_foreground_color = m_pixmap->surface->clut.findColor(o->parm.setColorRGB->color);
+ m_foreground_color_rgb = o->parm.setColorRGB->color;
delete o->parm.setColorRGB;
break;
case gOpcode::setFont:
@@ -549,13 +555,14 @@ void gDC::exec(gOpcode *o)
int correction = vcentered_top - bbox.top();
offset += ePoint(0, correction);
}
- para->blit(*this, offset, getRGB(m_background_color), getRGB(m_foreground_color));
+
+ para->blit(*this, offset, m_background_color_rgb, m_foreground_color_rgb);
delete o->parm.renderText;
break;
}
case gOpcode::renderPara:
{
- 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->blit(*this, o->parm.renderPara->offset + m_current_offset, m_background_color_rgb, m_foreground_color_rgb);
o->parm.renderPara->textpara->Release();
delete o->parm.renderPara;
break;
@@ -565,7 +572,10 @@ void gDC::exec(gOpcode *o)
eRect area = o->parm.fill->area;
area.moveBy(m_current_offset);
gRegion clip = m_current_clip & area;
- m_pixmap->fill(clip, m_foreground_color);
+ if (m_pixmap->needClut())
+ m_pixmap->fill(clip, m_foreground_color);
+ else
+ m_pixmap->fill(clip, m_foreground_color_rgb);
delete o->parm.fill;
break;
}
@@ -573,12 +583,18 @@ void gDC::exec(gOpcode *o)
{
o->parm.fillRegion->region.moveBy(m_current_offset);
gRegion clip = m_current_clip & o->parm.fillRegion->region;
- m_pixmap->fill(clip, m_foreground_color);
+ if (m_pixmap->needClut())
+ m_pixmap->fill(clip, m_foreground_color);
+ else
+ m_pixmap->fill(clip, m_foreground_color_rgb);
delete o->parm.fillRegion;
break;
}
case gOpcode::clear:
- m_pixmap->fill(m_current_clip, m_background_color);
+ if (m_pixmap->needClut())
+ m_pixmap->fill(m_current_clip, m_background_color);
+ else
+ m_pixmap->fill(m_current_clip, m_background_color_rgb);
delete o->parm.fill;
break;
case gOpcode::blit: