diff options
| author | Matthias Melcher <fltk@matthiasm.com> | 2016-03-13 23:03:42 +0000 |
|---|---|---|
| committer | Matthias Melcher <fltk@matthiasm.com> | 2016-03-13 23:03:42 +0000 |
| commit | 5c3c42f464d05b4e1885a512ed02bb7c5a79a373 (patch) | |
| tree | b864878bcf3f87d741ddef4bef21220a74119983 /src/drivers/PicoAndroid/Fl_PicoAndroid_Window_Driver.cxx | |
| parent | b496d18b85917106c48e8e6f74115b3122b603d1 (diff) | |
Extended double buffering fix to Android
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11360 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/drivers/PicoAndroid/Fl_PicoAndroid_Window_Driver.cxx')
| -rw-r--r-- | src/drivers/PicoAndroid/Fl_PicoAndroid_Window_Driver.cxx | 33 |
1 files changed, 28 insertions, 5 deletions
diff --git a/src/drivers/PicoAndroid/Fl_PicoAndroid_Window_Driver.cxx b/src/drivers/PicoAndroid/Fl_PicoAndroid_Window_Driver.cxx index 17957312e..4921081e7 100644 --- a/src/drivers/PicoAndroid/Fl_PicoAndroid_Window_Driver.cxx +++ b/src/drivers/PicoAndroid/Fl_PicoAndroid_Window_Driver.cxx @@ -33,6 +33,7 @@ #include <FL/Fl.H> #include <FL/Fl_Window.H> #include <FL/Fl_Window_Driver.H> +#include <FL/fl_draw.h> Fl_Window_Driver *Fl_Window_Driver::newWindowDriver(Fl_Window *win) @@ -85,7 +86,7 @@ Fl_X *Fl_PicoAndroid_Window_Driver::makeWindow() pWindow->set_visible(); pWindow->redraw(); - flush(); + pWindow->flush(); int old_event = Fl::e_number; pWindow->handle(Fl::e_number = FL_SHOW); Fl::e_number = old_event; @@ -93,19 +94,41 @@ Fl_X *Fl_PicoAndroid_Window_Driver::makeWindow() return x; } -#include <FL/fl_draw.h> -void Fl_Window_Driver::draw_begin() +void Fl_PicoAndroid_Window_Driver::flush_single() +{ + glClearColor(0, 0, 0, 1); + glClear(GL_COLOR_BUFFER_BIT); + Fl_X *i = Fl_X::i(pWindow); + if (!i) return; + fl_clip_region(i->region); + i->region = 0; + pWindow->draw(); + Fl_PicoAndroid_Screen_Driver *scr = (Fl_PicoAndroid_Screen_Driver*)Fl::screen_driver(); + scr->drawFrame(); +} + + +void Fl_PicoAndroid_Window_Driver::flush_double() +{ + flush_single(); +} + + +void Fl_PicoAndroid_Window_Driver::flush_overlay() { + flush_single(); } -void Fl_Window_Driver::draw_end() +void Fl_X::flush() { + w->flush(); } +#if 0 void Fl_PicoAndroid_Window_Driver::flush() { Fl_PicoAndroid_Screen_Driver *scr = (Fl_PicoAndroid_Screen_Driver*)Fl::screen_driver(); @@ -117,7 +140,7 @@ void Fl_PicoAndroid_Window_Driver::flush() // fl_rectf(10, 10, 300, 400); scr->drawFrame(); } - +#endif // // End of "$Id: Fl_PicoSDL_Window_Driver.cxx 11253 2016-03-01 00:54:21Z matt $". |
