I'm on the road (actually about to get into a plane), would you apply this
to EWS engine as well? It's basically a copy of buffer with few changes

On Friday, October 14, 2011, Enlightenment SVN <[email protected]>
wrote:
> Log:
> 1. make inline image ee buffer non-alpha by default. thats the default
>  for all eee's. this was wrong.
>  2. make sure it sets back data when finished - check data in and check
>  it out.
>
>
>
> Author:       raster
> Date:         2011-10-14 00:28:45 -0700 (Fri, 14 Oct 2011)
> New Revision: 64069
> Trac:         http://trac.enlightenment.org/e/changeset/64069
>
> Modified:
>  trunk/ecore/src/lib/ecore_evas/ecore_evas_buffer.c
>
> Modified: trunk/ecore/src/lib/ecore_evas/ecore_evas_buffer.c
> ===================================================================
> --- trunk/ecore/src/lib/ecore_evas/ecore_evas_buffer.c  2011-10-14
07:23:09 UTC (rev 64068)
> +++ trunk/ecore/src/lib/ecore_evas/ecore_evas_buffer.c  2011-10-14
07:28:45 UTC (rev 64069)
> @@ -86,6 +86,8 @@
>              ERR("evas_engine_info_set() for engine '%s' failed.",
ee->driver);
>           }
>      }
> +   if (ee->engine.buffer.image)
> +      evas_object_image_data_set(ee->engine.buffer.image,
ee->engine.buffer.pixels);
>    if (ee->func.fn_resize) ee->func.fn_resize(ee);
>  }
>
> @@ -93,9 +95,6 @@
>  _ecore_evas_buffer_shutdown(void)
>  {
>    _ecore_evas_init_count--;
> -   if (_ecore_evas_init_count == 0)
> -     {
> -     }
>    if (_ecore_evas_init_count < 0) _ecore_evas_init_count = 0;
>    return _ecore_evas_init_count;
>  }
> @@ -111,7 +110,7 @@
>      {
>         if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
>         if (ee2->engine.func->fn_render)
> -          rend |= ee2->engine.func->fn_render(ee2);
> +           rend |= ee2->engine.func->fn_render(ee2);
>         if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2);
>      }
>    if (ee->engine.buffer.image)
> @@ -120,16 +119,18 @@
>
>         evas_object_image_size_get(ee->engine.buffer.image, &w, &h);
>         if ((w != ee->w) || (h != ee->h))
> -          _ecore_evas_resize(ee, w, h);
> +           _ecore_evas_resize(ee, w, h);
> +        ee->engine.buffer.pixels =
evas_object_image_data_get(ee->engine.buffer.image, 1);
>      }
>    updates = evas_render_updates(ee->evas);
>    if (ee->engine.buffer.image)
>      {
>         Eina_Rectangle *r;
>
> +        evas_object_image_data_set(ee->engine.buffer.image,
ee->engine.buffer.pixels);
>         EINA_LIST_FOREACH(updates, l, r)
> -          evas_object_image_data_update_add(ee->engine.buffer.image,
> -                                            r->x, r->y, r->w, r->h);
> +           evas_object_image_data_update_add(ee->engine.buffer.image,
> +                                             r->x, r->y, r->w, r->h);
>      }
>    if (updates)
>      {
> @@ -451,6 +452,8 @@
>  {
>    if (((ee->alpha) && (alpha)) || ((!ee->alpha) && (!alpha))) return;
>    ee->alpha = alpha;
> +   if (ee->engine.buffer.image)
> +      evas_object_image_alpha_set(ee->engine.buffer.image, ee->alpha);
>  }
>
>  static Ecore_Evas_Engine_Func _ecore_buffer_engine_func =
> @@ -662,7 +665,7 @@
>    Evas_Engine_Info_Buffer *einfo;
>    Ecore_Evas *ee;
>    int rmethod;
> -   int w, h;
> +   int w = 1, h = 1;
>
>    rmethod = evas_render_method_lookup("buffer");
>    if (!rmethod) return NULL;
> @@ -672,6 +675,8 @@
>    o = evas_object_image_add(ee_target->evas);
>    evas_object_image_content_hint_set(o, EVAS_IMAGE_CONTENT_HINT_DYNAMIC);
>    evas_object_image_colorspace_set(o, EVAS_COLORSPACE_ARGB8888);
> +   evas_object_image_alpha_set(o, 0);
> +   evas_object_image_size_set(o, w, h);
>
>    ECORE_MAGIC_SET(ee, ECORE_MAGIC_EVAS);
>
> @@ -681,8 +686,6 @@
>
>    ee->driver = "buffer";
>
> -   w = 1;
> -   h = 1;
>    ee->rotation = 0;
>    ee->visible = 0;
>    ee->w = w;
> @@ -709,10 +712,6 @@
>    ee->engine.buffer.image = o;
>    evas_object_data_set(ee->engine.buffer.image, "Ecore_Evas", ee);
>    evas_object_data_set(ee->engine.buffer.image, "Ecore_Evas_Parent",
ee_target);
> -   evas_object_image_size_set(o, ee->w, ee->h);
> -   evas_object_image_alpha_set(o, 1);
> -   ee->engine.buffer.pixels = evas_object_image_data_get(o, 1);
> -   evas_object_image_data_set(o, ee->engine.buffer.pixels);
>    evas_object_event_callback_add(ee->engine.buffer.image,
>                                   EVAS_CALLBACK_MOUSE_IN,
>                                   _ecore_evas_buffer_cb_mouse_in, ee);
> @@ -764,6 +763,7 @@
>    einfo = (Evas_Engine_Info_Buffer *)evas_engine_info_get(ee->evas);
>    if (einfo)
>      {
> +        ee->engine.buffer.pixels = evas_object_image_data_get(o, 1);
>         einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_ARGB32;
>         einfo->info.dest_buffer = ee->engine.buffer.pixels;
>         einfo->info.dest_buffer_row_bytes =
evas_object_image_stride_get(o);
> @@ -771,6 +771,7 @@
>         einfo->info.alpha_threshold = 0;
>         einfo->info.func.new_update_region = NULL;
>         einfo->info.func.free_update_region = NULL;
> +        evas_object_image_data_set(o, ee->engine.buffer.pixels);
>         if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
>           {
>              ERR("evas_engine_info_set() for engine '%s' failed.",
ee->driver);
>
>
>
------------------------------------------------------------------------------
> All the data continuously generated in your IT infrastructure contains a
> definitive record of customers, application performance, security
> threats, fraudulent activity and more. Splunk takes this data and makes
> sense of it. Business sense. IT sense. Common sense.
> http://p.sf.net/sfu/splunk-d2d-oct
> _______________________________________________
> enlightenment-svn mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
>

-- 
Gustavo Sverzut Barbieri
http://profusion.mobi embedded systems
--------------------------------------
MSN: [email protected]
Skype: gsbarbieri
Mobile: +55 (19) 9225-2202
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2d-oct
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to