mirror of
https://github.com/bancika/diy-layout-creator
synced 2026-11-11 01:32:08 +10:00
rounding issue for leaded components
This commit is contained in:
@@ -24,7 +24,6 @@ import java.awt.Composite;
|
|||||||
import java.awt.FontMetrics;
|
import java.awt.FontMetrics;
|
||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
import java.awt.Paint;
|
import java.awt.Paint;
|
||||||
import java.awt.Point;
|
|
||||||
import java.awt.Rectangle;
|
import java.awt.Rectangle;
|
||||||
import java.awt.Shape;
|
import java.awt.Shape;
|
||||||
import java.awt.Stroke;
|
import java.awt.Stroke;
|
||||||
@@ -215,13 +214,13 @@ public abstract class AbstractLeadedComponent<T> extends AbstractTransparentComp
|
|||||||
|
|
||||||
Area leadArea = new Area();
|
Area leadArea = new Area();
|
||||||
|
|
||||||
int endX = (int) (getPoints()[0].getX() + Math.cos(theta) * leadLength);
|
double endX = getPoints()[0].getX() + Math.cos(theta) * leadLength;
|
||||||
int endY = (int) (getPoints()[0].getY() + Math.sin(theta) * leadLength);
|
double endY = getPoints()[0].getY() + Math.sin(theta) * leadLength;
|
||||||
Line2D line = new Line2D.Double(getPoints()[0].getX(), getPoints()[0].getY(), endX, endY);
|
Line2D line = new Line2D.Double(getPoints()[0].getX(), getPoints()[0].getY(), endX, endY);
|
||||||
leadArea.add(new Area(leadStroke.createStrokedShape(line)));
|
leadArea.add(new Area(leadStroke.createStrokedShape(line)));
|
||||||
|
|
||||||
endX = (int) (getPoints()[1].getX() + Math.cos(theta - Math.PI) * leadLength);
|
endX = getPoints()[1].getX() + Math.cos(theta - Math.PI) * leadLength;
|
||||||
endY = (int) (getPoints()[1].getY() + Math.sin(theta - Math.PI) * leadLength);
|
endY = getPoints()[1].getY() + Math.sin(theta - Math.PI) * leadLength;
|
||||||
line = new Line2D.Double(getPoints()[1].getX(), getPoints()[1].getY(), endX, endY);
|
line = new Line2D.Double(getPoints()[1].getX(), getPoints()[1].getY(), endX, endY);
|
||||||
leadArea.add(new Area(leadStroke.createStrokedShape(line)));
|
leadArea.add(new Area(leadStroke.createStrokedShape(line)));
|
||||||
|
|
||||||
@@ -261,8 +260,8 @@ public abstract class AbstractLeadedComponent<T> extends AbstractTransparentComp
|
|||||||
drawingObserver.startTracking();
|
drawingObserver.startTracking();
|
||||||
|
|
||||||
if (!outlineMode && ConfigurationManager.getInstance().readBoolean(IPlugInPort.HI_QUALITY_RENDER_KEY, false)) {
|
if (!outlineMode && ConfigurationManager.getInstance().readBoolean(IPlugInPort.HI_QUALITY_RENDER_KEY, false)) {
|
||||||
Point p1 = new Point((int) (length / 2), 0);
|
Point2D p1 = new Point2D.Double(length / 2, 0);
|
||||||
Point p2 = new Point((int) (length / 2), (int) width);
|
Point2D p2 = new Point2D.Double(length / 2, width);
|
||||||
ShadedPaint paint = theta > 0 && theta < Math.PI ? new ShadedPaint(p2, p1, bodyColor) : new ShadedPaint(p1, p2, bodyColor);
|
ShadedPaint paint = theta > 0 && theta < Math.PI ? new ShadedPaint(p2, p1, bodyColor) : new ShadedPaint(p1, p2, bodyColor);
|
||||||
Paint oldPaint = g2d.getPaint();
|
Paint oldPaint = g2d.getPaint();
|
||||||
g2d.setPaint(paint);
|
g2d.setPaint(paint);
|
||||||
|
|||||||
Reference in New Issue
Block a user