aboutsummaryrefslogtreecommitdiff
path: root/lib/gui/ewidget.cpp
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2005-04-15 18:00:24 +0000
committerFelix Domke <tmbinc@elitedvb.net>2005-04-15 18:00:24 +0000
commit44433f650cd3e5f9f66253b74d194fcb01578595 (patch)
treec67ea0df64ff9bfdd500abd4a641a7aae7450a84 /lib/gui/ewidget.cpp
parent77c45c9d2cabd3c1dc028c41d26573ac62147a34 (diff)
downloadenigma2-44433f650cd3e5f9f66253b74d194fcb01578595.tar.gz
enigma2-44433f650cd3e5f9f66253b74d194fcb01578595.zip
- sdl is now default output
- added skinned window style - added background colors - some RGB color support (but still not how i like it) - some minor bugfixes
Diffstat (limited to 'lib/gui/ewidget.cpp')
-rw-r--r--lib/gui/ewidget.cpp27
1 files changed, 22 insertions, 5 deletions
diff --git a/lib/gui/ewidget.cpp b/lib/gui/ewidget.cpp
index 7f089361..3ba248ff 100644
--- a/lib/gui/ewidget.cpp
+++ b/lib/gui/ewidget.cpp
@@ -7,6 +7,7 @@ eWidget::eWidget(eWidget *parent): m_parent(parent ? parent->child() : 0)
{
m_vis = 0;
m_desktop = 0;
+ m_have_background_color = 0;
if (m_parent)
m_vis = wVisShow;
@@ -45,10 +46,12 @@ void eWidget::resize(eSize size)
fits into the other completely, and invalidate
only once. */
eSize old_size = m_size;
- event(evtWillChangeSize, &size);
+ eSize offset = eSize(0, 0);
+ event(evtWillChangeSize, &size, &offset);
if (old_size == m_size)
return;
-
+ move(position() + offset);
+
invalidate();
event(evtChangedSize);
recalcClipRegionsWhenVisible();
@@ -145,6 +148,13 @@ void eWidget::destruct()
delete this;
}
+void eWidget::setBackgroundColor(const gRGB &col)
+{
+ eDebug("set background color in ewidget!");
+ m_background_color = col;
+ m_have_background_color = 1;
+}
+
eWidget::~eWidget()
{
hide();
@@ -217,9 +227,16 @@ int eWidget::event(int event, void *data, void *data2)
// eDebug("eWidget::evtPaint");
// dumpRegion(*(gRegion*)data);
- ePtr<eWindowStyle> style;
- if (!getStyle(style))
- style->paintBackground(painter, ePoint(0, 0), size());
+ if (!m_have_background_color)
+ {
+ ePtr<eWindowStyle> style;
+ if (!getStyle(style))
+ style->paintBackground(painter, ePoint(0, 0), size());
+ } else
+ {
+ painter.setBackgroundColor(m_background_color);
+ painter.clear();
+ }
break;
}
case evtKey: