Java Code Examples for java.awt.geom.AffineTransform#quadrantRotate()

The following examples show how to use java.awt.geom.AffineTransform#quadrantRotate() . These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: workcraft   File: VisualContact.java    License: MIT License 6 votes vote down vote up
public AffineTransform getTransform() {
    AffineTransform result = new AffineTransform();
    switch (this) {
    case WEST:
        result.quadrantRotate(2);
        break;
    case NORTH:
        result.quadrantRotate(3);
        break;
    case EAST:
        result.setToIdentity();
        break;
    case SOUTH:
        result.quadrantRotate(1);
        break;
    }
    return result;
}
 
Example 2
Source Project: workcraft   File: VisualContact.java    License: MIT License 6 votes vote down vote up
@Override
public boolean hitTestInLocalSpace(Point2D pointInLocalSpace) {
    Shape shape = getShape();
    if (shape != null) {
        Point2D p2 = new Point2D.Double();
        p2.setLocation(pointInLocalSpace);
        if (!(getParent() instanceof VisualCircuitComponent)) {
            AffineTransform rotateTransform = getDirection().getTransform();
            if (isInput()) {
                rotateTransform.quadrantRotate(2);
            }
            rotateTransform.transform(pointInLocalSpace, p2);
        }
        return shape.contains(p2);
    }
    return false;
}
 
Example 3
Source Project: java-swing-tips   File: MainPanel.java    License: MIT License 6 votes vote down vote up
private Icon makeVerticalTabIcon(String title, Icon icon, boolean clockwise) {
  JLabel label = new JLabel(title, icon, SwingConstants.LEADING);
  label.setBorder(BorderFactory.createEmptyBorder(0, 2, 0, 2));
  Dimension d = label.getPreferredSize();
  int w = d.height;
  int h = d.width;
  BufferedImage bi = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
  Graphics2D g2 = (Graphics2D) bi.getGraphics();
  AffineTransform at = clockwise
      ? AffineTransform.getTranslateInstance(w, 0)
      : AffineTransform.getTranslateInstance(0, h);
  at.quadrantRotate(clockwise ? 1 : -1);
  g2.setTransform(at);
  SwingUtilities.paintComponent(g2, label, this, 0, 0, d.width, d.height);
  g2.dispose();
  return new ImageIcon(bi);
}
 
Example 4
Source Project: darklaf   File: DefaultTransformModel.java    License: MIT License 5 votes vote down vote up
/**
 * Apply the prescribed transformations, excluding the scale.
 *
 * @param  centerX a center X
 * @param  centerY a center Y
 * @return         a new {@link AffineTransform}
 */
protected AffineTransform transformNoScale(final double centerX, final double centerY) {
    AffineTransform at = new AffineTransform();
    at.translate(centerX, centerY);
    at.rotate(getRotation());
    at.quadrantRotate(getQuadrantRotation());
    at.shear(getShearX(), getShearY());
    at.translate(-centerX, -centerY);
    return at;
}
 
Example 5
public static AffineTransform makeQuadAT(Mode mode, Point2D txpt,
                                         int quads)
{
    AffineTransform at;
    double tx = (txpt == null) ? 0.0 : txpt.getX();
    double ty = (txpt == null) ? 0.0 : txpt.getY();
    switch (mode) {
    case GET:
        if (txpt != null) {
            at = AffineTransform.getQuadrantRotateInstance(quads, tx, ty);
        } else {
            at = AffineTransform.getQuadrantRotateInstance(quads);
        }
        break;
    case SET:
        at = makeRandomAT();
        if (txpt != null) {
            at.setToQuadrantRotation(quads, tx, ty);
        } else {
            at.setToQuadrantRotation(quads);
        }
        break;
    case MOD:
        at = makeRandomAT();
        at.setToIdentity();
        if (txpt != null) {
            at.quadrantRotate(quads, tx, ty);
        } else {
            at.quadrantRotate(quads);
        }
        break;
    default:
        throw new InternalError("unrecognized mode: "+mode);
    }

    return at;
}
 
Example 6
Source Project: workcraft   File: VisualXmasComponent.java    License: MIT License 5 votes vote down vote up
public void setOrientation(Orientation value) {
    if (orientation != value) {
        for (VisualXmasContact contact: getContacts()) {
            AffineTransform rotateTransform = new AffineTransform();
            rotateTransform.quadrantRotate(value.getQuadrant() - getOrientation().getQuadrant());
            TransformHelper.applyTransform(contact, rotateTransform);
        }
        orientation = value;
        sendNotification(new PropertyChangedEvent(this, PROPERTY_ORIENTATION));
    }
}
 
Example 7
Source Project: workcraft   File: VisualXmasComponent.java    License: MIT License 5 votes vote down vote up
public Shape transformShape(Shape shape) {
    AffineTransform rotateTransform = new AffineTransform();
    if (orientation != null) {
        rotateTransform.quadrantRotate(orientation.getQuadrant());
    }
    return rotateTransform.createTransformedShape(shape);
}
 
