diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2009-01-15 20:03:15 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2009-01-15 20:03:15 +0000 |
commit | e7a06713af9ebea06cb5fc0d60a42099905c52b5 (patch) | |
tree | 1077fbed5d4746158773fb9ef90f488916b236f4 /amiga/gui.c | |
parent | f7f19ab0ed568e431566ff992bb916dd5554e0e6 (diff) | |
download | netsurf-e7a06713af9ebea06cb5fc0d60a42099905c52b5.tar.gz netsurf-e7a06713af9ebea06cb5fc0d60a42099905c52b5.tar.bz2 |
Some redraw optimisations
svn path=/trunk/netsurf/; revision=6071
Diffstat (limited to 'amiga/gui.c')
-rwxr-xr-x | amiga/gui.c | 67 |
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; |