From 2d854c549ca1469d3b9303c4f2e108f1964ab531 Mon Sep 17 00:00:00 2001 From: Chris Young Date: Sat, 28 Apr 2012 23:23:29 +0000 Subject: Make simple refresh a configurable option svn path=/trunk/netsurf/; revision=13896 --- amiga/gui.c | 54 ++++++++++++++++++------------------------------------ amiga/options.h | 3 +++ 2 files changed, 21 insertions(+), 36 deletions(-) (limited to 'amiga') diff --git a/amiga/gui.c b/amiga/gui.c index a52f9d645..5d71d7bc5 100755 --- a/amiga/gui.c +++ b/amiga/gui.c @@ -2475,6 +2475,7 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw, char closetab[100],closetab_s[100],closetab_g[100]; char addtab[100],addtab_s[100],addtab_g[100]; char tabthrobber[100]; + ULONG refresh_mode = WA_SmartRefresh; if (!scrn) ami_openscreenfirst(); @@ -2577,6 +2578,12 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw, newprefs_hook.h_Entry = (void *)ami_gui_newprefs_hook; newprefs_hook.h_Data = 0; + if(nsoption_bool(window_simple_refresh) == true) { + refresh_mode = WA_SimpleRefresh; + } else { + refresh_mode = WA_SmartRefresh; + } + if(!nsoption_bool(kiosk_mode)) { ULONG addtabclosegadget = TAG_IGNORE; @@ -2703,29 +2710,20 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw, WA_Height,curh, WA_CustomScreen,scrn, WA_ReportMouse,TRUE, -#ifdef AMI_SIMPLEREFRESH - WA_SimpleRefresh,TRUE, -#else - WA_SmartRefresh,TRUE, -#endif + refresh_mode, TRUE, WA_SizeBBottom, TRUE, WA_IDCMP,IDCMP_MENUPICK | IDCMP_MOUSEMOVE | IDCMP_MOUSEBUTTONS | IDCMP_NEWSIZE | IDCMP_RAWKEY | IDCMP_SIZEVERIFY | IDCMP_GADGETUP | IDCMP_IDCMPUPDATE | -#ifdef AMI_SIMPLEREFRESH IDCMP_REFRESHWINDOW | -#endif IDCMP_ACTIVEWINDOW | IDCMP_EXTENDEDMOUSE, WINDOW_IconifyGadget, iconifygadget, WINDOW_NewMenu, gwin->shared->menu, WINDOW_VertProp,1, WINDOW_NewPrefsHook,&newprefs_hook, WINDOW_IDCMPHook,&gwin->shared->scrollerhook, - WINDOW_IDCMPHookBits, IDCMP_IDCMPUPDATE | -#ifdef AMI_SIMPLEREFRESH - IDCMP_REFRESHWINDOW | -#endif + WINDOW_IDCMPHookBits, IDCMP_IDCMPUPDATE | IDCMP_REFRESHWINDOW | IDCMP_EXTENDEDMOUSE | IDCMP_SIZEVERIFY, WINDOW_SharedPort,sport, WINDOW_BuiltInScroll,TRUE, @@ -2904,17 +2902,19 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw, WA_Width, scrn->Width, WA_Height, scrn->Height, WA_SizeGadget, FALSE, - WA_CustomScreen,scrn, - WA_ReportMouse,TRUE, - WA_IDCMP,IDCMP_MENUPICK | IDCMP_MOUSEMOVE | + WA_CustomScreen, scrn, + WA_ReportMouse, TRUE, + refresh_mode, TRUE, + WA_IDCMP, IDCMP_MENUPICK | IDCMP_MOUSEMOVE | IDCMP_MOUSEBUTTONS | IDCMP_NEWSIZE | - IDCMP_RAWKEY | // IDCMP_INTUITICKS | + IDCMP_RAWKEY | IDCMP_REFRESHWINDOW | IDCMP_GADGETUP | IDCMP_IDCMPUPDATE | IDCMP_EXTENDEDMOUSE, WINDOW_HorizProp,1, WINDOW_VertProp,1, WINDOW_IDCMPHook,&gwin->shared->scrollerhook, - WINDOW_IDCMPHookBits,IDCMP_IDCMPUPDATE | IDCMP_EXTENDEDMOUSE, + WINDOW_IDCMPHookBits, IDCMP_IDCMPUPDATE | + IDCMP_EXTENDEDMOUSE | IDCMP_REFRESHWINDOW, WINDOW_SharedPort,sport, WINDOW_UserData,gwin->shared, WINDOW_BuiltInScroll,TRUE, @@ -3527,11 +3527,10 @@ void ami_do_redraw(struct gui_window_2 *g) g->new_content = false; } -#if AMI_SIMPLEREFRESH -// simplerefresh only - void ami_refresh_window(struct gui_window_2 *gwin) { + /* simplerefresh only */ + struct IBox *bbox; int x0, x1, y0, y1, sx, sy; struct RegionRectangle *regrect, *nregrect; @@ -3572,22 +3571,8 @@ void ami_refresh_window(struct gui_window_2 *gwin) ami_do_redraw_limits(gwin->bw->window, gwin->bw, x0, y0, x1, y1); } -/* quick refresh - scuppered by shared offscreen bitmap - BltBitMapTags(BLITA_SrcType, BLITT_BITMAP, - BLITA_Source, browserglob.bm, - BLITA_SrcX, 0, - BLITA_SrcY, 0, - BLITA_DestType, BLITT_RASTPORT, - BLITA_Dest, gwin->win->RPort, - BLITA_DestX, bbox->Left, - BLITA_DestY, bbox->Top, - BLITA_Width, bbox->Width, - BLITA_Height, bbox->Height, - TAG_DONE); -*/ EndRefresh(gwin->win, TRUE); } -#endif void ami_get_hscroll_pos(struct gui_window_2 *gwin, ULONG *xs) { @@ -4051,16 +4036,13 @@ void ami_scroller_hook(struct Hook *hook,Object *object,struct IntuiMessage *msg case IDCMP_SIZEVERIFY: break; -#ifdef AMI_SIMPLEREFRESH case IDCMP_REFRESHWINDOW: -//printf("refreshing\n"); ami_refresh_window(gwin); break; default: printf("UNHANDLED EVENT %ld\n",msg->Class); break; -#endif } // ReplyMsg((struct Message *)msg); } diff --git a/amiga/options.h b/amiga/options.h index baaca9a0f..c686108b1 100644 --- a/amiga/options.h +++ b/amiga/options.h @@ -70,6 +70,7 @@ int cookies_window_ysize; \ int cairo_renderer; \ bool direct_render; \ + bool window_simple_refresh; \ int redraw_tile_size_x; \ int redraw_tile_size_y; \ int monitor_aspect_x; \ @@ -125,6 +126,7 @@ .cookies_window_ysize = 0, \ .cairo_renderer = 1, \ .direct_render = false, \ + .window_simple_refresh = false, \ .redraw_tile_size_x = 400, \ .redraw_tile_size_y = 150, \ .monitor_aspect_x = 0, \ @@ -179,6 +181,7 @@ { "cookies_window_ysize", OPTION_INTEGER, &nsoptions.cookies_window_ysize}, \ { "cairo_renderer", OPTION_INTEGER, &nsoptions.cairo_renderer}, \ { "direct_render", OPTION_BOOL, &nsoptions.direct_render}, \ +{ "window_simple_refresh", OPTION_BOOL, &nsoptions.window_simple_refresh}, \ { "redraw_tile_size_x", OPTION_INTEGER, &nsoptions.redraw_tile_size_x}, \ { "redraw_tile_size_y", OPTION_INTEGER, &nsoptions.redraw_tile_size_y}, \ { "monitor_aspect_x", OPTION_INTEGER, &nsoptions.monitor_aspect_x}, \ -- cgit v1.2.3