equal
deleted
inserted
replaced
196 |
196 |
197 QScanConverter scanConverter; |
197 QScanConverter scanConverter; |
198 }; |
198 }; |
199 |
199 |
200 QScanConverter::QScanConverter() |
200 QScanConverter::QScanConverter() |
201 : m_alloc(0) |
201 : m_lines(0) |
|
202 , m_alloc(0) |
202 , m_size(0) |
203 , m_size(0) |
203 , m_intersections(0) |
204 , m_intersections(0) |
|
205 , m_active(0) |
204 { |
206 { |
205 } |
207 } |
206 |
208 |
207 QScanConverter::~QScanConverter() |
209 QScanConverter::~QScanConverter() |
208 { |
210 { |
308 |
310 |
309 // should be a member function but VC6 doesn't support member template functions |
311 // should be a member function but VC6 doesn't support member template functions |
310 template <typename T> |
312 template <typename T> |
311 void qScanConvert(QScanConverter &d, T allVertical) |
313 void qScanConvert(QScanConverter &d, T allVertical) |
312 { |
314 { |
|
315 if (!d.m_lines.size()) { |
|
316 d.m_active.reset(); |
|
317 return; |
|
318 } |
313 qSort(d.m_lines.data(), d.m_lines.data() + d.m_lines.size(), QT_PREPEND_NAMESPACE(topOrder)); |
319 qSort(d.m_lines.data(), d.m_lines.data() + d.m_lines.size(), QT_PREPEND_NAMESPACE(topOrder)); |
314 int line = 0; |
320 int line = 0; |
315 for (int y = d.m_lines.first().top; y <= d.m_bottom; ++y) { |
321 for (int y = d.m_lines.first().top; y <= d.m_bottom; ++y) { |
316 for (; line < d.m_lines.size() && d.m_lines.at(line).top == y; ++line) { |
322 for (; line < d.m_lines.size() && d.m_lines.at(line).top == y; ++line) { |
317 // add node to active list |
323 // add node to active list |