coord_type
out_vertices.add(coord_type(x + dx1, y + dy1));
out_vertices.add(coord_type(x + cos(a1) * m_width,
out_vertices.add(coord_type(x + cos(a1) * m_width,
out_vertices.add(coord_type(x + dx2, y + dy2));
out_vertices.add(coord_type(xi, yi));
out_vertices.add(coord_type(v1.x + dx1, v1.y - dy1));
out_vertices.add(coord_type(v1.x + dx1, v1.y - dy1));
out_vertices.add(coord_type(v1.x + dx2, v1.y - dy2));
out_vertices.add(coord_type(v1.x + dx1 + dy1 * ml,
out_vertices.add(coord_type(v1.x + dx2 - dy2 * ml,
out_vertices.add(coord_type(v0.x - dx1 - dx2, v0.y + dy1 - dy2));
out_vertices.add(coord_type(v0.x + dx1 - dx2, v0.y - dy1 - dy2));
out_vertices.add(coord_type(v0.x - dx1, v0.y + dy1));
out_vertices.add(coord_type(v0.x + cos(a1) * m_width,
out_vertices.add(coord_type(v0.x + cos(a1) * m_width,
out_vertices.add(coord_type(v0.x + dx1, v0.y - dy1));
out_vertices.add(coord_type(v1.x + dx1, v1.y - dy1));
out_vertices.add(coord_type(v1.x + dx2, v1.y - dy2));
out_vertices.add(coord_type(v1.x + dx1, v1.y - dy1));
out_vertices.add(coord_type(v1.x, v1.y ));
out_vertices.add(coord_type(v1.x + dx2, v1.y - dy2));
out_vertices.add(coord_type(v1.x + dx1, v1.y - dy1));
out_vertices.add(coord_type(v1.x, v1.y ));
out_vertices.add(coord_type(v1.x, v1.y ));
out_vertices.add(coord_type(v1.x + dx2, v1.y - dy2));
out_vertices.add(coord_type(v1.x + dx1, v1.y - dy1));
out_vertices.add(coord_type(v1.x + dx2, v1.y - dy2));
coord_type m_start_x;
coord_type m_start_y;
typedef typename Clip::coord_type coord_type;
typedef typename Clip::coord_type coord_type;
coord_type m_start_x;
coord_type m_start_y;
typedef typename Conv::coord_type coord_type;
typedef rect_base<coord_type> rect_type;
void clip_box(coord_type x1, coord_type y1, coord_type x2, coord_type y2)
void move_to(coord_type x1, coord_type y1)
coord_type x1, coord_type y1,
coord_type x2, coord_type y2,
coord_type tx1 = x1;
coord_type ty1 = y1;
coord_type tx2 = x2;
coord_type ty2 = y2;
void line_to(Rasterizer& ras, coord_type x2, coord_type y2)
coord_type x1 = m_x1;
coord_type y1 = m_y1;
coord_type y3, y4;
coord_type m_x1;
coord_type m_y1;
void clip_box(coord_type x1, coord_type y1, coord_type x2, coord_type y2) {}
void move_to(coord_type x1, coord_type y1) { m_x1 = x1; m_y1 = y1; }
void line_to(Rasterizer& ras, coord_type x2, coord_type y2)
span(coord_type x_, coord_type len_) : x(x_), len(len_) {}
coord_type x;
coord_type len;
m_spans.add(span(coord_type(x), 1));
m_spans.last().len += coord_type(len);
m_spans.add(span(coord_type(x), coord_type(len)));
span(coord_type x_, coord_type len_, const cover_type* covers_) :
coord_type x;
coord_type len; // If negative, it's a solid span, covers is valid
m_spans.add(span(coord_type(x), 1, m_cover_ptr));
m_spans.last().len += coord_type(len);
m_spans.add(span(coord_type(x), coord_type(len), m_cover_ptr));
m_spans.last().len -= coord_type(len);
m_spans.add(span(coord_type(x), -coord_type(len), m_cover_ptr++));
coord_type x;
coord_type len; // If negative, it's a solid span, covers is valid
coord_type x;
coord_type len;
m_cur_span->x = (coord_type)(x + m_min_x);
m_cur_span->len += (coord_type)len;
m_cur_span->x = (coord_type)(x + m_min_x);
m_cur_span->len = (coord_type)len;
m_cur_span->len += (coord_type)len;
m_cur_span->x = (coord_type)(x + m_min_x);
m_cur_span->len = (coord_type)len;
typedef base_type::coord_type coord_type;
span(coord_type x_, coord_type len_, cover_type* covers_) :
coord_type x;
coord_type len;
m_spans.add(span(coord_type(x + m_min_x), 1, &m_covers[x]));
m_spans.last().len += coord_type(len);
m_spans.add(span(coord_type(x + m_min_x),
coord_type(len),
m_spans.last().len += coord_type(len);
m_spans.add(span(coord_type(x + m_min_x),
coord_type(len),
typedef base_type::coord_type coord_type;
void arrange_vertices(coord_type* coord) const
coord_type tmp;
coord_type m_coord[3];
coord_type coord[3];
typedef typename base_type::coord_type coord_type;
void init(const coord_type& c1, const coord_type& c2)
coord_type coord[3];
typedef typename base_type::coord_type coord_type;
void init(const coord_type& c1, const coord_type& c2)
coord_type() {}
coord_type(double x_, double y_) : x(x_), y(y_) {}
m_markers.modify_last(coord_type(x, y));
m_markers.add(coord_type(x, y));
m_markers.add(coord_type(x, y));
m_markers[m_markers.size() - 2] = coord_type(x, y);
const coord_type& c = m_markers[m_curr_idx];
typedef typename Clip::coord_type coord_type;
coord_type m_start_x;
coord_type m_start_y;
coord_type x;
coord_type len; // If negative, it's a solid span, covers is valid
coord_type x;
coord_type len; // If negative, it's a solid span, covers is valid
coord_type x;
coord_type len;
m_cur_span->x = (coord_type)(x + m_min_x);
m_cur_span->len += 3 * (coord_type)len;
m_cur_span->x = (coord_type)(x + m_min_x);
m_cur_span->len = 3 * (coord_type)len;
m_cur_span->x = (coord_type)(x + m_min_x);
m_cur_span->len += 3 * (coord_type)len;
m_cur_span->x = (coord_type)(x + m_min_x);
m_cur_span->len = 3 * (coord_type)len;
coord_type x;
coord_type len;