- irr::video::SColor col;
- if (!applied_colors.empty()) {
- col = applied_colors[i < applied_colors.size() ? i : 0];
- } else {
- col = irr::video::SColor(255, 255, 255, 255);
- }
+ ibegin = i;
+ colprev = page->render_colors[i];
+ do
+ ++i;
+ while (i < page->render_positions.size() && page->render_colors[i] == colprev);
+ core::array<core::vector2di> tmp_positions;
+ core::array<core::recti> tmp_source_rects;
+ tmp_positions.set_pointer(&page->render_positions[ibegin], i - ibegin, false, false); // no copy
+ tmp_source_rects.set_pointer(&page->render_source_rects[ibegin], i - ibegin, false, false);
+ --i;
+