version 1.23, 2012/07/10 11:53:01 |
version 1.24, 2013/02/05 11:08:59 |
|
|
|
|
/* Resize screen. */ |
/* Resize screen. */ |
void |
void |
screen_resize(struct screen *s, u_int sx, u_int sy) |
screen_resize(struct screen *s, u_int sx, u_int sy, int reflow) |
{ |
{ |
if (sx < 1) |
if (sx < 1) |
sx = 1; |
sx = 1; |
|
|
|
|
if (sy != screen_size_y(s)) |
if (sy != screen_size_y(s)) |
screen_resize_y(s, sy); |
screen_resize_y(s, sy); |
|
|
|
if (reflow) |
|
screen_reflow(s, sx); |
} |
} |
|
|
void |
void |
|
|
} |
} |
|
|
return (1); |
return (1); |
|
} |
|
|
|
/* Reflow wrapped lines. */ |
|
void |
|
screen_reflow(struct screen *s, u_int sx) |
|
{ |
|
struct grid *old, *new; |
|
|
|
old = s->grid; |
|
new = grid_create(old->sx, old->sy, old->hlimit); |
|
|
|
s->cy -= grid_reflow(new, old, sx); |
|
s->grid = new; |
|
|
|
grid_destroy(old); |
} |
} |