diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2005-04-15 18:00:24 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2005-04-15 18:00:24 +0000 |
| commit | 44433f650cd3e5f9f66253b74d194fcb01578595 (patch) | |
| tree | c67ea0df64ff9bfdd500abd4a641a7aae7450a84 /lib/gui/ewidget.cpp | |
| parent | 77c45c9d2cabd3c1dc028c41d26573ac62147a34 (diff) | |
| download | enigma2-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.cpp | 27 |
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: |
