< prev index next >

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

Print this page

        

*** 41,50 **** --- 41,53 ---- static final float SUBPIXEL_SCALE_X = (float) SUBPIXEL_POSITIONS_X; static final float SUBPIXEL_SCALE_Y = (float) 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 float RDR_OFFSET_X = 0.501f / SUBPIXEL_SCALE_X; + private static final float RDR_OFFSET_Y = 0.501f / 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;
*** 669,706 **** x0 = x1; y0 = y1; } @Override ! public void curveTo(float x1, float y1, ! float x2, float y2, ! float x3, float y3) { ! final float xe = tosubpixx(x3); ! final float 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(float x1, float y1, float x2, float y2) { ! final float xe = tosubpixx(x2); ! final float 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(); --- 672,713 ---- x0 = x1; y0 = y1; } @Override ! public void curveTo(float pix_x1, float pix_y1, ! float pix_x2, float pix_y2, ! float pix_x3, float pix_y3) { ! final float xe = tosubpixx(pix_x3); ! final float 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(float pix_x1, float pix_y1, ! float pix_x2, float pix_y2) ! { ! final float xe = tosubpixx(pix_x2); ! final float 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();
*** 1550,1555 **** --- 1557,1572 ---- @Override public int getOutpixMaxY() { return bboxY1; } + + @Override + public float getOffsetX() { + return RDR_OFFSET_X; + } + + @Override + public float getOffsetY() { + return RDR_OFFSET_Y; + } }
< prev index next >