g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON); g2d.setBackground(Color.BLACK); g2d.setColor(color[currShape]); case 1: g2d.fill(new Rectangle2D.Double(currX, currY, SHAPE_SIZE, SHAPE_SIZE)); break; case 2: g2d.fill(new Arc2D.Double(currX,currY,SHAPE_SIZE,SHAPE_SIZE,315,225,Arc2D.PIE)); break; case 3: break; case 1: g2d.fill(new Rectangle2D.Double(distractorX, distractorY, SHAPE_SIZE, SHAPE_SIZE)); break; case 2: g2d.fill(new Arc2D.Double(distractorX,distractorY,SHAPE_SIZE,SHAPE_SIZE,315,225,Arc2D.PIE)); break; case 3:
insets.trim(plotArea); Rectangle2D originalPlotArea = (Rectangle2D) plotArea.clone(); if (info != null) { info.setPlotArea(plotArea); Shape savedClip = g2.getClip(); g2.clip(plotArea); Rectangle2D explodeArea = new Rectangle2D.Double(linkX + hh / 2.0, linkY + vv / 2.0, linkW - hh, linkH - vv); * 360) / totalValue; if (Math.abs(angle2 - angle1) > getMinimumArcAngleToDraw()) { arcList.add(new Arc2D.Double(arcX, arcY + depth, Point2D p1 = arc.getStartPoint(); xs = new int[] {(int) arc.getCenterX(), (int) arc.getCenterX(), (int) p1.getX(), (int) p1.getX()}; ys = new int[] {(int) arc.getCenterY(), (int) arc.getCenterY() - depth, (int) p1.getY() - depth, (int) p1.getY()}; continue; upperArc = new Arc2D.Double(arcX, arcY, pieArea.getWidth(), pieArea.getHeight() - depth, arc.getAngleStart(), arc.getAngleExtent(), Arc2D.PIE);
Arc2D arc = new Arc2D.Double(f, this.angle, 0.0, Arc2D.OPEN); Point2D pt = arc.getStartPoint(); FontMetrics fm = g2.getFontMetrics(this.font); double value = plot.getValue(this.datasetIndex); String valueStr = this.formatter.format(value); double minW = tb.getWidth(); double minH = tb.getHeight(); s = this.formatter.format(this.maxTemplateValue); tb = TextUtils.getTextBounds(s, g2, fm); maxW = Math.max(tb.getWidth(), minW); maxH = Math.max(tb.getHeight(), minH); pt.getX(), pt.getY(), this.frameAnchor); g2.setPaint(this.backgroundPaint); g2.fill(fb); g2.setPaint(this.paint); g2.setFont(this.font); TextUtils.drawAlignedString(valueStr, g2, (float) pt2.getX(), (float) pt2.getY(), this.textAnchor); g2.setClip(savedClip);
Graphics2D g2 = (Graphics2D) g.create(); g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); Shape outer = new Rectangle2D.Double(0, 0, sz, sz); Shape sector = new Arc2D.Double(-sz, -sz, sz * 3, sz * 3, 90 - degree, degree, Arc2D.PIE); g2.setPaint(new Color(0x505050)); g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.7f)); g2.fill(background); g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER));
Arc2D.Double arc = new Arc2D.Double(); arc.setArcByCenter(x, y, jumpRadius, 0, 360, Arc2D.OPEN); arc.setArcByCenter(x, y, jumpRadius, 0, 360, Arc2D.OPEN); arc.setArcByCenter(x, y, size * 1.8, 0, 360, Arc2D.OPEN); arc.setArcByCenter(x, y, size * 1.6, 0, 360, Arc2D.OPEN); arc.setArcByCenter(x, y, size * 1.4, 0, 360, Arc2D.OPEN); arc.setArcByCenter(x, y, size * 1.2, 0, 360, Arc2D.OPEN); arc.setArcByCenter(x, y, size * 1.6, 0, 360, Arc2D.OPEN); arc.setArcByCenter(x, y, size * 1.3, 0, 360, Arc2D.OPEN); arc.setArcByCenter(x, y, size * 1.3, 0, 360, Arc2D.OPEN); arc.setArcByCenter(x, y, size * 1.3, 0, 360, Arc2D.OPEN); arc.setArcByCenter(x, y, size * 1.8, 0, 360, Arc2D.OPEN); arc.setArcByCenter(x, y, size * 1.6, 0, 360, Arc2D.OPEN); arc.setArcByCenter(x, y, size * 1.4, 0, 360, Arc2D.OPEN); arc.setArcByCenter(x, y, size * 1.2, 0, 360, Arc2D.OPEN);
PiePlotState state) { Composite originalComposite = g2.getComposite(); g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1.0f)); * ((runningTotal - v / 2.0) * 360) / totalValue); Arc2D arc = new Arc2D.Double(labelsArea, getStartAngle(), mid - getStartAngle(), Arc2D.OPEN); int x = (int) arc.getEndPoint().getX(); int y = (int) arc.getEndPoint().getY(); continue; g2.setFont(this.labelFont); FontMetrics fm = g2.getFontMetrics(); Rectangle2D bounds = TextUtils.getTextBounds(label, g2, fm); bounds); Shape bg = ShapeUtils.createTranslatedShape(out, x - bounds.getCenterX(), y - bounds.getCenterY()); if (this.labelShadowPaint != null && this.shadowGenerator == null) {
final java.awt.geom.Arc2D OUTER_ARC = new java.awt.geom.Arc2D.Double(java.awt.geom.Arc2D.PIE); OUTER_ARC.setFrame(bImage.getMinX() + FREE_AREA_OUTER_RADIUS, bImage.getMinY() + FREE_AREA_OUTER_RADIUS, 2 * OUTER_RADIUS, 2 * OUTER_RADIUS); OUTER_ARC.setAngleStart(ANGLE_START); OUTER_ARC.setAngleExtent(ANGLE_EXTEND); final java.awt.geom.Area SECTION = new java.awt.geom.Area(OUTER_ARC); G2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); break; case WEST: G2.translate(CENTER.getX() / 2.2, 0); break; case NORTH: G2.translate(0, CENTER.getY() / 2.2); break;
public void paintBorder( Component c, Graphics g, int x, int y, int width, int height ) { Graphics2D g2 = (Graphics2D)g.create(); g2.setRenderingHint( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON ); int r = DEF_DIAMETER; g2.translate( x, y ); g2.setColor( _color ); g2.fillRect( r/2, 0, width - r - 1, _insets.top ); g2.fillRect( 0, r/2, _insets.left, height - r - 1 ); g2.fillRect( r/2 , height - _insets.bottom - 1, width - r - 1, _insets.bottom ); g2.fillRect( width - _insets.right - 1, r/2, _insets.right, height - r - 1 ); RoundRectangle2D round = new RoundRectangle2D.Float( 0, 0, width - 1, height - 1, r, r ); Container parent = c.getParent(); if( parent != null ) { g2.setColor( parent.getBackground() ); Area corner = new Area( new Rectangle2D.Float( 0, 0, width, height ) ); corner.subtract( new Area( round ) ); g2.fill( corner ); } BasicStroke stroke = new BasicStroke( 1.0f ); g2.setStroke( stroke ); g2.setColor( _color ); g2.draw( new Arc2D.Double( 0, 0, r, r, 90, 90, Arc2D.OPEN ) ); g2.draw( new Arc2D.Double( width - r - 2, 0, r, r, 90, -90, Arc2D.OPEN ) ); g2.draw( new Arc2D.Double( width - r - 2, height - r - 2, r, r, 0, -90, Arc2D.OPEN ) ); g2.draw( new Arc2D.Double( 0, height - r - 2, r, r, 180, 90, Arc2D.OPEN ) ); g2.dispose(); }
Graphics2D g2 = (Graphics2D) g.create(); g2.setComposite(AlphaComposite.getInstance(AlphaComposite.CLEAR)); g.setColor(tracker.getBackground()); g2.fillRect(0, 0, barRectWidth, barRectHeight); g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY); g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); double sz = Math.max(barRectWidth, barRectHeight) - 2; Shape outer = new Ellipse2D.Double(1, 1, sz, sz); Shape sector = new Arc2D.Double(-sz, -sz, sz * 3, sz * 3, 90 - degree, degree, Arc2D.PIE);
Graphics2D g2 = (Graphics2D) g.create(); g2.setComposite(AlphaComposite.getInstance(descriptor.getBackgroundColor().getAlpha() == 0 ? AlphaComposite.CLEAR : AlphaComposite.SRC)); if (this.tracker.isShowCase()) { if (descriptor.getBackgroundColor().getAlpha() < 10) { g2.setColor(AppThemeColor.ADR_TEXT_ARE_BG); g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC)); } else { g2.setColor(descriptor.getBackgroundColor()); degree = 360 * (1f - tracker.getPercentComplete()); Shape outer = new Rectangle2D.Double(0, 0, sz, sz); Shape sector = new Arc2D.Double(-sz, -sz, sz * 3, sz * 3, 90 - degree, degree, Arc2D.PIE);
public static Shape getDonutSliceShape( Rectangle2D pieBounds, double thickness, double start, double extent) { thickness = thickness / 2; GeneralPath generalPath = new GeneralPath(); GeneralPath dummy = new GeneralPath(); // used to find arc endpoints double x = pieBounds.getX(); double y = pieBounds.getY(); double width = pieBounds.getWidth(); double height = pieBounds.getHeight(); Shape outer = new Arc2D.Double(x, y, width, height, start, extent, Arc2D.OPEN); double wt = width * thickness; double ht = height * thickness; Shape inner = new Arc2D.Double( x + wt, y + ht, width - 2 * wt, height - 2 * ht, start + extent, -extent, Arc2D.OPEN); generalPath.append(outer, false); dummy.append( new Arc2D.Double( x + wt, y + ht, width - 2 * wt, height - 2 * ht, start, extent, Arc2D.OPEN), false); Point2D point = dummy.getCurrentPoint(); if (point != null) { generalPath.lineTo(point.getX(), point.getY()); } generalPath.append(inner, false); dummy.append(new Arc2D.Double(x, y, width, height, start + extent, -extent, Arc2D.OPEN), false); point = dummy.getCurrentPoint(); generalPath.lineTo(point.getX(), point.getY()); return generalPath; }
@Override public BufferedImage getBackground(int width, int height) { BufferedImage result = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D graphics = result.createGraphics(); BasicStroke bs = new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 2.0f, new float[] { 2.0f, 2.0f }, 0.0f); graphics.setStroke(bs); AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.75f); graphics.setComposite(ac); graphics.translate(width * -1.0, 0.0); double delta = 5.0; double xt; for (xt = 0.0; xt < (2.0 * width); xt += delta) { Arc2D arc = new Arc2D.Double(0, 0, width, height, 0.0, 360.0, Arc2D.OPEN); graphics.draw(arc); graphics.translate(delta, 0.0); } graphics.dispose(); return result; } }
Rectangle2D view) { g2.setPaint(Color.BLUE); g2.setStroke(new BasicStroke(1.0f)); Rectangle2D lengthRect = DialPlot.rectangleByRadius(frame, this.radius, this.radius); double angle = scale.valueToAngle(value); Arc2D arc1 = new Arc2D.Double(lengthRect, angle, 0, Arc2D.OPEN); Point2D pt1 = arc1.getEndPoint(); Arc2D arc2 = new Arc2D.Double(widthRect, angle - 90.0, 180.0, Arc2D.OPEN); Point2D pt2 = arc2.getStartPoint(); Point2D pt3 = arc2.getEndPoint(); Arc2D arc3 = new Arc2D.Double(widthRect, angle - 180.0, 0.0, Arc2D.OPEN); Point2D pt4 = arc3.getStartPoint(); g2.setPaint(this.outlinePaint); Line2D line = new Line2D.Double(frame.getCenterX(), frame.getCenterY(), pt1.getX(), pt1.getY()); g2.draw(line);
G2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); final java.awt.geom.Arc2D BACK = new java.awt.geom.Arc2D.Double(java.awt.geom.Arc2D.PIE); BACK.setFrame(IMAGE_WIDTH * 0.1074766355, IMAGE_HEIGHT * 0.1074766355, IMAGE_WIDTH * 0.785046729, IMAGE_HEIGHT * 0.785046729); BACK.setAngleStart(START_ANGLE + 2); BACK.setAngleExtent(ANGLE_EXTEND - 5); LED_TRACK_FRAME.subtract(new java.awt.geom.Area(BACK_SUB)); final java.awt.geom.Arc2D FRONT = new java.awt.geom.Arc2D.Double(java.awt.geom.Arc2D.PIE); FRONT.setFrame(IMAGE_WIDTH * 0.1121495327, IMAGE_HEIGHT * 0.1121495327, IMAGE_WIDTH * 0.7803738318, IMAGE_HEIGHT * 0.7803738318); FRONT.setAngleStart(START_ANGLE); LED_TRACK_MAIN.subtract(new java.awt.geom.Area(FRONT_SUB)); final Point2D LED_TRACK_MAIN_START = new Point2D.Double(0, LED_TRACK_MAIN.getBounds2D().getMinY()); final Point2D LED_TRACK_MAIN_STOP = new Point2D.Double(0, LED_TRACK_MAIN.getBounds2D().getMaxY()); final float[] LED_TRACK_MAIN_FRACTIONS = { final Rectangle2D LED = new Rectangle2D.Double(WIDTH * 0.1168224299, WIDTH * 0.4859813084, WIDTH * 0.06074766355140187, WIDTH * 0.023364486); final Point2D LED_CENTER = new Point2D.Double(LED.getCenterX(), LED.getCenterY()); G2.rotate(Math.toRadians(angle + BARGRAPH_OFFSET), CENTER.getX(), CENTER.getY()); G2.fill(LED); G2.setTransform(OLD_TRANSFORM);
for (BufferedImage icon : icons) graphics.setStroke(new BasicStroke(2)); graphics.setColor(COLOR_ICON_BACKGROUND); graphics.fillOval( point.getX() - totalWidth / 2 + currentPosX - bgPadding, point.getY() - icon.getHeight() / 2 - OVERLAY_ICON_DISTANCE - bgPadding, graphics.setColor(COLOR_ICON_BORDER_FILL); Arc2D.Double arc = new Arc2D.Double( point.getX() - totalWidth / 2 + currentPosX - bgPadding, point.getY() - icon.getHeight() / 2 - OVERLAY_ICON_DISTANCE - bgPadding,
/** * Draws an arc. * * @param g2 the graphics device. * @param area the plot area. * @param minValue the minimum value. * @param maxValue the maximum value. * @param paint the paint. * @param stroke the stroke. */ protected void drawArc(Graphics2D g2, Rectangle2D area, double minValue, double maxValue, Paint paint, Stroke stroke) { double startAngle = valueToAngle(maxValue); double endAngle = valueToAngle(minValue); double extent = endAngle - startAngle; double x = area.getX(); double y = area.getY(); double w = area.getWidth(); double h = area.getHeight(); g2.setPaint(paint); g2.setStroke(stroke); if (paint != null && stroke != null) { Arc2D.Double arc = new Arc2D.Double(x, y, w, h, startAngle, extent, Arc2D.OPEN); g2.setPaint(paint); g2.setStroke(stroke); g2.draw(arc); } }
g2.setPaint(paint); int end_curve_ex = ex + ew / 2; Arc2D arc = new Arc2D.Double(ex, ey, ew, eh, 180, 90, Arc2D.OPEN); ey = y2 - (offset_eh + scan_eh) * y2 / scan_height; bot_ey = y2 - offset_eh * y2 / scan_height; Arc2D arc2 = new Arc2D.Double(ex, ey, ew, eh, 270, 90, Arc2D.OPEN); int end_mid_ex = x2 / 2 + middle_ew * x2 / (scan_width * 2); Arc2D arc3 = new Arc2D.Double(mid_ex, mid_ey, middle_ew * x2 / scan_width, middle_eh * y2 / scan_height, 180, -180, Arc2D.OPEN); curve.lineTo(0, 0); g2.setClip(curve); if (artToUse != null) { artToUse = artImage.getSubimage(0, 0, srcW, srcH); g2.drawImage(artToUse, 0, 0, x2, y2, null); g2.setClip(null); g2.setStroke(new BasicStroke(3)); g2.draw(arc); g2.draw(new Rectangle(end_curve_ex, bot_ey, mid_ex - end_curve_ex, 0));
point1 = new Point2D.Double(radius * Math.cos(toRadians(theta1)) + center.getX(), center.getY() - radius * Math.sin(toRadians(theta1))); point2 = new Point2D.Double(radius * Math.cos(toRadians(theta2)) + center.getX(), center.getY() - radius * Math.sin(toRadians(theta2))); g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g.setStroke(new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL)); Arc2D.Double centerPoint = new Arc2D.Double(center.getX() - 2, center.getY() - 2, 4, 4, 0, 360, Arc2D.OPEN); Arc2D.Double point11 = new Arc2D.Double(point1.getX() - 2, point1.getY() - 2, 4, 4, 0, 360, Arc2D.OPEN); Arc2D.Double point22 = new Arc2D.Double(point2.getX() - 2, point2.getY() - 2, 4, 4, 0, 360, Arc2D.OPEN); g.setColor(Color.BLACK); g.draw(centerPoint); g.draw(point11); g.draw(point22); g.setColor(Color.BLUE); g.draw(new Arc2D.Double(center.getX() - radius, center.getY() - radius, 2 * radius, 2 * radius, theta1, theta * direction, Arc2D.OPEN));
float dx1, dy1, ang1, dx2, dy2, ang2, ang3; Graphics2D g = (Graphics2D) g2; AffineTransform oldt = g.getTransform(); g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g.setStroke(new BasicStroke(2.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL)); g.translate((this.getWidth() - width) / 2, g.setColor(Color.BLACK); g.draw(shape); g.setColor(Color.RED); g.draw(new Arc2D.Double(x1 - r, y1 - r, 2 * r, 2 * r, 0, ang1, Arc2D.OPEN)); g.setColor(Color.GREEN); g.draw(new Arc2D.Double(x2 - r, y2 - r, 2 * r, 2 * r, (180 - ang2), ang2, Arc2D.OPEN)); g.setColor(Color.RED); g.draw(new Arc2D.Double(x3 - r, y3 - r, 2 * r, 2 * r, -180 + a, ang3, Arc2D.OPEN)); g.setTransform(oldt);