Java 类java.awt.Polygon 实例源码

项目:incubator-netbeans    文件:NimbusEditorTabCellRenderer.java   
public Polygon getInteriorPolygon(Component c) {
    NimbusEditorTabCellRenderer ren = (NimbusEditorTabCellRenderer) c;

    Insets ins = getBorderInsets(c);
    Polygon p = new Polygon();
    int x = ren.isLeftmost() ? 3 : 0;
    int y = 0;

    int width = ren.isLeftmost() ? c.getWidth() - 3 : c.getWidth();
    int height = c.getHeight() - 4;

    //Modified to return rectangle
    p.addPoint(x, y);
    p.addPoint(x + width, y);
    p.addPoint(x + width, y + height);
    p.addPoint(x, y + height);
    return p;
}
项目:jdk8u-jdk    文件:UnmanagedDrawImagePerformance.java   
private static long test(Image bi, Image vi, AffineTransform atfm) {
    final Polygon p = new Polygon();
    p.addPoint(0, 0);
    p.addPoint(SIZE, 0);
    p.addPoint(0, SIZE);
    p.addPoint(SIZE, SIZE);
    p.addPoint(0, 0);
    Graphics2D g2d = (Graphics2D) vi.getGraphics();
    g2d.clip(p);
    g2d.transform(atfm);
    g2d.setComposite(AlphaComposite.SrcOver);
    final long start = System.nanoTime();
    g2d.drawImage(bi, 0, 0, null);
    final long time = System.nanoTime() - start;
    g2d.dispose();
    return time;
}
项目:incubator-netbeans    文件:NimbusEditorTabCellRenderer.java   
public Polygon getInteriorPolygon(Component c) {
    NimbusEditorTabCellRenderer ren = (NimbusEditorTabCellRenderer) c;

    Insets ins = getBorderInsets(c);
    Polygon p = new Polygon();
    int x = 0;
    int y = 0;

    int width = c.getWidth() + 10;
    int height = c.getHeight() - 4;

    //Modified to return rectangle
    p.addPoint(x, y);
    p.addPoint(x + width, y);
    p.addPoint(x + width, y + height);
    p.addPoint(x, y + height);
    return p;
}
项目:brModelo    文件:LivreBase.java   
public Shape getRegiaoComentario() {
    if (Regiao == null) {

        GeneralPath pa = new GeneralPath();
        pa.setWindingRule(GeneralPath.WIND_NON_ZERO);

        Rectangle rec = getBounds();
        int tam = Math.min(rec.width / 6, rec.height / 6);
        int curv = tam / 4;
        int lw = rec.x + rec.width;
        int[] px = new int[]{rec.x, lw - tam, lw, lw, rec.x};
        int[] py = new int[]{rec.y, rec.y, rec.y + tam, rec.y + rec.height, rec.y + rec.height};
        Polygon po = new Polygon(px, py, 5);
        pa.append(po, true);
        pa.moveTo(lw - tam, rec.y);
        pa.curveTo(lw - tam, rec.y, lw - tam + curv, rec.y + curv, lw - tam, rec.y + tam - (1));
        pa.moveTo(lw - tam, rec.y + tam - (1));
        pa.lineTo(lw, rec.y + tam);
        pa.closePath();
        Regiao = pa;
    }
    return Regiao;
}
项目:jmt    文件:PainterConvex2D.java   
/**
 * Draw a semi-trasparet area
 * @param g The graphic object
 * @param dragPoint The first point
 * @param beginPoint The second point
 * @param c The color of the area
 */
public void drawDragArea(Graphics2D g, Point dragPoint, Point beginPoint, Color c) {
    g.setColor(c);

    Polygon poly = new Polygon();

    poly.addPoint((int) beginPoint.getX(), (int) beginPoint.getY());
    poly.addPoint((int) beginPoint.getX(), (int) dragPoint.getY());
    poly.addPoint((int) dragPoint.getX(), (int) dragPoint.getY());
    poly.addPoint((int) dragPoint.getX(), (int) beginPoint.getY());

    //Set the widths of the shape's outline
    Stroke oldStro = g.getStroke();
    Stroke stroke = new BasicStroke(2.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND);
    g.setStroke(stroke);
    g.drawPolygon(poly);
    g.setStroke(oldStro);

    //Set the trasparency of the iside of the rectangle
    Composite oldComp = g.getComposite();
    Composite alphaComp = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.4f);
    g.setComposite(alphaComp);
    g.fillPolygon(poly);
    g.setComposite(oldComp);

}
项目:Tarski    文件:mxRhombusShape.java   
/**
 * 
 */
