From afb292ec394528f0f105d22e2c4452f5554b30c2 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Mon, 30 Dec 2002 00:07:12 +0000 Subject: [PATCH] fix dfb window test proggy.. flip properly :) SVN revision: 6531 --- legacy/evas/src/bin/evas_directfb_window.c | 28 ++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/legacy/evas/src/bin/evas_directfb_window.c b/legacy/evas/src/bin/evas_directfb_window.c index d03a0da7d5..80778de28e 100644 --- a/legacy/evas/src/bin/evas_directfb_window.c +++ b/legacy/evas/src/bin/evas_directfb_window.c @@ -366,9 +366,33 @@ int main( int argc, char *argv[] ) (sin( myclock()/300.0 ) * 85) + 170 ); } loop(); - evas_render(evas); + { + Evas_List *updates; + + updates = evas_render_updates(evas); + /* efficient update.. only flip the rectangle regions that changed! */ + if (updates) + { + DFBRegion region; + Evas_List *l; + + for (l = updates; l; l = l->next) + { + Evas_Rectangle *rect; + + rect = l->data; + region.x1 = rect->x; + region.y1 = rect->y; + region.x2 = rect->x + rect->w - 1; + region.y2 = rect->y + rect->h - 1; + window_surface1->Flip(window_surface1, ®ion, + DSFLIP_BLIT); + } + evas_render_updates_free(updates); + } + } } - + buffer->Release( buffer ); window_surface2->Release( window_surface2 ); window_surface1->Release( window_surface1 );