diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2013-01-06 00:21:15 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2013-01-06 00:21:15 +0000 |
commit | cc321d5f63a526aab5a93bc3269736ac14bd92f7 (patch) | |
tree | c5ce03447b18e6baea21d7dae155366dc9da67e0 /amiga/gui.c | |
parent | 3dff750ae22185c2ee7bb6f5bc7e06d84267b9b9 (diff) | |
download | netsurf-cc321d5f63a526aab5a93bc3269736ac14bd92f7.tar.gz netsurf-cc321d5f63a526aab5a93bc3269736ac14bd92f7.tar.bz2 |
Track the mouse pointer on a per-window basis
Diffstat (limited to 'amiga/gui.c')
-rwxr-xr-x | amiga/gui.c | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/amiga/gui.c b/amiga/gui.c index 0c31c7f68..2bf9dde70 100755 --- a/amiga/gui.c +++ b/amiga/gui.c @@ -1435,7 +1435,7 @@ void ami_handle_msg(void) { ami_context_menu_mouse_trap(gwin, FALSE); - if(!gwin->mouse_state) ami_update_pointer(gwin->win, GUI_POINTER_DEFAULT, false); + if(!gwin->mouse_state) ami_set_pointer(gwin, GUI_POINTER_DEFAULT, true); } break; @@ -3600,11 +3600,7 @@ void ami_do_redraw_tiled(struct gui_window_2 *gwin, int tile_x_scale = (int)(nsoption_int(redraw_tile_size_x) / gwin->bw->scale); int tile_y_scale = (int)(nsoption_int(redraw_tile_size_y) / gwin->bw->scale); - /* Set the busy pointer. We intentionally don't use ami_update_pointer here. */ - SetWindowPointer(gwin->win, - WA_BusyPointer, TRUE, - WA_PointerDelay, TRUE, - TAG_DONE); + ami_set_pointer(gwin, GUI_POINTER_WAIT, false); browserglob.shared_pens = &gwin->shared_pens; @@ -3674,7 +3670,7 @@ void ami_do_redraw_tiled(struct gui_window_2 *gwin, } } - ami_reset_pointer(gwin->win); + ami_reset_pointer(gwin); } @@ -3852,19 +3848,15 @@ void ami_do_redraw(struct gui_window_2 *gwin) clip.x1 = bbox->Left + bbox->Width; clip.y1 = bbox->Top + bbox->Height; - /* Set the busy pointer. We intentionally don't use ami_update_pointer here. */ - SetWindowPointer(gwin->win, - WA_BusyPointer, TRUE, - WA_PointerDelay, TRUE, - TAG_DONE); - + ami_set_pointer(gwin, GUI_POINTER_WAIT, false); + if(browser_window_redraw(gwin->bw, clip.x0 - hcurrent, clip.y0 - vcurrent, &clip, &ctx)) { ami_clearclipreg(&browserglob); browserglob.rp = temprp; } - ami_reset_pointer(gwin->win); + ami_reset_pointer(gwin); } } |