251 |
if (update_all_p) { |
if (update_all_p) { |
252 |
SDL_UpdateRect(get_surface(), 0, 0, 0, 0); // update everything |
SDL_UpdateRect(get_surface(), 0, 0, 0, 0); // update everything |
253 |
update_all_p=false; |
update_all_p=false; |
|
// printf("updating complete screen\n"); |
|
254 |
} |
} |
255 |
else if (!m_dirtyrects.empty()) { |
else if (!m_dirtyrects.empty()) { |
256 |
m_dirtyrects.intersect(Rect(0, 0, width(), height())); |
m_dirtyrects.intersect(Rect(0, 0, width(), height())); |
258 |
vector<SDL_Rect> rects(m_dirtyrects.size()); |
vector<SDL_Rect> rects(m_dirtyrects.size()); |
259 |
|
|
260 |
RectList::iterator j=m_dirtyrects.begin();; |
RectList::iterator j=m_dirtyrects.begin();; |
|
// for (i=m_dirtyrects.begin(); i != m_dirtyrects.end(); ++i) |
|
261 |
for (unsigned i=0; i<rects.size(); ++i, ++j) |
for (unsigned i=0; i<rects.size(); ++i, ++j) |
262 |
sdl::fill_rect (rects[i], *j); |
sdl::copy_rect (rects[i], *j); |
|
// RectList::iterator i; |
|
|
// for (i=m_dirtyrects.begin(); i != m_dirtyrects.end(); ++i) |
|
263 |
SDL_UpdateRects(get_surface(), rects.size(), &rects[0]); |
SDL_UpdateRects(get_surface(), rects.size(), &rects[0]); |
|
//i->x, i->y, i->w, i->h); |
|
264 |
} |
} |
265 |
m_dirtyrects.clear(); |
m_dirtyrects.clear(); |
266 |
} |
} |