X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/c479beea7cc338380a38e29ae041c03b2c299ac1..d04e6435efecf42a192a4f6c71dca9a1a053d5fb:/lib/gui/ecanvas.cpp diff --git a/lib/gui/ecanvas.cpp b/lib/gui/ecanvas.cpp index c6469912..c9a1ec82 100644 --- a/lib/gui/ecanvas.cpp +++ b/lib/gui/ecanvas.cpp @@ -11,28 +11,43 @@ void eCanvas::setSize(eSize size) void eCanvas::clear(gRGB color) { -#if 0 if (!m_pixmap) return; ePtr d = new gDC(m_pixmap); gPainter p(d, eRect()); + p.resetClip(eRect(ePoint(0,0), m_pixmap->size())); p.setBackgroundColor(color); p.clear(); invalidate(); -#endif } void eCanvas::fillRect(eRect rect, gRGB color) { - eDebug("draw into canvas... %d %d, %d %d", rect.left(), rect.top(), rect.width(), rect.height()); -#if 0 - ePtr d = new gDC(m_pixmap); - gPainter p(d, eRect()); + if (!m_pixmap) + return; + + ePtr dc = new gDC(m_pixmap); + + gPainter p(dc); + p.resetClip(eRect(ePoint(0,0), m_pixmap->size())); p.setForegroundColor(color); p.fill(rect); invalidate(rect); -#endif +} + +void eCanvas::writeText(eRect rect, gRGB fg, gRGB bg, gFont *font, const char *string, int flags) +{ + ePtr dc = new gDC(m_pixmap); + + gPainter p(dc); + p.setFont(font); + p.resetClip(eRect(ePoint(0,0), m_pixmap->size())); + p.setForegroundColor(fg); + p.setBackgroundColor(bg); + p.renderText(rect, string, flags); + + invalidate(rect); }