From 5c3c42f464d05b4e1885a512ed02bb7c5a79a373 Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Sun, 13 Mar 2016 23:03:42 +0000 Subject: Extended double buffering fix to Android git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11360 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- .../PicoAndroid/Fl_PicoAndroid_Window_Driver.cxx | 33 ++++++++++++++++++---- 1 file changed, 28 insertions(+), 5 deletions(-) (limited to 'src/drivers/PicoAndroid/Fl_PicoAndroid_Window_Driver.cxx') 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 #include #include +#include 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 -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 $". -- cgit v1.2.3