summaryrefslogtreecommitdiff
path: root/beos/beos_window.cpp
diff options
context:
space:
mode:
authorFran├žois Revel <mmu_man@netsurf-browser.org>2008-10-01 21:04:32 +0000
committerFran├žois Revel <mmu_man@netsurf-browser.org>2008-10-01 21:04:32 +0000
commitd4c4800fec9608b982182398af6ac33a2e33aeae (patch)
tree6d6fa9c088d722af28c26580d1c1399e22f10509 /beos/beos_window.cpp
parentdcb33e9835cc9a3dba2049e6913e10e6b524d70f (diff)
downloadnetsurf-d4c4800fec9608b982182398af6ac33a2e33aeae.tar.gz
netsurf-d4c4800fec9608b982182398af6ac33a2e33aeae.tar.bz2
- iMissing knockout option to false
- Use Begin/EndViewTransaction() though it doesn't seem to help much reduce flicker - some fiddling with bitmaps svn path=/trunk/netsurf/; revision=5466
Diffstat (limited to 'beos/beos_window.cpp')
-rw-r--r--beos/beos_window.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/beos/beos_window.cpp b/beos/beos_window.cpp
index 1d03304a3..894b494fc 100644
--- a/beos/beos_window.cpp
+++ b/beos/beos_window.cpp
@@ -292,8 +292,20 @@ struct gui_window *gui_create_browser_window(struct browser_window *bw,
BRect frame(0,0,-1,-1); // will be resized later
g->view = new NSBrowserFrameView(frame, g);
/* set the default background colour of the drawing area to white. */
+ //g->view->SetViewColor(B_TRANSPARENT_COLOR);
g->view->SetViewColor(kWhiteColor);
- g->view->SetHighColor(kWhiteColor);
+ g->view->SetLowColor(kWhiteColor);
+
+#ifdef B_BEOS_VERSION_DANO
+ /* enable double-buffering on the content view */
+/*
+ XXX: doesn't really work
+ g->view->SetDoubleBuffering(B_UPDATE_INVALIDATED
+ | B_UPDATE_SCROLLED
+ //| B_UPDATE_RESIZED
+ | B_UPDATE_EXPOSED);
+*/
+#endif
if (bw->parent != NULL ) {
g->toplevel = false;
@@ -670,6 +682,9 @@ void nsbeos_window_expose_event(BView *view, gui_window *g, BMessage *message)
return;
nsbeos_current_gc_set(view);
+ if (view->Window())
+ view->Window()->BeginViewTransaction();
+
plot = nsbeos_plotters;
nsbeos_plot_set_scale(g->bw->scale);
content_redraw(c, 0, 0,
@@ -684,6 +699,9 @@ void nsbeos_window_expose_event(BView *view, gui_window *g, BMessage *message)
if (g->careth != 0)
nsbeos_plot_caret(g->caretx, g->carety, g->careth);
+ if (view->Window())
+ view->Window()->EndViewTransaction();
+
// reset clipping just in case
view->ConstrainClippingRegion(NULL);
nsbeos_current_gc_set(NULL);