diff options
author | Vincent Sanders <vince@kyllikki.org> | 2014-06-30 16:40:56 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2014-07-01 09:27:20 +0100 |
commit | 18aefabd20a16dda9ed5363088f0da5ada0d4431 (patch) | |
tree | 9447e1e0edb1d93b8ad575472e67bf7f844c5ca3 /beos/window.cpp | |
parent | 06eb81235d975bc7721719d25ac114b4ab2c94da (diff) | |
download | netsurf-18aefabd20a16dda9ed5363088f0da5ada0d4431.tar.gz netsurf-18aefabd20a16dda9ed5363088f0da5ada0d4431.tar.bz2 |
change reformat to be driven from the scheduler like redraw
Diffstat (limited to 'beos/window.cpp')
-rw-r--r-- | beos/window.cpp | 54 |
1 files changed, 21 insertions, 33 deletions
diff --git a/beos/window.cpp b/beos/window.cpp index 8975c1871..d27bca758 100644 --- a/beos/window.cpp +++ b/beos/window.cpp @@ -883,9 +883,7 @@ void nsbeos_window_resize_event(BView *view, gui_window *g, BMessage *event) width++; height++; - - g->bw->reformat_pending = true; - browser_reformat_pending = true; + browser_window_schedule_reformat(g->bw); return; } @@ -901,51 +899,40 @@ void nsbeos_window_moved_event(BView *view, gui_window *g, BMessage *event) //view->Invalidate(view->Bounds()); view->UnlockLooper(); - //g->bw->reformat_pending = true; - //browser_reformat_pending = true; - - return; } void nsbeos_reflow_all_windows(void) { - for (struct gui_window *g = window_list; g; g = g->next) - g->bw->reformat_pending = true; - - browser_reformat_pending = true; + for (struct gui_window *g = window_list; g; g = g->next) { + browser_window_schedule_reformat(g->bw); + } } + /** - * Process pending reformats + * callback from core to reformat a window. */ - -void nsbeos_window_process_reformats(void) +static void beos_window_reformat(struct gui_window *g) { - struct gui_window *g; - - browser_reformat_pending = false; - for (g = window_list; g; g = g->next) { - NSBrowserFrameView *view = g->view; - if (!g->bw->reformat_pending) - continue; - if (!view || !view->LockLooper()) - continue; - g->bw->reformat_pending = false; - BRect bounds = view->Bounds(); - view->UnlockLooper(); + if (g == NULL) { + return; + } + + NSBrowserFrameView *view = g->view; + if (view && view->LockLooper()) { + BRect bounds = view->Bounds(); + view->UnlockLooper(); #warning XXX why - 1 & - 2 !??? - browser_window_reformat(g->bw, - false, - bounds.Width() + 1 /* - 2*/, - bounds.Height() + 1); - } - + browser_window_reformat(g->bw, + false, + bounds.Width() + 1 /* - 2*/, + bounds.Height() + 1); + } } - void nsbeos_window_destroy_browser(struct gui_window *g) { browser_window_destroy(g->bw); @@ -1356,6 +1343,7 @@ static struct gui_window_table window_table = { gui_window_set_scroll, gui_window_get_dimensions, gui_window_update_extent, + beos_window_reformat, /* from scaffold */ gui_window_set_title, |