//---------------------------------------------------------------- public void Begin(double x, double y, uint len) { double tx; double ty; tx = x; ty = y; m_trans.Transform(ref tx, ref ty); int x1 = Basics.Round(tx * (double)ESubpixelScale.Scale); int y1 = Basics.Round(ty * (double)ESubpixelScale.Scale); tx = x + len; ty = y; m_trans.Transform(ref tx, ref ty); int x2 = Basics.Round(tx * (double)ESubpixelScale.Scale); int y2 = Basics.Round(ty * (double)ESubpixelScale.Scale); m_li_x = new Dda2LineInterpolator(x1, x2, (int)len); m_li_y = new Dda2LineInterpolator(y1, y2, (int)len); }
//---------------------------------------------------------------- public void ReSynchronize(double xe, double ye, uint len) { m_trans.Transform(ref xe, ref ye); m_li_x = new Dda2LineInterpolator(m_li_x.y(), Basics.Round(xe * (double)ESubpixelScale.Scale), (int)len); m_li_y = new Dda2LineInterpolator(m_li_y.y(), Basics.Round(ye * (double)ESubpixelScale.Scale), (int)len); }