public Rect prepareDraw(Canvas _canvas) { if (isCollapsed()) { rect = Instruction.prepareDraw(_canvas, getCollapsedText(), this); return rect; } rect.top = 0; rect.left = 0; rect.right = 2 * Math.round(E_PADDING / 2); FontMetrics fm = _canvas.getFontMetrics(Element.font); rect.right = Math.round(2 * (Element.E_PADDING / 2)); for (int i = 0; i < getText().count(); i++) { if (rect.right < getWidthOutVariables(_canvas, getText().get(i), this) + 2 * Math.round(E_PADDING / 2)) { rect.right = getWidthOutVariables(_canvas, getText().get(i), this) + 2 * Math.round(E_PADDING / 2); } } rect.bottom = 2 * Math.round(E_PADDING / 2) + getText().count() * fm.getHeight(); r = q.prepareDraw(_canvas); rect.right = Math.max(rect.right, r.right + E_PADDING); rect.bottom += r.bottom + E_PADDING; return rect; }