summaryrefslogtreecommitdiff
path: root/atari
diff options
context:
space:
mode:
authorOle Loots <ole@monochrom.net>2012-12-06 01:07:11 +0100
committerOle Loots <ole@monochrom.net>2012-12-06 01:07:11 +0100
commit5d2ac2ecace0971ce2737f4169b62b56a2ca3a2a (patch)
treea3dac7bcb19d6deed8ba2bba8200327f597ac18c /atari
parent395f161eb520b7d1b662966f03919a7eeca29fe3 (diff)
downloadnetsurf-5d2ac2ecace0971ce2737f4169b62b56a2ca3a2a.tar.gz
netsurf-5d2ac2ecace0971ce2737f4169b62b56a2ca3a2a.tar.bz2
Only schedule on-screen redraw areas, and do not substract
scrolling positions from scheduled area.
Diffstat (limited to 'atari')
-rwxr-xr-xatari/gui.c6
-rwxr-xr-xatari/rootwin.c3
2 files changed, 5 insertions, 4 deletions
diff --git a/atari/gui.c b/atari/gui.c
index cecf15dee..e4fd08ce0 100755
--- a/atari/gui.c
+++ b/atari/gui.c
@@ -375,9 +375,8 @@ void gui_window_update_box(struct gui_window *gw, const struct rect *rect)
slid = guiwin_get_scroll_info(gw->root->win);
guiwin_get_grect(gw->root->win, GUIWIN_AREA_CONTENT, &area);
-
- area.g_x += rect->x0 - slid->x_pos * slid->x_unit_px;
- area.g_y += rect->y0 - slid->y_pos * slid->y_unit_px;
+ area.g_x += rect->x0;
+ area.g_y += rect->y0;
area.g_w = rect->x1 - rect->x0;
area.g_h = rect->y1 - rect->y0;
window_schedule_redraw_grect(gw->root, &area);
@@ -444,6 +443,7 @@ void gui_window_update_extent(struct gui_window *gw)
);
window_update_back_forward(gw->root);
GRECT area;
+ printf("update extent\n");
guiwin_get_grect(gw->root->win, GUIWIN_AREA_CONTENT, &area);
window_schedule_redraw_grect(gw->root, &area);
}
diff --git a/atari/rootwin.c b/atari/rootwin.c
index 824317a25..5dcb47f61 100755
--- a/atari/rootwin.c
+++ b/atari/rootwin.c
@@ -596,7 +596,8 @@ void window_schedule_redraw_grect(ROOTWIN *rootwin, GRECT *area)
//dbg_grect("window_schedule_redraw_grect input ", area);
guiwin_get_grect(rootwin->win, GUIWIN_AREA_WORK, &work);
- rc_intersect(area, &work);
+ if(!rc_intersect(area, &work))
+ return;
//dbg_grect("window_schedule_redraw_grect intersection ", &work);