public static void drawRotatedString(string text, Graphics2D g2, float textX, float textY, double angle, float rotateX, float rotateY) { if (text == null || String.instancehelper_equals(text, (object) "")) return; AffineTransform transform = g2.getTransform(); AffineTransform rotateInstance = AffineTransform.getRotateInstance(angle, (double) rotateX, (double) rotateY); g2.transform(rotateInstance); if (TextUtilities.useDrawRotatedStringWorkaround) { TextLayout.__\u003Cclinit\u003E(); new TextLayout(text, ((Graphics) g2).getFont(), g2.getFontRenderContext()).draw(g2, textX, textY); } else g2.drawString(text, textX, textY); g2.setTransform(transform); }
public static void drawRotatedShape(Graphics2D g2, Shape shape, double angle, float x, float y) { AffineTransform transform = g2.getTransform(); AffineTransform rotateInstance = AffineTransform.getRotateInstance(angle, (double) x, (double) y); g2.transform(rotateInstance); g2.draw(shape); g2.setTransform(transform); }