+
+ // draw border
+ if (bwidth)
+ {
+ rc.setRect(x, y, width, height);
+ rc.moveBy(offset);
+ rc &= itemrect;
+ painter.clip(rc);
+ if (pborderColor)
+ {
+ int color = PyInt_AsLong(pborderColor);
+ painter.setForegroundColor(gRGB(color));
+ }
+ else if (pcolor)
+ style.setStyle(painter, selected ? eWindowStyle::styleListboxSelected : eWindowStyle::styleListboxNormal);
+
+ rc.setRect(x, y, width, bwidth);
+ rc.moveBy(offset);
+ painter.fill(rc);
+
+ rc.setRect(x, y+bwidth, bwidth, height-bwidth);
+ rc.moveBy(offset);
+ painter.fill(rc);
+
+ rc.setRect(x+bwidth, y+height-bwidth, width-bwidth, bwidth);
+ rc.moveBy(offset);
+ painter.fill(rc);
+
+ rc.setRect(x+width-bwidth, y+bwidth, bwidth, height-bwidth);
+ rc.moveBy(offset);
+ painter.fill(rc);
+
+ painter.clippop();
+ }
+