From cc321d5f63a526aab5a93bc3269736ac14bd92f7 Mon Sep 17 00:00:00 2001 From: Chris Young Date: Sun, 6 Jan 2013 00:21:15 +0000 Subject: Track the mouse pointer on a per-window basis --- amiga/gui.c | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) (limited to 'amiga/gui.c') 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); } } -- cgit v1.2.3