/** * {@inheritDoc} */ public void invoke(PdfCanvasProcessor processor, PdfLiteral operator, List<PdfObject> operands) { float x = ((PdfNumber) operands.get(0)).floatValue(); float y = ((PdfNumber) operands.get(1)).floatValue(); processor.currentPath.moveTo(x, y); } }
static void addContour(com.itextpdf.kernel.geom.Path path, List<Point.LongPoint> contour, boolean close) { List<com.itextpdf.kernel.geom.Point> floatContour = convertToFloatPoints(contour); com.itextpdf.kernel.geom.Point point = floatContour.get(0); path.moveTo((float) point.getX(), (float) point.getY()); for (int i = 1; i < floatContour.size(); i++) { point = floatContour.get(i); path.lineTo((float) point.getX(), (float) point.getY()); } if (close) { path.closeSubpath(); } }
/** * Appends a rectangle to the current path as a complete subpath. */ public void rectangle(float x, float y, float w, float h) { moveTo(x, y); lineTo(x + w, y); lineTo(x + w, y + h); lineTo(x, y + h); closeSubpath(); }
/** * Closes the current subpath. */ public void closeSubpath() { if (!isEmpty()) { Subpath lastSubpath = getLastSubpath(); lastSubpath.setClosed(true); Point startPoint = lastSubpath.getStartPoint(); moveTo((float) startPoint.getX(), (float) startPoint.getY()); } }