Enlightenment CVS committal

Author  : ningerso
Project : e17
Module  : libs/ewl

Dir     : e17/libs/ewl/src/engines/evas_buffer


Modified Files:
        ewl_engine_evas_buffer.c 


Log Message:
Shuffle around the buffer setup code in the buffer engine.
Override the render call so we can notify widgets in a different evas of a
buffer repaint.

===================================================================
RCS file: /cvs/e/e17/libs/ewl/src/engines/evas_buffer/ewl_engine_evas_buffer.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- ewl_engine_evas_buffer.c    17 Oct 2006 05:00:00 -0000      1.4
+++ ewl_engine_evas_buffer.c    20 Oct 2006 05:51:59 -0000      1.5
@@ -8,6 +8,7 @@
 static void ee_canvas_setup(Ewl_Window *win, int debug);
 static void ee_canvas_output_set(Ewl_Embed *embed, int x, int y, int width,
                int height);
+static void ee_canvas_render(Ewl_Embed *emb);
 static int ee_init(Ewl_Engine *engine);
 static void ee_shutdown(Ewl_Engine *engine);
 
@@ -15,7 +16,7 @@
        {
                ee_canvas_setup,
                ee_canvas_output_set, 
-               NULL, NULL, NULL
+               ee_canvas_render, NULL, NULL
        };
 
 Ecore_DList *
@@ -141,6 +142,10 @@
 
        evas = emb->evas;
 
+       evas_output_size_set(evas, width, height);
+       evas_output_viewport_set(evas, x, y, width, height);
+       evas_damage_rectangle_add(evas, 0, 0, width, height);
+
        info = evas_engine_info_get(evas);
        if (!info) 
        {
@@ -154,10 +159,24 @@
        bufinfo->info.dest_buffer = realloc(bufinfo->info.dest_buffer,
                        bufinfo->info.dest_buffer_row_bytes * height);
 
-       emb->evas_window = bufinfo->info.dest_buffer;
        evas_engine_info_set(evas, info);
-       evas_output_size_set(evas, width, height);
-       evas_output_viewport_set(evas, x, y, width, height);
+
+       emb->evas_window = bufinfo->info.dest_buffer;
 
        DLEAVE_FUNCTION(DLEVEL_STABLE);
 }
+
+static void
+ee_canvas_render(Ewl_Embed *embed)
+{
+       DENTER_FUNCTION(DLEVEL_STABLE);
+       DCHECK_PARAM_PTR("embed", embed);
+
+       if (embed->evas)
+               evas_render(embed->evas);
+
+       ewl_callback_call(EWL_WIDGET(embed), EWL_CALLBACK_VALUE_CHANGED);
+
+       DRETURN(DLEVEL_STABLE);
+}
+



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to