Example 8
Source Project: workcraft   File: VisualContact.java    License: MIT License 5 votes vote down vote up
@Override
public Rectangle2D getNameBoundingBox() {
    Rectangle2D bb = super.getNameBoundingBox();
    if (bb != null) {
        AffineTransform rotateTransform = new AffineTransform();
        if (getDirection() == Direction.NORTH || getDirection() == Direction.SOUTH) {
            rotateTransform.quadrantRotate(-1);
        }
        bb = BoundingBoxHelper.transform(bb, rotateTransform);
    }
    return bb;
}
 
Example 9
Source Project: workcraft   File: VisualContact.java    License: MIT License 5 votes vote down vote up
@Override
public void rotateClockwise() {
    if (getParent() instanceof VisualFunctionComponent) {
        VisualFunctionComponent component = (VisualFunctionComponent) getParent();
        if (component.getRenderType() == RenderType.BOX) {
            AffineTransform rotateTransform = new AffineTransform();
            rotateTransform.quadrantRotate(1);
            Point2D pos = rotateTransform.transform(getPosition(), null);
            setPosition(pos);
        }
    }
    setDirection(getDirection().rotateClockwise());
    super.rotateClockwise();
}
 
Example 10
Source Project: workcraft   File: VisualContact.java    License: MIT License 5 votes vote down vote up
@Override
public void rotateCounterclockwise() {
    if (getParent() instanceof VisualFunctionComponent) {
        VisualFunctionComponent component = (VisualFunctionComponent) getParent();
        if (component.getRenderType() == RenderType.BOX) {
            AffineTransform rotateTransform = new AffineTransform();
            rotateTransform.quadrantRotate(-1);
            Point2D pos = rotateTransform.transform(getPosition(), null);
            setPosition(pos);
        }
    }
    setDirection(getDirection().rotateCounterclockwise());
    super.rotateCounterclockwise();
}
 
