Void (Graphics2D g) { double scale = ScaleContext.create(g).getScale(PIX_SCALE); String msg = "LinePainter2D.align is incorrect (JreHiDPIEnabled: " + JreHiDpiUtil.isJreHiDPIEnabled() + "; scale: " + scale + ")"; double delta = 0.000001; boolean jhd = JreHiDpiUtil.isJreHiDPIEnabled(); // HORIZONTAL Line2D line = LinePainter2D.align(g, EnumSet.of(Align.CENTER_X, Align.CENTER_Y), 2.5, 2.5, 5, false, StrokeType.CENTERED, 1); TestCase.assertEquals(msg, 0, line.getX1(), delta); TestCase.assertEquals(msg, 2, line.getY1(), delta); TestCase.assertEquals(msg, 4, line.getX2(), delta); TestCase.assertEquals(msg, 2, line.getY2(), delta); line = LinePainter2D.align(g, EnumSet.of(Align.CENTER_X, Align.CENTER_Y), 2.5, 2, 5, false, StrokeType.CENTERED, 2); TestCase.assertEquals(msg, 0, line.getX1(), delta); TestCase.assertEquals(msg, jhd ? 1.5 : 2, line.getY1(), delta); TestCase.assertEquals(msg, 4, line.getX2(), delta); TestCase.assertEquals(msg, jhd ? 1.5 : 2, line.getY2(), delta); line = LinePainter2D.align(g, EnumSet.of(Align.CENTER_X, Align.CENTER_Y), 3, 1.5, 6, false, StrokeType.CENTERED, 3); TestCase.assertEquals(msg, 0, line.getX1(), delta); TestCase.assertEquals(msg, 1, line.getY1(), delta); TestCase.assertEquals(msg, 5, line.getX2(), delta); TestCase.assertEquals(msg, 1, line.getY2(), delta); // VERTICAL line = LinePainter2D.align(g, EnumSet.of(Align.CENTER_X, Align.CENTER_Y), 2.5, 2.5, 5, true, StrokeType.CENTERED, 1); TestCase.assertEquals(msg, 2, line.getX1(), delta); TestCase.assertEquals(msg, 0, line.getY1(), delta); TestCase.assertEquals(msg, 2, line.getX2(), delta); TestCase.assertEquals(msg, 4, line.getY2(), delta); line = LinePainter2D.align(g, EnumSet.of(Align.CENTER_X, Align.CENTER_Y), 2, 2.5, 5, true, StrokeType.CENTERED, 2); TestCase.assertEquals(msg, jhd ? 1.5 : 2, line.getX1(), delta); TestCase.assertEquals(msg, 0, line.getY1(), delta); TestCase.assertEquals(msg, jhd ? 1.5 : 2, line.getX2(), delta); TestCase.assertEquals(msg, 4, line.getY2(), delta); line = LinePainter2D.align(g, EnumSet.of(Align.CENTER_X, Align.CENTER_Y), 1.5, 3, 6, true, StrokeType.CENTERED, 3); TestCase.assertEquals(msg, 1, line.getX1(), delta); TestCase.assertEquals(msg, 0, line.getY1(), delta); TestCase.assertEquals(msg, 1, line.getX2(), delta); TestCase.assertEquals(msg, 5, line.getY2(), delta); return null; }