public Shape createShape(mxGraphics2DCanvas canvas, mxCellState state) {
  Rectangle temp = state.getRectangle();
  int x = temp.x;
  int y = temp.y;
  int w = temp.width;
  int h = temp.height;
  int halfWidth = w / 2;
  int halfHeight = h / 2;

  Polygon rhombus = new Polygon();
  rhombus.addPoint(x + halfWidth, y);
  rhombus.addPoint(x + w, y + halfHeight);
  rhombus.addPoint(x + halfWidth, y + h);
  rhombus.addPoint(x, y + halfHeight);

  return rhombus;
}
项目:openjdk-jdk10    文件:UnmanagedDrawImagePerformance.java   
private static long test(Image bi, Image vi, AffineTransform atfm) {
    final Polygon p = new Polygon();
    p.addPoint(0, 0);
    p.addPoint(SIZE, 0);
    p.addPoint(0, SIZE);
    p.addPoint(SIZE, SIZE);
    p.addPoint(0, 0);
    Graphics2D g2d = (Graphics2D) vi.getGraphics();
    g2d.clip(p);
    g2d.transform(atfm);
    g2d.setComposite(AlphaComposite.SrcOver);
    final long start = System.nanoTime();
    g2d.drawImage(bi, 0, 0, null);
    final long time = System.nanoTime() - start;
    g2d.dispose();
    return time;
}
项目:Pixie    文件:ResizeTest.java   
/**
 * Test of resizedToOriginal for polygon method, of class Resize.
 *
 * No further tests are done because the resize of the polygon points is
 * done based on resizedToOriginal for values methods.
 */
@Test
public void testResizedToOriginal_Polygon_01() {
    final String testDescription = "----------resizedToOriginalPolygon_01----------\n"
            + " Summary: Test of resizedToOriginal(Polygon) method, of class Resize\n"
            + " Description: Check there is no exception when processing null input. Input value null, the resize is set to (1.0, 1.0).\n"
            + " Pre-conditions: none\n"
            + " Conditions: none\n"
            + " Expected result: It shall output null; no errors or exceptions shall occur.\n";
    System.out.println(testDescription);

    Polygon polyResized = null;
    Resize instance = new Resize(1.0, 1.0);
    Polygon expResult = null;
    Polygon result = instance.resizedToOriginal(polyResized);
    assertEquals(expResult, result);
}
项目:geomapapp    文件:UnknownDataSet.java   
public void mousePressed(MouseEvent e) {

    if (station){
        //This will detect if the mouse clicks on a datapoint 
        //and will set the selectedRow value.  Used for dragging.
        selectedRow = -1;
        selectPoint(e);
    }       

    if (e.isControlDown()) return;
    if (e.isConsumed()||!map.isSelectable()) return;

    if (db.panTB.isSelected()) return;
    if (e.isShiftDown()) {
        p1=e.getPoint();
        p2=new Point(p1.x+1,p1.y+1);
        drawSelectionBox();
    }
    else {
        poly = new Polygon();
        poly.addPoint(e.getPoint().x, e.getPoint().y);
    }
}
项目:TrabalhoFinalEDA2    文件:mxRhombusShape.java   
/**
 * 
 */
