summaryrefslogtreecommitdiff
path: root/beos/beos_window.cpp
diff options
context:
space:
mode:
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);