public void moveTo(int x0, int y0) { long tx0, ty0; if (scaleAndTranslate) { tx0 = m00 * x0 + m02; ty0 = m11 * y0 + m12; } else { tx0 = m00 * x0 + m01 * y0 + m02; ty0 = m10 * x0 + m11 * y0 + m12; } // System.out.println("PT: moveTo " + // ((tx0 >> 16)/65536.0) + ", " + // ((ty0 >> 16)/65536.0)); output.moveTo((int) (tx0 >> 16), (int) (ty0 >> 16)); }
public void lineTo(int x1, int y1) { long tx1, ty1; if (scaleAndTranslate) { tx1 = m00 * x1 + m02; ty1 = m11 * y1 + m12; } else { tx1 = m00 * x1 + m01 * y1 + m02; ty1 = m10 * x1 + m11 * y1 + m12; } // System.out.println("PT: lineTo " + // ((tx1 >> 16)/65536.0) + ", " + // ((ty1 >> 16)/65536.0)); output.lineTo((int) (tx1 >> 16), (int) (ty1 >> 16)); }
public void quadTo(int x1, int y1, int x2, int y2) { long tx1, ty1, tx2, ty2; if (scaleAndTranslate) { tx1 = m00 * x1 + m02; ty1 = m11 * y1 + m12; tx2 = m00 * x2 + m02; ty2 = m11 * y2 + m12; } else { tx1 = m00 * x1 + m01 * y1 + m02; ty1 = m10 * x1 + m11 * y1 + m12; tx2 = m00 * x2 + m01 * y2 + m02; ty2 = m10 * x2 + m11 * y2 + m12; } // System.out.println("PT: quadTo " + // ((tx1 >> 16)/65536.0) + ", " + // ((ty1 >> 16)/65536.0) + ", " + // ((tx2 >> 16)/65536.0) + ", " + // ((ty2 >> 16)/65536.0)); output.quadTo((int) (tx1 >> 16), (int) (ty1 >> 16), (int) (tx2 >> 16), (int) (ty2 >> 16)); }
public void lineJoin() { output.lineJoin(); }
public void end() { // System.out.println("PT: end"); output.end(); }
public void close() { // System.out.println("PT: close"); output.close(); }
public void cubicTo(int x1, int y1, int x2, int y2, int x3, int y3) { long tx1, ty1, tx2, ty2, tx3, ty3; if (scaleAndTranslate) { tx1 = m00 * x1 + m02; ty1 = m11 * y1 + m12; tx2 = m00 * x2 + m02; ty2 = m11 * y2 + m12; tx3 = m00 * x3 + m02; ty3 = m11 * y3 + m12; } else { tx1 = m00 * x1 + m01 * y1 + m02; ty1 = m10 * x1 + m11 * y1 + m12; tx2 = m00 * x2 + m01 * y2 + m02; ty2 = m10 * x2 + m11 * y2 + m12; tx3 = m00 * x3 + m01 * y3 + m02; ty3 = m10 * x3 + m11 * y3 + m12; } // if (m00 != (1 << 16)) { // tx1 = m00*x1; // tx2 = m00*x2; // tx3 = m00*x3; // } else { // tx1 = (long)x1 << 16; // tx2 = (long)x2 << 16; // tx3 = (long)x3 << 16; // } // if (m11 != (1 << 16)) { // ty1 = m11*y1; // ty2 = m11*y2; // ty3 = m11*y3; // } else { // ty1 = (long)y1 << 16; // ty2 = (long)y2 << 16; // ty3 = (long)y3 << 16; // } // if (m01 != 0) { // tx1 += m01*y1; // tx2 += m01*y2; // tx3 += m01*y3; // } // if (m10 != 0) { // ty1 += m10*x1; // ty2 += m10*x2; // ty3 += m10*x3; // } // if (m02 != 0) { // tx1 += m02; // tx2 += m02; // tx3 += m02; // } // if (m12 != 0) { // ty1 += m12; // ty2 += m12; // ty3 += m12; // } // System.out.println("PT: cubicTo " + // ((tx1 >> 16)/65536.0) + ", " + // ((ty1 >> 16)/65536.0) + ", " + // ((tx2 >> 16)/65536.0) + ", " + // ((ty2 >> 16)/65536.0) + ", " + // ((tx3 >> 16)/65536.0) + ", " + // ((ty3 >> 16)/65536.0)); output.cubicTo( (int) (tx1 >> 16), (int) (ty1 >> 16), (int) (tx2 >> 16), (int) (ty2 >> 16), (int) (tx3 >> 16), (int) (ty3 >> 16)); }