public Shape createShape(mxGraphics2DCanvas canvas, mxCellState state)
{
    Rectangle temp = state.getRectangle();
    int x = temp.x;
    int y = temp.y;
    int w = temp.width;
    int h = temp.height;
    int halfWidth = w / 2;
    int halfHeight = h / 2;

    Polygon rhombus = new Polygon();
    rhombus.addPoint(x + halfWidth, y);
    rhombus.addPoint(x + w, y + halfHeight);
    rhombus.addPoint(x + halfWidth, y + h);
    rhombus.addPoint(x, y + halfHeight);

    return rhombus;
}
项目:myfaces-trinidad    文件:MapArea.java   
/**
 * Creates a polygon MapArea
 */
public MapArea(Polygon polygon)
{
  int[] coords = null;

  if ((polygon != null) && (polygon.npoints != 0))
  {
    coords = new int[polygon.npoints * 2];
    for (int i = 0; i < polygon.npoints; i++)
    {
      coords[i*2] = polygon.xpoints[i];
      coords[i*2+1] = polygon.ypoints[i];
    }
  }

  _init(POLYGON_SHAPE, coords);
}
项目:gemini.blueprint    文件:ServiceListenerSyntheticEvents.java   
private void registerMultipleServices() {
    area = new Area();
    rectangle = new Rectangle();
    polygon = new Polygon();

    Dictionary polygonProp = new Properties();
    polygonProp.put(Constants.SERVICE_RANKING, new Integer(1));
    // first register polygon
    polygonReg = bundleContext.registerService(Shape.class.getName(), polygon, polygonProp);

    // then rectangle
    Dictionary rectangleProp = new Properties();
    rectangleProp.put(Constants.SERVICE_RANKING, new Integer(10));
    rectangleReg = bundleContext.registerService(Shape.class.getName(), rectangle, rectangleProp);

    // then area
    Dictionary areaProp = new Properties();
    areaProp.put(Constants.SERVICE_RANKING, new Integer(100));
    areaReg = bundleContext.registerService(Shape.class.getName(), area, areaProp);

}
项目:gemini.blueprint    文件:OsgiServiceProxyEqualityTest.java   
public void testMultipleInterceptorEquality() throws Exception {
    target = new Polygon();

    Advice interceptorA1 = createInterceptorWOServiceRequired();

    Advice interceptorA2 = new LocalBundleContextAdvice(bundleContext);
    Advice interceptorA3 = new ServiceTCCLInterceptor(null);

    Advice interceptorB1 = createInterceptorWOServiceRequired();
    Advice interceptorB2 = new LocalBundleContextAdvice(bundleContext);
    Advice interceptorB3 = new ServiceTCCLInterceptor(null);

    Object proxyA = createProxy(target, Shape.class, new Advice[] { interceptorA1, interceptorA2, interceptorA3 });
    Object proxyB = createProxy(target, Shape.class, new Advice[] { interceptorB1, interceptorB2, interceptorB3 });

    assertFalse(proxyA == proxyB);
    assertEquals(interceptorA1, interceptorB1);
    assertEquals(interceptorA2, interceptorB2);
    assertEquals(interceptorA3, interceptorB3);

    assertEquals(proxyA, proxyB);
}
项目:Tarski    文件:mxMarkerRegistry.java   
public mxPoint paintMarker(mxGraphics2DCanvas canvas, mxCellState state, String type,
    mxPoint pe, double nx, double ny, double size, boolean source) {
  Polygon poly = new Polygon();
  poly.addPoint((int) Math.round(pe.getX()), (int) Math.round(pe.getY()));
  poly.addPoint((int) Math.round(pe.getX() - nx - ny / 2),
      (int) Math.round(pe.getY() - ny + nx / 2));

  if (type.equals(mxConstants.ARROW_CLASSIC)) {
    poly.addPoint((int) Math.round(pe.getX() - nx * 3 / 4),
        (int) Math.round(pe.getY() - ny * 3 / 4));
  }

  poly.addPoint((int) Math.round(pe.getX() + ny / 2 - nx),
      (int) Math.round(pe.getY() - ny - nx / 2));

  if (mxUtils.isTrue(state.getStyle(), (source) ? "startFill" : "endFill", true)) {
    canvas.fillShape(poly);
  }

  canvas.getGraphics().draw(poly);

  return new mxPoint(-nx, -ny);
}
项目:L2jBrasil    文件:L2Territory.java   
public L2Territory(/*String string*/)
    {
        poly = new Polygon();
        _points = new Point[0];
//      _terr = string;
        _xMin = 999999;
        _xMax = -999999;
        _yMin = 999999;
        _yMax = -999999;
        _zMin = 999999;
        _zMax = -999999;
        _procMax = 0;
    }