Example 11
Source Project: ev3dev-lang-java   File: LCDStretch.java    License: MIT License 5 votes vote down vote up
private BufferedImage java_lejos_flip(BufferedImage in, BufferedImage out) {
    AffineTransform tf = new AffineTransform();
    tf.quadrantRotate(1);
    tf.scale(-1.0, +1.0);
    AffineTransformOp op = new AffineTransformOp(tf, AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
    return op.filter(in, out);
}
 
Example 12
Source Project: JuiceboxLegacy   File: HiCChromosomeFigPanel.java    License: MIT License 5 votes vote down vote up
@Override
protected void paintComponent(Graphics g) {

    super.paintComponent(g);

    ((Graphics2D) g).setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

    Graphics2D g2D = (Graphics2D) g;

    try {
        hic.getZd();
    } catch (Exception e) {
        return;
    }

    if (context == null) return;

    g.setColor(Color.black);

    AffineTransform t = g2D.getTransform();

    if (orientation == Orientation.VERTICAL) {
        AffineTransform rotateTransform = new AffineTransform();
        rotateTransform.quadrantRotate(-1);
        g2D.transform(rotateTransform);
    }
    // Clear panel
    drawChr(g2D);
    g2D.setTransform(t);

}
 
Example 13
Source Project: Juicebox   File: HiCChromosomeFigPanel.java    License: MIT License 5 votes vote down vote up
@Override
protected void paintComponent(Graphics g) {

    super.paintComponent(g);

    ((Graphics2D) g).setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

    Graphics2D g2D = (Graphics2D) g;

    try {
        hic.getZd();
    } catch (Exception e) {
        return;
    }

    if (context == null) return;

    g.setColor(Color.black);

    AffineTransform t = g2D.getTransform();

    if (orientation == Orientation.VERTICAL) {
        AffineTransform rotateTransform = new AffineTransform();
        rotateTransform.quadrantRotate(-1);
        g2D.transform(rotateTransform);
    }
    // Clear panel
    drawChr(g2D);
    g2D.setTransform(t);

}
 
Example 14
Source Project: workcraft   File: VisualContact.java    License: MIT License 4 votes vote down vote up
@Override
public void draw(DrawRequest r) {
    Graphics2D g = r.getGraphics();
    Decoration d = r.getDecoration();

    Color colorisation = d.getColorisation();
    Color fillColor = d.getBackground();
    if (fillColor == null) {
        fillColor = getFillColor();
    }

    AffineTransform savedTransform = g.getTransform();
    AffineTransform rotateTransform = getDirection() != null ? getDirection().getTransform() : new AffineTransform();
    if (isInput()) {
        rotateTransform.quadrantRotate(2);
    }
    g.transform(rotateTransform);

    boolean showContact = CircuitSettings.getShowContacts() || (d instanceof StateDecoration)
            || (d.getColorisation() != null) || (d.getBackground() != null);

    if (showContact || isPort()) {
        boolean showForcedInit = (d instanceof StateDecoration) && ((StateDecoration) d).showForcedInit();
        Shape shape = showForcedInit && isForcedDriver() ? getForcedShape() : getShape();
        float width = (float) CircuitSettings.getBorderWidth();
        g.setStroke(new BasicStroke(width));
        g.setColor(fillColor);
        g.fill(shape);
        g.setColor(ColorUtils.colorise(getForegroundColor(), colorisation));
        g.draw(shape);
    } else if (r.getModel().getConnections(this).size() > 1) {
        g.setColor(ColorUtils.colorise(getForegroundColor(), colorisation));
        g.fill(VisualJoint.shape);
    }

    if (!(getParent() instanceof VisualCircuitComponent)) {
        g.setTransform(savedTransform);
        rotateTransform.setToIdentity();
        if (getDirection() == Direction.NORTH || getDirection() == Direction.SOUTH) {
            rotateTransform.quadrantRotate(-1);
        }
        g.transform(rotateTransform);
        drawNameInLocalSpace(r);
    }

    g.setTransform(savedTransform);
    d.decorate(g);
}
 
Example 15
Source Project: ev3dev-lang-java   File: LCDStretch.java    License: MIT License 4 votes vote down vote up
@Deprecated
@Override
public void drawRegionRop(
    Image src, int sx, int sy, int w, int h, int transform, int x, int y, int anchor, int rop) {
    x = adjustX(x, w, anchor);
    y = adjustY(y, h, anchor);
    BufferedImage srcI = any2rgb(src);

    double midx = srcI.getWidth() / 2.0;
    double midy = srcI.getHeight() / 2.0;
    AffineTransform tf = new AffineTransform();
    tf.translate(midx, midy);
    int h0 = h;
    switch (transform) {
        case TRANS_MIRROR:
            tf.scale(-1.0, 1.0);
            break;
        case TRANS_MIRROR_ROT90:
            tf.scale(-1.0, 1.0);
            tf.quadrantRotate(1);
            h = w;
            w = h0;
            break;
        case TRANS_MIRROR_ROT180:
            tf.scale(-1.0, 1.0);
            tf.quadrantRotate(2);
            break;
        case TRANS_MIRROR_ROT270:
            tf.scale(-1.0, 1.0);
            tf.quadrantRotate(3);
            h = w;
            w = h0;
            break;
        case TRANS_NONE:
            break;
        case TRANS_ROT90:
            tf.quadrantRotate(1);
            h = w;
            w = h0;
            break;
        case TRANS_ROT180:
            tf.quadrantRotate(2);
            break;
        case TRANS_ROT270:
            tf.quadrantRotate(3);
            h = w;
            w = h0;
            break;
        default:
            throw new RuntimeException("Bad Option");
    }
    tf.translate(-midx, -midy);
    AffineTransformOp op = new AffineTransformOp(tf, AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
    BufferedImage transformed = ImageUtils.createXRGBImage(w, h);
    transformed = op.filter(srcI, transformed);

    BufferedImage dstI = any2rgb(image);
    bitBlt(srcI, sx, sy, dstI, x, y, w, h, rop);
    g2d.drawImage(dstI, 0, 0, null);
}
 
Example 16
Source Project: JuiceboxLegacy   File: HiCRulerPanel.java    License: MIT License 3 votes vote down vote up
@Override
protected void paintComponent(Graphics g) {

    super.paintComponent(g);

    ((Graphics2D) g).setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

    Graphics2D g2D = (Graphics2D) g;

    try {
        hic.getZd();
    } catch (Exception e) {
        return;
    }

    if (context == null) return;

    g.setColor(Color.black);

    AffineTransform t = g2D.getTransform();

    if (orientation == Orientation.VERTICAL) {
        AffineTransform rotateTransform = new AffineTransform();
        rotateTransform.quadrantRotate(-1);
        g2D.transform(rotateTransform);
    }

    // Clear panel
    drawTicks(g2D);
    drawChr(g2D);

    g2D.setTransform(t);


}
 
Example 17
Source Project: Juicebox   File: HiCRulerPanel.java    License: MIT License 3 votes vote down vote up
@Override
protected void paintComponent(Graphics g) {

    super.paintComponent(g);

    ((Graphics2D) g).setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

    Graphics2D g2D = (Graphics2D) g;

    try {
        hic.getZd();
    } catch (Exception e) {
        return;
    }

    if (context == null) return;

    g.setColor(Color.black);

    AffineTransform t = g2D.getTransform();

    if (orientation == Orientation.VERTICAL) {
        AffineTransform rotateTransform = new AffineTransform();
        rotateTransform.quadrantRotate(-1);
        g2D.transform(rotateTransform);
    }

    // Clear panel
    drawTicks(g2D); // TODO ms3
    drawChr(g2D);

    g2D.setTransform(t);


}