git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
forgotten sdl-fix
[enigma2.git]
/
lib
/
gui
/
ewidgetdesktop.cpp
diff --git
a/lib/gui/ewidgetdesktop.cpp
b/lib/gui/ewidgetdesktop.cpp
index 8c489eb3afccc890cd8561c8cc454dcd8d4a74ab..3a60a26ae99ea9bf845ec3043e6d0e4dfb1e938c 100644
(file)
--- a/
lib/gui/ewidgetdesktop.cpp
+++ b/
lib/gui/ewidgetdesktop.cpp
@@
-55,7
+55,7
@@
void eWidgetDesktop::invalidate(const gRegion ®ion)
m_dirty_region |= region;
}
m_dirty_region |= region;
}
-void eWidgetDesktop::setBackgroundColor(g
Color
col)
+void eWidgetDesktop::setBackgroundColor(g
RGB
col)
{
m_background_color = col;
{
m_background_color = col;
@@
-70,6
+70,13
@@
void eWidgetDesktop::setBackgroundColor(gColor col)
}
}
}
}
+void eWidgetDesktop::setPalette(gPixmap &pm)
+{
+ ASSERT(m_dc);
+ gPainter painter(m_dc);
+ painter.setPalette(&pm);
+}
+
void eWidgetDesktop::paint()
{
gPainter painter(m_dc);
void eWidgetDesktop::paint()
{
gPainter painter(m_dc);
@@
-116,15
+123,21
@@
void eWidgetDesktop::makeCompatiblePixmap(gPixmap &pm)
eWarning("eWidgetDesktop: no DC to make pixmap compatible with!");
return;
}
eWarning("eWidgetDesktop: no DC to make pixmap compatible with!");
return;
}
- eDebug("painter..");
- gPainter painter(m_dc);
- eDebug("merge!");
- painter.mergePalette(&pm);
- eDebug("gone!");
+
+ ePtr<gDC> pixmap_dc = new gDC(&pm);
+ gPainter pixmap_painter(pixmap_dc);
+
+ ePtr<gPixmap> target_pixmap;
+ m_dc->getPixmap(target_pixmap);
+
+ assert(target_pixmap);
+
+ pixmap_painter.mergePalette(target_pixmap);
}
eWidgetDesktop::eWidgetDesktop(eSize size): m_screen_size(size), m_mainloop(0), m_timer(0)
{
}
eWidgetDesktop::eWidgetDesktop(eSize size): m_screen_size(size), m_mainloop(0), m_timer(0)
{
+ m_dirty_region = gRegion(eRect(ePoint(0, 0), m_screen_size));
}
eWidgetDesktop::~eWidgetDesktop()
}
eWidgetDesktop::~eWidgetDesktop()