项目:incubator-netbeans    文件:DefaultTabbedContainerUI.java   
public Polygon getExactTabIndication(int idx) {
    Polygon result = tabDisplayer.getUI().getExactTabIndication(idx);
    scratchPoint.setLocation(0,0);
    Point p = SwingUtilities.convertPoint(tabDisplayer, scratchPoint, container);
    result.translate (-p.x, -p.y);
    return appendContentBoundsTo(result);
}
项目:incubator-netbeans    文件:DefaultTabbedContainerUI.java   
public Polygon getInsertTabIndication(int idx) {
    Polygon result = tabDisplayer.getUI().getInsertTabIndication(idx);
    scratchPoint.setLocation(0,0);
    Point p = SwingUtilities.convertPoint(tabDisplayer, scratchPoint, container);
    result.translate (-p.x, -p.y);
    return appendContentBoundsTo(result);
}
项目:incubator-netbeans    文件:NimbusEditorTabCellRenderer.java   
public void paintInterior(Graphics g, Component c) {
    NimbusEditorTabCellRenderer ren = (NimbusEditorTabCellRenderer) c;
    Polygon p = getInteriorPolygon(c);

    Rectangle bounds = p.getBounds();
    int yDiff = getHeightDifference(ren);
    paintTabBackground(g, 0, c, bounds.x, bounds.y + yDiff, 
            bounds.width, bounds.height - yDiff);

    if (!supportsCloseButton((JComponent)c)) {
        return;
    }

    paintCloseButton( g, (JComponent)c );
}
项目:incubator-netbeans    文件:NimbusEditorTabCellRenderer.java   
public void paintInterior(Graphics g, Component c) {
    NimbusEditorTabCellRenderer ren = (NimbusEditorTabCellRenderer) c;
    Polygon p = getInteriorPolygon(c);
    Rectangle bounds = p.getBounds();
    int yDiff = getHeightDifference(ren);
    paintTabBackground(g, 0, c, bounds.x, bounds.y + yDiff, 
            bounds.width, bounds.height - yDiff);
}
项目:incubator-netbeans    文件:AbstractViewTabDisplayerUI.java   
@Override
    public Polygon getExactTabIndication(int index) {
        // TBD - the same code is copied in ScrollableTabsUI, should be shared
        // if will not differ
//        GeneralPath indication = new GeneralPath();
        JComponent control = getDisplayer();
        int height = control.getHeight();

        TabLayoutModel tlm = getLayoutModel();

        int tabXStart = tlm.getX(index);

        int tabXEnd = tabXStart + tlm.getW(index);

        int[] xpoints = new int[4];
        int[] ypoints = new int[4];
        xpoints[0] = tabXStart;
        ypoints[0] = 0;
        xpoints[1] = tabXEnd;
        ypoints[1] = 0;
        xpoints[2] = tabXEnd;
        ypoints[2] = height - 1;
        xpoints[3] = tabXStart;
        ypoints[3] = height - 1;

        return new EqualPolygon(xpoints, ypoints);
    }
