< prev index next >

modules/javafx.graphics/src/main/java/com/sun/marlin/DRenderer.java

Print this page

        

*** 41,50 **** --- 41,53 ---- static final double SUBPIXEL_SCALE_X = SUBPIXEL_POSITIONS_X; static final double SUBPIXEL_SCALE_Y = SUBPIXEL_POSITIONS_Y; static final int SUBPIXEL_MASK_X = SUBPIXEL_POSITIONS_X - 1; static final int SUBPIXEL_MASK_Y = SUBPIXEL_POSITIONS_Y - 1; + private static final double RDR_OFFSET_X = 0.501d / SUBPIXEL_SCALE_X; + private static final double RDR_OFFSET_Y = 0.501d / SUBPIXEL_SCALE_Y; + // common to all types of input path segments. // OFFSET as bytes // only integer values: public static final long OFF_CURX_OR = 0; public static final long OFF_ERROR = OFF_CURX_OR + SIZE_INT;
*** 666,703 **** x0 = x1; y0 = y1; } @Override ! public void curveTo(double x1, double y1, ! double x2, double y2, ! double x3, double y3) { ! final double xe = tosubpixx(x3); ! final double ye = tosubpixy(y3); ! curve.set(x0, y0, tosubpixx(x1), tosubpixy(y1), ! tosubpixx(x2), tosubpixy(y2), xe, ye); curveBreakIntoLinesAndAdd(x0, y0, curve, xe, ye); x0 = xe; y0 = ye; } @Override ! public void quadTo(double x1, double y1, double x2, double y2) { ! final double xe = tosubpixx(x2); ! final double ye = tosubpixy(y2); ! curve.set(x0, y0, tosubpixx(x1), tosubpixy(y1), xe, ye); quadBreakIntoLinesAndAdd(x0, y0, curve, xe, ye); x0 = xe; y0 = ye; } @Override public void closePath() { ! addLine(x0, y0, sx0, sy0); ! x0 = sx0; ! y0 = sy0; } @Override public void pathDone() { closePath(); --- 669,710 ---- x0 = x1; y0 = y1; } @Override ! public void curveTo(double pix_x1, double pix_y1, ! double pix_x2, double pix_y2, ! double pix_x3, double pix_y3) { ! final double xe = tosubpixx(pix_x3); ! final double ye = tosubpixy(pix_y3); ! curve.set(x0, y0, tosubpixx(pix_x1), tosubpixy(pix_y1), ! tosubpixx(pix_x2), tosubpixy(pix_y2), xe, ye); curveBreakIntoLinesAndAdd(x0, y0, curve, xe, ye); x0 = xe; y0 = ye; } @Override ! public void quadTo(double pix_x1, double pix_y1, ! double pix_x2, double pix_y2) ! { ! final double xe = tosubpixx(pix_x2); ! final double ye = tosubpixy(pix_y2); ! curve.set(x0, y0, tosubpixx(pix_x1), tosubpixy(pix_y1), xe, ye); quadBreakIntoLinesAndAdd(x0, y0, curve, xe, ye); x0 = xe; y0 = ye; } @Override public void closePath() { ! if (x0 != sx0 || y0 != sy0) { ! addLine(x0, y0, sx0, sy0); ! x0 = sx0; ! y0 = sy0; ! } } @Override public void pathDone() { closePath();
*** 1547,1552 **** --- 1554,1569 ---- @Override public int getOutpixMaxY() { return bboxY1; } + + @Override + public double getOffsetX() { + return RDR_OFFSET_X; + } + + @Override + public double getOffsetY() { + return RDR_OFFSET_Y; + } }
< prev index next >