public void drawMathObject(PolygonObject object, Graphics g, Point pageOrigin, float zoomLevel) { g.setColor(Color.BLACK); ScaledSizeAndPosition sap = getSizeAndPositionWithLineThickness(object, pageOrigin, zoomLevel, object.getThickness()); Graphics2D g2d = (Graphics2D) g; g2d.setStroke(new BasicStroke(sap.getLineThickness())); Polygon p = new Polygon(); GridPoint[] points = object.getAdjustedVertices(); for (int i = 0; i < points.length; i++) { p.addPoint( (int) (points[i].getx() * sap.getWidth()) + sap.getxOrigin(), (int) (points[i].gety() * sap.getHeight()) + sap.getyOrigin()); } if (object.getColor() != null) { g2d.setColor(object.getColor()); g2d.fillPolygon(p); g2d.setColor(Color.BLACK); } g2d.drawPolygon(p); g2d.setStroke(new BasicStroke(1)); }
public Polygon getCollisionAndSelectionPolygon( PolygonObject pObject, Point pageOrigin, float zoomLevel) { ScaledSizeAndPosition sap = getSizeAndPosition(pObject, pageOrigin, zoomLevel); GridPoint[] pts = pObject.getAdjustedVertices(); int[] xVals = new int[pts.length]; int[] yVals = new int[pts.length]; int i = 0; for (GridPoint pt : pts) { xVals[i] = (int) (pt.getx() * sap.getWidth()) + sap.getxOrigin(); yVals[i] = (int) (pt.gety() * sap.getHeight()) + sap.getyOrigin(); i++; } return new Polygon(xVals, yVals, pts.length); }
public void drawInteractiveComponents( PolygonObject object, Graphics g, Point pageOrigin, float zoomLevel) { drawMathObject(object, g, pageOrigin, zoomLevel); // This is currently unused, this is an alternative to commenting out the code that makes sure // it keeps compiling if (false) { ScaledSizeAndPosition sap = getSizeAndPosition(object, pageOrigin, zoomLevel); GridPoint[] pts = object.getAdjustedVertices(); for (int i = 0; i < pts.length; i++) { g.setColor(Color.YELLOW); g.fillOval( (int) (pts[i].getx() * sap.getWidth()) + sap.getxOrigin() - dotRadius, (int) (pts[i].gety() * sap.getWidth()) + sap.getyOrigin() - dotRadius, 2 * dotRadius, 2 * dotRadius); g.setColor(Color.BLACK); g.drawOval( (int) (pts[i].getx() * sap.getWidth()) + sap.getxOrigin() - dotRadius, (int) (pts[i].gety() * sap.getHeight()) + sap.getyOrigin() - dotRadius, 2 * dotRadius, 2 * dotRadius); } } }