项目:incubator-netbeans    文件:AbstractViewTabDisplayerUI.java   
@Override
public Polygon getInsertTabIndication(int index) {
    EqualPolygon indication = new EqualPolygon();
    JComponent control = getDisplayer();
    int height = control.getHeight();
    int width = control.getWidth();
    TabLayoutModel tlm = getLayoutModel();

    int tabXStart;
    int tabXEnd;
    if (index == 0) {
        tabXStart = 0;
        tabXEnd = tlm.getW(0) / 2;
    } else if (index >= getDataModel().size()) {
        tabXStart = tlm.getX(index - 1) + tlm.getW(index - 1) / 2;
        tabXEnd = tabXStart + tlm.getW(index - 1);
        if (tabXEnd > width) {
            tabXEnd = width;
        }
    } else {
        tabXStart = tlm.getX(index - 1) + tlm.getW(index - 1) / 2;
        tabXEnd = tlm.getX(index) + tlm.getW(index) / 2;
    }

    indication.moveTo(tabXStart, 0);
    indication.lineTo(tabXEnd, 0);
    indication.lineTo(tabXEnd, height - 1);
    indication.lineTo(tabXStart, height - 1);
    return indication;
}
项目:jdk8u-jdk    文件:BasicIconFactory.java   
public void paintIcon(Component c, Graphics g, int x, int y) {
    Polygon p = new Polygon();
    p.addPoint(x, y);
    p.addPoint(x+getIconWidth(), y+getIconHeight()/2);
    p.addPoint(x, y+getIconHeight());
    g.fillPolygon(p);

}
项目:rapidminer    文件:PlotterAdapter.java   
@Override
public Shape createShape(double x, double y) {
    int[] xPoints = new int[] { (int) Math.ceil(x - POINTSIZE / 2.0d), (int) Math.ceil(x),
            (int) Math.ceil(x + POINTSIZE / 2.0d) };
    int[] yPoints = new int[] { (int) Math.ceil(y + POINTSIZE / 2.0d), (int) Math.ceil(y - POINTSIZE / 2.0d),
            (int) Math.ceil(y + POINTSIZE / 2.0d) };
    return new Polygon(xPoints, yPoints, xPoints.length);
}
项目:rapidminer    文件:PlotterAdapter.java   
@Override
public Shape createShape(double x, double y) {
    int[] xPoints = new int[] { (int) Math.ceil(x - POINTSIZE / 2.0d), (int) Math.ceil(x),
            (int) Math.ceil(x + POINTSIZE / 2.0d) };
    int[] yPoints = new int[] { (int) Math.ceil(y - POINTSIZE / 2.0d), (int) Math.ceil(y + POINTSIZE / 2.0d),
            (int) Math.ceil(y - POINTSIZE / 2.0d) };
    return new Polygon(xPoints, yPoints, xPoints.length);
}
项目:jdk8u-jdk    文件:CSSBorder.java   
public void paint(Polygon shape, Graphics g, Color color, int side) {
    Rectangle r = shape.getBounds();
    int length = Math.max(r.height / 3, 1);
    int[] lengthPattern = { length, length };
    Color[] colorPattern = { color, null };
    paintStrokes(r, g, View.Y_AXIS, lengthPattern, colorPattern);
}
项目:rapidminer    文件:TabbedPaneUI.java   
private static void paintSelectedRight(Graphics g, int x, int y, int w, int h) {
    g.setColor(RapidLookTools.getColors().getTabbedPaneColors()[2]);
    g.drawLine(x, y + 1, x + w - 11, y + 1);

    g.setColor(RapidLookTools.getColors().getTabbedPaneColors()[3]);
    g.drawLine(x, y, x + w - 15, y);

    ColorUIResource c1 = RapidLookTools.getColors().getTabbedPaneColors()[4];
    g.setColor(c1);

    g.drawLine(w + x - 10, y + 1, w + x - 10, y + 2);
    g.drawLine(w + x - 9, y + 2, w + x - 9, y + 2);
    g.drawLine(w + x - 8, y + 2, w + x - 8, y + 3);
    g.drawLine(w + x - 7, y + 3, w + x - 7, y + 4);
    g.drawLine(w + x - 6, y + 4, w + x - 6, y + 5);

    g.setColor(RapidLookTools.getColors().getTabbedPaneColors()[5]);

    g.drawLine(x, y + 2, x + w - 11, y + 2);
    g.drawLine(x, y + 3, x + w - 9, y + 3);
    g.drawLine(x, y + 4, x + w - 8, y + 4);
    g.drawLine(x, y + 5, x + w - 7, y + 5);

    Graphics2D g2 = (Graphics2D) g;
    g2.setPaint(new GradientPaint(1, y + 6, RapidLookTools.getColors().getTabbedPaneColors()[6], 1, y + h,
            RapidLookTools.getColors().getTabbedPaneColors()[7]));

    int[] xArr = new int[] { x + 4, w + x - 5, w + x - 5, x + 4 };
    int[] yArr = new int[] { y + 6, y + 6, y + h, y + h };
    Polygon p1 = new Polygon(xArr, yArr, 4);

    g2.fillPolygon(p1);

    g.setColor(c1);
    g.drawLine(w + x - 5, y + 6, x + w - 5, y + h - 1);

    g.setColor(RapidLookTools.getColors().getTabbedPaneColors()[1]);
    g.drawLine(x + w - 14, y, x + w - 12, y);
    g.drawLine(w + x - 6, y + 6, x + w - 6, y + 6);
}
项目:Mujeed-Arabic-Prolog    文件:PPTTabbedPaneUI.java   
protected void paintTabBackground(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected)
{
    Polygon shape = new Polygon();

    shape.addPoint(x - (h / 4), y + h);
    shape.addPoint(x + (h / 4), y);
    shape.addPoint(x + w - (h / 4), y);

    if (isSelected || (tabIndex == (rects.length - 1)))
    {
        if (isSelected)
        {
            g.setColor(selectedColor);
        }
        else
        {
            g.setColor(unselectedColor);
        }
        shape.addPoint(x + w + (h / 4), y + h);
    }
    else
    {
        g.setColor(unselectedColor);
        shape.addPoint(x + w, y + (h / 2));
        shape.addPoint(x + w - (h / 4), y + h);
    }

    g.fillPolygon(shape);
}
项目:OpenJSharp    文件:CSSBorder.java   
public void paint(Polygon shape, Graphics g, Color color, int side) {
    Rectangle r = shape.getBounds();
    int length = Math.max(r.height / 2, 1);
    int[] lengthPattern = { length, length };
    Color[] colorPattern =
                     ((side + 1) % 4 < 2) == (type == Value.GROOVE) ?
        new Color[] { getShadowColor(color), getLightColor(color) } :
        new Color[] { getLightColor(color), getShadowColor(color) };
    paintStrokes(r, g, View.Y_AXIS, lengthPattern, colorPattern);
}
项目:rapidminer    文件:SeriesFormat.java   
public static Shape createTurnedTriangular() {
    double s = SHAPE_SIZE;
    int s_2 = (int) Math.round(s / 2.0);
    int[] xPoints = new int[] { -s_2, 0, s_2 };
    int[] yPoints = new int[] { -s_2, s_2, -s_2 };
    return new Polygon(xPoints, yPoints, xPoints.length);
}
项目:jmt    文件:PerformanceIndices2DGraph.java   
public void mouseMoved(MouseEvent ev) {
    ArrayList<DPoint>[] util;
    util = data.getResults().getUtilization();

    for (int j = 0; j < data.getStationNames().length; j++) {
        DPoint test = this.adjustMousePoint(ev.getX(), ev.getY());
        if (stationLabels[j] != null && stationLabels[j].contains(test)) {
            setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
            return;
        }
        int i;
        for (i = 0; i < util[j].size(); i = i + 2) {
            if (!showStation[j])
                continue;
            DPoint pointA = plane.getTruePoint(util[j].get(i));
            DPoint pointB = plane.getTruePoint(util[j].get(i + 1));

            Polygon rect = new Polygon();
            rect.addPoint((int) pointA.getX(), (int) pointA.getY() - 16);
            rect.addPoint((int) pointA.getX(), (int) pointA.getY() + 16);
            rect.addPoint((int) pointB.getX(), (int) pointB.getY() - 16);
            rect.addPoint((int) pointB.getX(), (int) pointB.getY() + 16);
            if (rect.contains(test)) {
                tooltip = test;
                repaint();
                return;
            }
        }
    }
    setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
    if (tooltip != null) {
        tooltip = null;
        repaint();
    }
}
项目:brModelo    文件:LivreBase.java   
public Shape getRegiaoLosanglo() {
    if (Regiao == null) {
        Rectangle r = new Rectangle(getLeft(), getTop(), getWidth(), getHeight()); //getBounds();
        Polygon los = new Polygon();
        los.addPoint(r.x, r.y + r.height / 2);
        los.addPoint(r.x + r.width / 2, r.y);
        los.addPoint(r.x + r.width, r.y + r.height / 2);
        los.addPoint(r.x + r.width / 2, r.y + r.height);

        Regiao = los;
    }
    return Regiao;
}
项目:parabuild-ci    文件:DefaultPolarItemRenderer.java   
/**
 * Plots the data for a given series.
 * 
 * @param g2  the drawing surface.
 * @param dataArea  the data area.
 * @param info  collects plot rendering info.
 * @param plot  the plot.
 * @param dataset  the dataset.
 * @param seriesIndex  the series index.
 */
