summaryrefslogtreecommitdiff
path: root/src/drivers/PicoAndroid/Fl_PicoAndroid_Window_Driver.cxx
diff options
context:
space:
mode:
authorMatthias Melcher <fltk@matthiasm.com>2016-03-13 23:03:42 +0000
committerMatthias Melcher <fltk@matthiasm.com>2016-03-13 23:03:42 +0000
commit5c3c42f464d05b4e1885a512ed02bb7c5a79a373 (patch)
treeb864878bcf3f87d741ddef4bef21220a74119983 /src/drivers/PicoAndroid/Fl_PicoAndroid_Window_Driver.cxx
parentb496d18b85917106c48e8e6f74115b3122b603d1 (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.cxx33
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 $".