- flags |= gPainter::RT_WRAP;
- painter.renderText(eRect(0, 0, size().width(), size().height()), m_text, flags);
+ if (!m_nowrap)
+ flags |= gPainter::RT_WRAP;
+
+ /* if we don't have shadow, m_shadow_offset will be 0,0 */
+ painter.renderText(eRect(-m_shadow_offset.x(), -m_shadow_offset.y(), size().width(), size().height()), m_text, flags);
+
+ if (m_have_shadow_color)
+ {
+ if (!m_have_foreground_color)
+ style->setStyle(painter, eWindowStyle::styleLabel);
+ else
+ painter.setForegroundColor(m_foreground_color);
+ painter.setBackgroundColor(m_shadow_color);
+ painter.renderText(eRect(0, 0, size().width(), size().height()), m_text, flags);
+ }