public void drawSeries(Graphics2D g2, 
                       Rectangle2D dataArea, 
                       PlotRenderingInfo info,
                       PolarPlot plot,
                       XYDataset dataset,
                       int seriesIndex) {

    Polygon poly = new Polygon();
    int numPoints = dataset.getItemCount(seriesIndex);
    for (int i = 0; i < numPoints; i++) {
        double theta = dataset.getXValue(seriesIndex, i);
        double radius = dataset.getYValue(seriesIndex, i);
        Point p = plot.translateValueThetaRadiusToJava2D(theta, radius, dataArea);
        poly.addPoint(p.x, p.y);
    }
    g2.setPaint(getSeriesPaint(seriesIndex));
    g2.setStroke(getSeriesStroke(seriesIndex));
    if (isSeriesFilled(seriesIndex)) {
        Composite savedComposite = g2.getComposite();
        g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f));
        g2.fill(poly);
        g2.setComposite(savedComposite);
    }
    else {
        g2.draw(poly);
    }
}
项目:Tarski    文件:OurPDFWriter.java   
/** Draws a shape. */
public OurPDFWriter drawShape(Shape shape, boolean fillOrNot) {
   if (shape instanceof Polygon) {
      Polygon obj = (Polygon)shape;
      for(int i = 0; i < obj.npoints; i++) buf.writes(obj.xpoints[i]).writes(obj.ypoints[i]).write(i==0 ? "m\n" : "l\n");
      buf.write("h\n");
   } else {
      double moveX = 0, moveY = 0, nowX = 0, nowY = 0, pt[] = new double[6];
      for(PathIterator it = shape.getPathIterator(null); !it.isDone(); it.next()) switch(it.currentSegment(pt)) {
         case PathIterator.SEG_MOVETO:
            nowX = moveX = pt[0]; nowY = moveY = pt[1]; buf.writes(nowX).writes(nowY).write("m\n"); break;
         case PathIterator.SEG_CLOSE:
            nowX = moveX; nowY = moveY; buf.write("h\n"); break;
         case PathIterator.SEG_LINETO:
            nowX = pt[0]; nowY = pt[1]; buf.writes(nowX).writes(nowY).write("l\n"); break;
         case PathIterator.SEG_CUBICTO:
            nowX = pt[4]; nowY = pt[5];
            buf.writes(pt[0]).writes(pt[1]).writes(pt[2]).writes(pt[3]).writes(nowX).writes(nowY).write("c\n"); break;
         case PathIterator.SEG_QUADTO: // Convert quadratic bezier into cubic bezier using de Casteljau algorithm
            double px = nowX + (pt[0] - nowX)*(2.0/3.0), qx = px + (pt[2] - nowX)/3.0;
            double py = nowY + (pt[1] - nowY)*(2.0/3.0), qy = py + (pt[3] - nowY)/3.0;
            nowX = pt[2]; nowY = pt[3];
            buf.writes(px).writes(py).writes(qx).writes(qy).writes(nowX).writes(nowY).write("c\n"); break;
      }
   }
   buf.write(fillOrNot ? "f\n" : "S\n");
   return this;
}
项目:jmt    文件:PainterConvex2D.java   
/**
 * Create a Polygon that is a rectangle draw between two point 
 * @param xP1 The x of the first point
 * @param yP1 The y of the first point
 * @param xP2 The x of the second point
 * @param yP2 The y of the second point
 * @return The rectangle in a polygon object
 */
