X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/83dc65144ec5b7d412f959afd2abb947580f7121..c514ae52c43b9d90c482c63c35b466cc265fd8da:/lib/gui/elistboxcontent.cpp diff --git a/lib/gui/elistboxcontent.cpp b/lib/gui/elistboxcontent.cpp index 95d92e09..5959343a 100644 --- a/lib/gui/elistboxcontent.cpp +++ b/lib/gui/elistboxcontent.cpp @@ -110,7 +110,7 @@ void eListboxTestContent::setSize(const eSize &size) void eListboxTestContent::paint(gPainter &painter, eWindowStyle &style, const ePoint &offset, int selected) { - ePtr fnt = new gFont("Arial", 20); + ePtr fnt = new gFont("Regular", 20); painter.clip(eRect(offset, m_size)); style.setStyle(painter, selected ? eWindowStyle::styleListboxSelected : eWindowStyle::styleListboxNormal); painter.clear(); @@ -219,7 +219,7 @@ void eListboxStringContent::setSize(const eSize &size) void eListboxStringContent::paint(gPainter &painter, eWindowStyle &style, const ePoint &offset, int selected) { - ePtr fnt = new gFont("Arial", 20); + ePtr fnt = new gFont("Regular", 20); painter.clip(eRect(offset, m_itemsize)); style.setStyle(painter, selected ? eWindowStyle::styleListboxSelected : eWindowStyle::styleListboxNormal); painter.clear(); @@ -328,7 +328,7 @@ void eListboxPythonStringContent::setSize(const eSize &size) void eListboxPythonStringContent::paint(gPainter &painter, eWindowStyle &style, const ePoint &offset, int selected) { - ePtr fnt = new gFont("Arial", 20); + ePtr fnt = new gFont("Regular", 20); painter.clip(eRect(offset, m_itemsize)); style.setStyle(painter, selected ? eWindowStyle::styleListboxSelected : eWindowStyle::styleListboxNormal); painter.clear(); @@ -398,8 +398,8 @@ void eListboxPythonStringContent::invalidate() void eListboxPythonConfigContent::paint(gPainter &painter, eWindowStyle &style, const ePoint &offset, int selected) { - ePtr fnt = new gFont("Arial", 20); - ePtr fnt2 = new gFont("Arial", 16); + ePtr fnt = new gFont("Regular", 20); + ePtr fnt2 = new gFont("Regular", 16); painter.clip(eRect(offset, m_itemsize)); style.setStyle(painter, selected ? eWindowStyle::styleListboxSelected : eWindowStyle::styleListboxNormal); painter.clear(); @@ -545,7 +545,8 @@ RESULT SwigFromPython(ePtr &res, PyObject *obj); void eListboxPythonMultiContent::paint(gPainter &painter, eWindowStyle &style, const ePoint &offset, int selected) { - painter.clip(eRect(offset, m_itemsize)); + eRect itemrect(offset, m_itemsize); + painter.clip(itemrect); style.setStyle(painter, selected ? eWindowStyle::styleListboxSelected : eWindowStyle::styleListboxNormal); painter.clear(); @@ -661,16 +662,25 @@ void eListboxPythonMultiContent::paint(gPainter &painter, eWindowStyle &style, c } eRect r = eRect(x, y, width, height); r.moveBy(offset); + r &= itemrect; painter.setFont(m_font[fnt]); + painter.clip(r); painter.renderText(r, string, flags); + painter.clippop(); Py_XDECREF(pstring); break; } case 1: // pixmap { + if (!(px && py && pwidth && pheight && pfnt)) + { + eDebug("eListboxPythonMultiContent received too small tuple (must be (x, y, width, height, pixmap))"); + painter.clippop(); + return; + } int x = PyInt_AsLong(px); int y = PyInt_AsLong(py); int width = PyInt_AsLong(pwidth); @@ -678,8 +688,12 @@ void eListboxPythonMultiContent::paint(gPainter &painter, eWindowStyle &style, c eRect r = eRect(x, y, width, height); r.moveBy(offset); + r &= itemrect; + painter.clip(r); painter.blit(pixmap, r.topLeft(), r); + painter.clippop(); + break; } default: