From 022616ce99f65a02c6d818b0890b61048f1d973a Mon Sep 17 00:00:00 2001 From: François Revel Date: Sun, 5 Oct 2008 15:41:24 +0000 Subject: Fix the white flickering and bad redraws (text too dark due to being drawn twice), by setting the ViewColor to transparent (avoiding app_server to draw it), and doing it ourselves in plot_clg() just before drawing the rest. svn path=/trunk/netsurf/; revision=5486 --- beos/beos_plotters.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'beos/beos_plotters.cpp') diff --git a/beos/beos_plotters.cpp b/beos/beos_plotters.cpp index dfcfc71d7..86667cd98 100644 --- a/beos/beos_plotters.cpp +++ b/beos/beos_plotters.cpp @@ -143,6 +143,20 @@ void nsbeos_current_gc_set(BView *view) bool nsbeos_plot_clg(colour c) { #warning BView::Invalidate() ? + + BView *view; + + view = nsbeos_current_gc/*_lock*/(); + if (view == NULL) { + warn_user("No GC", 0); + return false; + } + + nsbeos_set_colour(c); + view->FillRect(view->Bounds()); + + //nsbeos_current_gc_unlock(); + return true; } @@ -596,10 +610,12 @@ bool nsbeos_plot_bitmap_tile(int x, int y, int width, int height, pretiled = nsbeos_bitmap_get_pretile_y(bitmap); primary = nsbeos_bitmap_get_primary(bitmap); /* use the primary and pretiled widths to scale the w/h provided */ +printf("plot_tile: -> %dx%d\n", width, height); width *= pretiled->Bounds().Width() + 1; width /= primary->Bounds().Width() + 1; height *= pretiled->Bounds().Height() + 1; height /= primary->Bounds().Height() + 1; +printf("plot_tile: -> %dx%d\n", width, height); BView *view; -- cgit v1.2.3