Fix scaled fast scrolling. Curiously this has solved the form select menu

problem :S

svn path=/trunk/netsurf/; revision=13505
This commit is contained in:
Chris Young 2012-03-03 15:50:05 +00:00
parent 2cd44ec454
commit 3db30dfd84
2 changed files with 14 additions and 14 deletions

View File

@ -45,7 +45,7 @@ There are a couple of Amiga-specific options which can only be changed directly
@{b}cairo_renderer@{ub} Set rendering engine (SObjs version only). 0 = graphics.library, 1 = Cairo/graphics.library mixed (recommended), 2 = Full Cairo. @{b}cairo_renderer@{ub} Set rendering engine (SObjs version only). 0 = graphics.library, 1 = Cairo/graphics.library mixed (recommended), 2 = Full Cairo.
@{b}monitor_aspect_x@{ub}/@{b}monitor_aspect_y@{ub} Correct aspect ratio for displays (default of 0 means "assume square pixels"). @{b}monitor_aspect_x@{ub}/@{b}monitor_aspect_y@{ub} Correct aspect ratio for displays (default of 0 means "assume square pixels").
@{b}screen_compositing@{ub} Use compositing on NetSurf's own screen. 0=disable, 1=enable, 2=default @{b}screen_compositing@{ub} Use compositing on NetSurf's own screen. 0=disable, 1=enable, 2=default
@{b}redraw_tile_size@{ub} Specify the size of the off-screen bitmap. Higher will speed up redraws at the expense of memory. 0 disables tiling (will use a bitmap at least the size of the screen NetSurf is running on - not recommended) @{b}redraw_tile_size_x@{ub}/@{b}redraw_tile_size_y@{ub} Specify the size of the off-screen bitmap. Higher will speed up redraws at the expense of memory. 0 disables tiling (will use a bitmap at least the size of the screen NetSurf is running on)
@{b}url_file@{ub} Path to URL database file @{b}url_file@{ub} Path to URL database file
@{b}hotlist_file@{ub} Path to Hotlist file @{b}hotlist_file@{ub} Path to Hotlist file
@ -265,7 +265,7 @@ Deselect @{b}Higher quality scaling@{ub}, this will be very slow if not done in
@{lindent 2}* In @{"Options" link Options}, set cairo_renderer:1@{lindent} @{lindent 2}* In @{"Options" link Options}, set cairo_renderer:1@{lindent}
@{lindent 2}* In @{"Options" link Options}, increase redraw_tile_size. (increasing this value uses more graphics mem)@{lindent} @{lindent 2}* In @{"Options" link Options}, increase redraw_tile_size_x/y (increasing this value uses more graphics mem)@{lindent}
@endnode @endnode
@node contact "Credits" @node contact "Credits"

View File

@ -3400,7 +3400,7 @@ void ami_do_redraw(struct gui_window_2 *g)
if(g->new_content) g->redraw_scroll = false; if(g->new_content) g->redraw_scroll = false;
if(g->bw->scale != 1.0) g->redraw_scroll = false; //if(g->bw->scale != 1.0) g->redraw_scroll = false;
} }
if(g->redraw_scroll) if(g->redraw_scroll)
@ -3416,30 +3416,30 @@ void ami_do_redraw(struct gui_window_2 *g)
if(vcurrent>oldv) if(vcurrent>oldv)
{ {
ami_do_redraw_limits(g->bw->window, g->bw, ami_do_redraw_limits(g->bw->window, g->bw,
hcurrent / g->bw->scale, (height + oldv - 1) / g->bw->scale, hcurrent, (height / g->bw->scale) + oldv - 1,
(hcurrent + width) / g->bw->scale, hcurrent + (width / g->bw->scale),
(vcurrent + height + 1) / g->bw->scale); vcurrent + (height / g->bw->scale) + 1);
} }
else if(vcurrent<oldv) else if(vcurrent<oldv)
{ {
ami_do_redraw_limits(g->bw->window, g->bw, ami_do_redraw_limits(g->bw->window, g->bw,
hcurrent / g->bw->scale, vcurrent / g->bw->scale, hcurrent, vcurrent,
(hcurrent + width) / g->bw->scale, hcurrent + (width / g->bw->scale),
oldv / g->bw->scale); oldv);
} }
if(hcurrent>oldh) if(hcurrent>oldh)
{ {
ami_do_redraw_limits(g->bw->window, g->bw, ami_do_redraw_limits(g->bw->window, g->bw,
(width + oldh) / g->bw->scale, vcurrent / g->bw->scale, (width / g->bw->scale) + oldh , vcurrent,
(hcurrent + width) / g->bw->scale, hcurrent + (width / g->bw->scale),
(vcurrent + height) / g->bw->scale); vcurrent + (height / g->bw->scale));
} }
else if(hcurrent<oldh) else if(hcurrent<oldh)
{ {
ami_do_redraw_limits(g->bw->window, g->bw, ami_do_redraw_limits(g->bw->window, g->bw,
hcurrent / g->bw->scale, vcurrent / g->bw->scale, hcurrent, vcurrent,
oldh / g->bw->scale, (vcurrent + height) / g->bw->scale); oldh, vcurrent + (height / g->bw->scale));
} }
} }
else else