public void doDraw(Painter p) { WorkCraftServer server = ownerDocument.getServer(); Vec2 ll = boundingBox.getLowerLeft(); Vec2 ur = boundingBox.getUpperRight(); Vec2 ul = new Vec2(ll.getX(), ur.getY()); Vec2 lr = new Vec2(ur.getX(), ll.getY()); transform.getLocalToViewMatrix().transform(ll); transform.getLocalToViewMatrix().transform(ur); transform.getLocalToViewMatrix().transform(ul); transform.getLocalToViewMatrix().transform(lr); BoundingBox superbb = new BoundingBox(); superbb.addPoint(ll); superbb.addPoint(ul); superbb.addPoint(ur); superbb.addPoint(lr); Vec2 v1 = superbb.getLowerLeft(); Vec2 v2 = superbb.getUpperRight(); Vec2 center; p.setTextColor(getLabelColor()); PyObject po; if (server != null) po = server.python.get("_draw_labels"); else po = null; if ((server == null) || (po != null && po.__nonzero__())) if (!label.equals("")) { if (labelOrder == 0) center = new Vec2(0.5f * (v1.getX() + v2.getX()), v1.getY() + getLabelYOffset()); else center = new Vec2((v1.getX() + v2.getX()) * 0.5f, v2.getY() + getLabelYOffset()); // transform.getLocalToViewMatrix().transform(center); p.drawString(label, center, 0.05f, TextAlign.CENTER); } if (server != null) po = server.python.get("_draw_ids"); else po = null; if ((server == null) || (po != null && po.__nonzero__())) if (id != null && !id.equals("")) { if (labelOrder == 0) center = new Vec2((v1.getX() + v2.getX()) * 0.5f, v2.getY() + 0.025f); else center = new Vec2(0.5f * (v1.getX() + v2.getX()), v1.getY() - 0.05f); // transform.getLocalToViewMatrix().transform(center); p.drawString(id, center, 0.05f, TextAlign.CENTER); } }
public boolean __nonzero__() { PyType self_type = getType(); PyObject impl = self_type.lookup("__nonzero__"); if (impl == null) { impl = self_type.lookup("__len__"); if (impl == null) return super.__nonzero__(); } PyObject o = impl.__get__(this, self_type).__call__(); if (o.getClass() != PyInteger.class && o.getClass() != PyBoolean.class) { throw Py.TypeError( String.format("__nonzero__ should return bool or int, returned %s", self_type.getName())); } return o.__nonzero__(); }
public PyObject __iternext__() { while (true) { PyObject element = nextElement(iterator); if (element != null) { // the boolean value of calling predicate with the element // or if predicate is null/None of the element itself boolean booleanValue = predicate != null ? predicate.__call__(element).__nonzero__() : element.__nonzero__(); if (booleanValue == filterTrue) { // if the boolean value is the same as filterTrue return // the element // for ifilter filterTrue is always true, for // ifilterfalse always false return element; } } else { return null; } } }