sixel_draw: break out of loop faster #1527

pull/1567/head
nick black 3 years ago
parent c875eb4544
commit 317cbb3fdb
No known key found for this signature in database
GPG Key ID: 5F43400C21CBFACC

@ -525,12 +525,10 @@ int sixel_delete(const notcurses* nc, const ncpile* p, FILE* out, sprixel* s){
int sixel_draw(const notcurses* n, const ncpile* p, sprixel* s, FILE* out){
(void)n;
if(s->invalidated == SPRIXEL_MOVED){
for(int yy = s->movedfromy ; yy < s->movedfromy + s->dimy ; ++yy){
for(int xx = s->movedfromx ; xx < s->movedfromx + s->dimx ; ++xx){
for(int yy = s->movedfromy ; yy < s->movedfromy + s->dimy && yy < p->dimy ; ++yy){
for(int xx = s->movedfromx ; xx < s->movedfromx + s->dimx && xx < p->dimx ; ++xx){
//fprintf(stderr, "DAMAGING DUE TO MOVE: %d/%d (%d)\n", yy, xx, yy * p->dimx + xx);
if(xx < p->dimx && yy < p->dimy){
p->crender[yy * p->dimx + xx].s.damaged = 1;
}
p->crender[yy * p->dimx + xx].s.damaged = 1;
}
}
s->invalidated = SPRIXEL_INVALIDATED;

Loading…
Cancel
Save