Lines Matching refs:lp

484         line_interpolator_image(renderer_type& ren, const line_parameters& lp,
488 m_lp(lp),
489 m_li(lp.vertical ? line_dbl_hr(lp.x2 - lp.x1) :
490 line_dbl_hr(lp.y2 - lp.y1),
491 lp.vertical ? abs(lp.y2 - lp.y1) :
492 abs(lp.x2 - lp.x1) + 1),
493 m_di(lp.x1, lp.y1, lp.x2, lp.y2, sx, sy, ex, ey, lp.len, scale_x,
494 lp.x1 & ~line_subpixel_mask, lp.y1 & ~line_subpixel_mask),
496 m_x(lp.x1 >> line_subpixel_shift),
497 m_y(lp.y1 >> line_subpixel_shift),
500 m_count((lp.vertical ? abs((lp.y2 >> line_subpixel_shift) - m_y) :
501 abs((lp.x2 >> line_subpixel_shift) - m_x))),
508 agg::dda2_line_interpolator li(0, lp.vertical ?
509 (lp.dy << agg::line_subpixel_shift) :
510 (lp.dx << agg::line_subpixel_shift),
511 lp.len);
527 if(lp.vertical)
532 m_y -= lp.inc;
535 if(lp.inc > 0) m_di.dec_y(m_x - m_old_x);
565 m_x -= lp.inc;
568 if(lp.inc > 0) m_di.dec_x(m_y - m_old_y);
905 void line3_no_clip(const line_parameters& lp,
908 if(lp.len > line_max_length)
911 lp.divide(lp1, lp2);
914 line3_no_clip(lp1, (lp.x1 + sx) >> 1, (lp.y1 + sy) >> 1, mx, my);
915 line3_no_clip(lp2, mx, my, (lp.x2 + ex) >> 1, (lp.y2 + ey) >> 1);
919 fix_degenerate_bisectrix_start(lp, &sx, &sy);
920 fix_degenerate_bisectrix_end(lp, &ex, &ey);
921 line_interpolator_image<self_type> li(*this, lp,
933 m_start += uround(lp.len / m_scale_x);
937 void line3(const line_parameters& lp,
942 int x1 = lp.x1;
943 int y1 = lp.y1;
944 int x2 = lp.x2;
945 int y2 = lp.y2;
956 m_start += uround(calc_distance(lp.x1, lp.y1, x1, y1) / m_scale_x);
962 while(abs(sx - lp.x1) + abs(sy - lp.y1) > lp2.len)
964 sx = (lp.x1 + sx) >> 1;
965 sy = (lp.y1 + sy) >> 1;
975 while(abs(ex - lp.x2) + abs(ey - lp.y2) > lp2.len)
977 ex = (lp.x2 + ex) >> 1;
978 ey = (lp.y2 + ey) >> 1;
985 line3_no_clip(lp, sx, sy, ex, ey);
988 m_start = start + uround(lp.len / m_scale_x);
992 line3_no_clip(lp, sx, sy, ex, ey);