summaryrefslogtreecommitdiff
path: root/amiga
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2009-01-15 20:03:15 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2009-01-15 20:03:15 +0000
commite7a06713af9ebea06cb5fc0d60a42099905c52b5 (patch)
tree1077fbed5d4746158773fb9ef90f488916b236f4 /amiga
parentf7f19ab0ed568e431566ff992bb916dd5554e0e6 (diff)
downloadnetsurf-e7a06713af9ebea06cb5fc0d60a42099905c52b5.tar.gz
netsurf-e7a06713af9ebea06cb5fc0d60a42099905c52b5.tar.bz2
Some redraw optimisations
svn path=/trunk/netsurf/; revision=6071
Diffstat (limited to 'amiga')
-rwxr-xr-xamiga/gui.c67
1 files changed, 38 insertions, 29 deletions
diff --git a/amiga/gui.c b/amiga/gui.c
index f545f9e62..88a7d74e9 100755
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -2055,24 +2055,24 @@ void ami_do_redraw(struct gui_window_2 *g,bool scroll)
// if (c->type == CONTENT_HTML) scale = 1;
- if(scroll)
- {
- BltBitMapRastPort(glob.bm,hcurrent-oldh,vcurrent-oldv,g->win->RPort,xoffset,yoffset,width-(hcurrent-oldh),height-(vcurrent-oldv),0x0C0);
-
- content_redraw(c, -hcurrent /* * g->bw->scale */,
- -vcurrent /* * g->bw->scale */,
- width /* * g->bw->scale */,
- height /* * g->bw->scale */,
- width-(hcurrent-oldh),height-(vcurrent-oldv),c->width /* * g->bw->scale */,
- c->height /* * g->bw->scale */,
- g->bw->scale,0xFFFFFF);
-
- BltBitMapRastPort(glob.bm,width-(hcurrent-oldh),height-(vcurrent-oldv),g->win->RPort,xoffset+(width-(hcurrent-oldh)),yoffset+(width-(hcurrent-oldh)),width,height,0x0C0);
- }
- else
+ if(c->type == CONTENT_HTML)
{
+ if(scroll)
+ {
+ BltBitMapRastPort(glob.bm,hcurrent-oldh,vcurrent-oldv,g->win->RPort,xoffset,yoffset,width-(hcurrent-oldh),height-(vcurrent-oldv),0x0C0); // this needs to be an overlap blit
+
+ content_redraw(c, -hcurrent /* * g->bw->scale */,
+ -vcurrent /* * g->bw->scale */,
+ width /* * g->bw->scale */,
+ height /* * g->bw->scale */,
+ width-(hcurrent-oldh),height-(vcurrent-oldv),c->width /* * g->bw->scale */,
+ c->height /* * g->bw->scale */,
+ g->bw->scale,0xFFFFFF);
+ }
+ else
+ {
- ami_clg(0xffffff);
+ ami_clg(0xffffff);
/* temp get it to redraw everything ***
if(g->redraw_data)
@@ -2093,22 +2093,31 @@ void ami_do_redraw(struct gui_window_2 *g,bool scroll)
else
{
*/
- content_redraw(c, -hcurrent /* * g->bw->scale */,
- -vcurrent /* * g->bw->scale */,
- width /* * g->bw->scale */,
- height /* * g->bw->scale */,
- 0,0,c->width /* * g->bw->scale */,
- c->height /* * g->bw->scale */,
- g->bw->scale,0xFFFFFF);
-
-// }
+ content_redraw(c, -hcurrent /* * g->bw->scale */,
+ -vcurrent /* * g->bw->scale */,
+ width-hcurrent /* * g->bw->scale */,
+ height-vcurrent /* * g->bw->scale */,
+ 0,0,width /* * g->bw->scale */,
+ height /* * g->bw->scale */,
+ g->bw->scale,0xFFFFFF);
+ }
+ }
+ else
+ {
+ content_redraw(c, -hcurrent /* * g->bw->scale */,
+ -vcurrent /* * g->bw->scale */,
+ width-hcurrent /* * g->bw->scale */,
+ height-vcurrent /* * g->bw->scale */,
+ 0,0,c->width /* * g->bw->scale */,
+ c->height /* * g->bw->scale */,
+ g->bw->scale,0xFFFFFF);
+ }
- current_redraw_browser = NULL;
+ current_redraw_browser = NULL;
- ami_update_buttons(g);
+ ami_update_buttons(g);
- BltBitMapRastPort(glob.bm,0,0,g->win->RPort,xoffset,yoffset,width,height,0x0C0);
- }
+ BltBitMapRastPort(glob.bm,0,0,g->win->RPort,xoffset,yoffset,width,height,0x0C0);
g->oldh = hcurrent;
g->oldv = vcurrent;