diff options
author | François Revel <mmu_man@netsurf-browser.org> | 2008-10-05 15:41:24 +0000 |
---|---|---|
committer | François Revel <mmu_man@netsurf-browser.org> | 2008-10-05 15:41:24 +0000 |
commit | 022616ce99f65a02c6d818b0890b61048f1d973a (patch) | |
tree | 81499b6b5072ea4130e6948d531f8571c6b69417 /beos/beos_plotters.cpp | |
parent | ae7290a2e292bc0d7247730499471e9fd30493ca (diff) | |
download | netsurf-022616ce99f65a02c6d818b0890b61048f1d973a.tar.gz netsurf-022616ce99f65a02c6d818b0890b61048f1d973a.tar.bz2 |
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
Diffstat (limited to 'beos/beos_plotters.cpp')
-rw-r--r-- | beos/beos_plotters.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
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; |