//--------------------------------------------------------------------- public DistanceInterpolator3(int x1, int y1, int x2, int y2, int sx, int sy, int ex, int ey, int x, int y) { unchecked { m_dx = (x2 - x1); m_dy = (y2 - y1); m_dx_start = (LineAA.Mr(sx) - LineAA.Mr(x1)); m_dy_start = (LineAA.Mr(sy) - LineAA.Mr(y1)); m_dx_end = (LineAA.Mr(ex) - LineAA.Mr(x2)); m_dy_end = (LineAA.Mr(ey) - LineAA.Mr(y2)); m_dist = (AggBasics.iround((double)(x + LineAA.SUBPIXEL_SCALE / 2 - x2) * (double)(m_dy) - (double)(y + LineAA.SUBPIXEL_SCALE / 2 - y2) * (double)(m_dx))); m_dist_start = ((LineAA.Mr(x + LineAA.SUBPIXEL_SCALE / 2) - LineAA.Mr(sx)) * m_dy_start - (LineAA.Mr(y + LineAA.SUBPIXEL_SCALE / 2) - LineAA.Mr(sy)) * m_dx_start); m_dist_end = ((LineAA.Mr(x + LineAA.SUBPIXEL_SCALE / 2) - LineAA.Mr(ex)) * m_dy_end - (LineAA.Mr(y + LineAA.SUBPIXEL_SCALE / 2) - LineAA.Mr(ey)) * m_dx_end); m_dx <<= LineAA.SUBPIXEL_SHIFT; m_dy <<= LineAA.SUBPIXEL_SHIFT; m_dx_start <<= LineAA.MR_SUBPIXEL_SHIFT; m_dy_start <<= LineAA.MR_SUBPIXEL_SHIFT; m_dx_end <<= LineAA.MR_SUBPIXEL_SHIFT; m_dy_end <<= LineAA.MR_SUBPIXEL_SHIFT; } }
public DistanceInterpolator0(int x1, int y1, int x2, int y2, int x, int y) { unchecked { m_dx = (LineAA.Mr(x2) - LineAA.Mr(x1)); m_dy = (LineAA.Mr(y2) - LineAA.Mr(y1)); m_dist = ((LineAA.Mr(x + LineAA.SUBPIXEL_SCALE / 2) - LineAA.Mr(x2)) * m_dy - (LineAA.Mr(y + LineAA.SUBPIXEL_SCALE / 2) - LineAA.Mr(y2)) * m_dx); m_dx <<= LineAA.MR_SUBPIXEL_SHIFT; m_dy <<= LineAA.MR_SUBPIXEL_SHIFT; } }
public DistanceInterpolator00(int xc, int yc, int x1, int y1, int x2, int y2, int x, int y) { m_dx1 = (LineAA.Mr(x1) - LineAA.Mr(xc)); m_dy1 = (LineAA.Mr(y1) - LineAA.Mr(yc)); m_dx2 = (LineAA.Mr(x2) - LineAA.Mr(xc)); m_dy2 = (LineAA.Mr(y2) - LineAA.Mr(yc)); m_dist1 = ((LineAA.Mr(x + LineAA.SUBPIXEL_SCALE / 2) - LineAA.Mr(x1)) * m_dy1 - (LineAA.Mr(y + LineAA.SUBPIXEL_SCALE / 2) - LineAA.Mr(y1)) * m_dx1); m_dist2 = ((LineAA.Mr(x + LineAA.SUBPIXEL_SCALE / 2) - LineAA.Mr(x2)) * m_dy2 - (LineAA.Mr(y + LineAA.SUBPIXEL_SCALE / 2) - LineAA.Mr(y2)) * m_dx2); m_dx1 <<= LineAA.MR_SUBPIXEL_SHIFT; m_dy1 <<= LineAA.MR_SUBPIXEL_SHIFT; m_dx2 <<= LineAA.MR_SUBPIXEL_SHIFT; m_dy2 <<= LineAA.MR_SUBPIXEL_SHIFT; }
public DistanceInterpolator2(int x1, int y1, int x2, int y2, int ex, int ey, int x, int y, int none) { m_dx = (x2 - x1); m_dy = (y2 - y1); m_dx_start = (LineAA.Mr(ex) - LineAA.Mr(x2)); m_dy_start = (LineAA.Mr(ey) - LineAA.Mr(y2)); m_dist = (AggBasics.iround((double)(x + LineAA.SUBPIXEL_SCALE / 2 - x2) * (double)(m_dy) - (double)(y + LineAA.SUBPIXEL_SCALE / 2 - y2) * (double)(m_dx))); m_dist_start = ((LineAA.Mr(x + LineAA.SUBPIXEL_SCALE / 2) - LineAA.Mr(ex)) * m_dy_start - (LineAA.Mr(y + LineAA.SUBPIXEL_SCALE / 2) - LineAA.Mr(ey)) * m_dx_start); m_dx <<= LineAA.SUBPIXEL_SHIFT; m_dy <<= LineAA.SUBPIXEL_SHIFT; m_dx_start <<= LineAA.MR_SUBPIXEL_SHIFT; m_dy_start <<= LineAA.MR_SUBPIXEL_SHIFT; }