*** empty log message ***
This commit is contained in:
parent
05ba02ebb4
commit
326e0cf80b
1 changed files with 24 additions and 23 deletions
47
src/scroll.c
47
src/scroll.c
|
@ -237,6 +237,7 @@ do_scrolling (screen, matrix, window_size, unchanged_at_top)
|
||||||
register struct matrix_elt *p;
|
register struct matrix_elt *p;
|
||||||
register int i, j;
|
register int i, j;
|
||||||
register struct screen_glyphs *current_screen;
|
register struct screen_glyphs *current_screen;
|
||||||
|
/* temp_screen->enable[i] means line i has been moved to current_screen. */
|
||||||
register struct screen_glyphs *temp_screen;
|
register struct screen_glyphs *temp_screen;
|
||||||
struct queue { int count, pos; } *queue;
|
struct queue { int count, pos; } *queue;
|
||||||
int offset = unchanged_at_top;
|
int offset = unchanged_at_top;
|
||||||
|
@ -487,11 +488,11 @@ line_ins_del (screen, ov1, pf1, ovn, pfn, ov, mf)
|
||||||
register int insert_overhead = ov1 * 10;
|
register int insert_overhead = ov1 * 10;
|
||||||
register int next_insert_cost = ovn * 10;
|
register int next_insert_cost = ovn * 10;
|
||||||
|
|
||||||
for (i = 0; i < screen_height; i++)
|
for (i = screen_height-1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
mf[screen_height - i] = next_insert_cost / 10;
|
mf[i] = next_insert_cost / 10;
|
||||||
next_insert_cost += pfn;
|
next_insert_cost += pfn;
|
||||||
ov[screen_height - i] = (insert_overhead + next_insert_cost) / 10;
|
ov[i] = (insert_overhead + next_insert_cost) / 10;
|
||||||
insert_overhead += pf1;
|
insert_overhead += pf1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -568,29 +569,29 @@ do_line_insertion_deletion_costs (screen,
|
||||||
{
|
{
|
||||||
if (SCREEN_INSERT_COST (screen) != 0)
|
if (SCREEN_INSERT_COST (screen) != 0)
|
||||||
{
|
{
|
||||||
SCREEN_INSERT_COST (screen)
|
SCREEN_INSERT_COST (screen) =
|
||||||
= (int *) xrealloc (SCREEN_INSERT_COST (screen),
|
(int *) xrealloc (SCREEN_INSERT_COST (screen),
|
||||||
SCREEN_HEIGHT (screen) * sizeof (int));
|
SCREEN_HEIGHT (screen) * sizeof (int));
|
||||||
SCREEN_DELETEN_COST (screen)
|
SCREEN_DELETEN_COST (screen) =
|
||||||
= (int *) xrealloc (SCREEN_DELETEN_COST (screen),
|
(int *) xrealloc (SCREEN_DELETEN_COST (screen),
|
||||||
SCREEN_HEIGHT (screen) * sizeof (int));
|
SCREEN_HEIGHT (screen) * sizeof (int));
|
||||||
SCREEN_INSERTN_COST (screen)
|
SCREEN_INSERTN_COST (screen) =
|
||||||
= (int *) xrealloc (SCREEN_INSERTN_COST (screen),
|
(int *) xrealloc (SCREEN_INSERTN_COST (screen),
|
||||||
SCREEN_HEIGHT (screen) * sizeof (int));
|
SCREEN_HEIGHT (screen) * sizeof (int));
|
||||||
SCREEN_DELETE_COST (screen)
|
SCREEN_DELETE_COST (screen) =
|
||||||
= (int *) xrealloc (SCREEN_DELETE_COST (screen),
|
(int *) xrealloc (SCREEN_DELETE_COST (screen),
|
||||||
SCREEN_HEIGHT (screen) * sizeof (int));
|
SCREEN_HEIGHT (screen) * sizeof (int));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SCREEN_INSERT_COST (screen)
|
SCREEN_INSERT_COST (screen) =
|
||||||
= (int *) xmalloc (SCREEN_HEIGHT (screen) * sizeof (int));
|
(int *) xmalloc (SCREEN_HEIGHT (screen) * sizeof (int));
|
||||||
SCREEN_DELETEN_COST (screen)
|
SCREEN_DELETEN_COST (screen) =
|
||||||
= (int *) xmalloc (SCREEN_HEIGHT (screen) * sizeof (int));
|
(int *) xmalloc (SCREEN_HEIGHT (screen) * sizeof (int));
|
||||||
SCREEN_INSERTN_COST (screen)
|
SCREEN_INSERTN_COST (screen) =
|
||||||
= (int *) xmalloc (SCREEN_HEIGHT (screen) * sizeof (int));
|
(int *) xmalloc (SCREEN_HEIGHT (screen) * sizeof (int));
|
||||||
SCREEN_DELETE_COST (screen)
|
SCREEN_DELETE_COST (screen) =
|
||||||
= (int *) xmalloc (SCREEN_HEIGHT (screen) * sizeof (int));
|
(int *) xmalloc (SCREEN_HEIGHT (screen) * sizeof (int));
|
||||||
}
|
}
|
||||||
|
|
||||||
ins_del_costs (screen,
|
ins_del_costs (screen,
|
||||||
|
|
Loading…
Add table
Reference in a new issue