public Polygon twoPointRectangle(int xP1, int yP1, int xP2, int yP2) {
    Polygon p = new Polygon();
    p.addPoint(xP1, yP1);
    p.addPoint(xP1, yP2);
    p.addPoint(xP2, yP2);
    p.addPoint(xP2, yP1);

    return p;
}
项目:parabuild-ci    文件:DefaultPolarItemRenderer.java   
/**
 * Plots the data for a given series.
 * 
 * @param g2  the drawing surface.
 * @param dataArea  the data area.
 * @param info  collects plot rendering info.
 * @param plot  the plot.
 * @param dataset  the dataset.
 * @param seriesIndex  the series index.
 */
public void drawSeries(Graphics2D g2, 
                       Rectangle2D dataArea, 
                       PlotRenderingInfo info,
                       PolarPlot plot,
                       XYDataset dataset,
                       int seriesIndex) {

    Polygon poly = new Polygon();
    int numPoints = dataset.getItemCount(seriesIndex);
    for (int i = 0; i < numPoints; i++) {
        double theta = dataset.getXValue(seriesIndex, i);
        double radius = dataset.getYValue(seriesIndex, i);
        Point p = plot.translateValueThetaRadiusToJava2D(theta, radius, 
                dataArea);
        poly.addPoint(p.x, p.y);
    }
    g2.setPaint(getSeriesPaint(seriesIndex));
    g2.setStroke(getSeriesStroke(seriesIndex));
    if (isSeriesFilled(seriesIndex)) {
        Composite savedComposite = g2.getComposite();
        g2.setComposite(AlphaComposite.getInstance(
                AlphaComposite.SRC_OVER, 0.5f));
        g2.fill(poly);
        g2.setComposite(savedComposite);
    }
    else {
        g2.draw(poly);
    }
}
项目:OpenJSharp    文件:CSSBorder.java   
public void paint(Polygon shape, Graphics g, Color color, int side) {
    Rectangle r = shape.getBounds();
    int length = Math.max(r.height / 3, 1);
    int[] lengthPattern = { length, length };
    Color[] colorPattern = { color, null };
    paintStrokes(r, g, View.Y_AXIS, lengthPattern, colorPattern);
}
项目:agar.io    文件:EZ.java   
@Override public Shape getBounds() {
  tempShape = new Polygon(drawShape.xpoints, drawShape.ypoints, drawShape.xpoints.length);
  tempShape.translate(-1 * (tempShape.getBounds().x + tempShape.getBounds().width/2), -1 * (tempShape.getBounds().y + tempShape.getBounds().height/2));
  return EZElement.boundHelper(tempShape, this);
}
项目:JAddOn    文件:JExpandableTextArea.java   
@Override
public void mouseMoved(MouseEvent e) {
    final Point p = e.getPoint();
    final Polygon polygon = getTriangle();
    if(polygon.contains(p)){
        inTheTriangleZone = true;
        this.setCursor(new Cursor(Cursor.SE_RESIZE_CURSOR));
        this.repaint();
    } else {
        inTheTriangleZone = false;
        this.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
        this.repaint();
    }
}
项目:spacesettlers    文件:PolygonGraphics.java   
public static PolygonGraphics fromPositions(Color c, List<Position> points) {
    Polygon myPolygon = new Polygon();
    for (Position p : points) {
        myPolygon.addPoint((int)p.getX(), (int)p.getY());
    }
    Rectangle2D bounds = myPolygon.getBounds2D();
    return new PolygonGraphics(c, myPolygon, bounds);
}
项目:VASSAL-src    文件:PolygonEditor.java   
public static String polygonToString(Polygon p) {
  final StringBuilder s = new StringBuilder();
  for (int i = 0; i < p.npoints; i++) {
    s.append(Math.round(p.xpoints[i])).append(',').append(Math.round(p.ypoints[i]));
    if (i < (p.npoints - 1)) {
      s.append(';');
    }
  }
  return s.toString();
}