Ecore: Save proper evas engine buffer depth when _ecore_evas_resize is done.
authorMariusz Grzegorczyk <mariusz.g@samsung.com>
Tue, 7 Feb 2012 09:20:36 +0000 (10:20 +0100)
committerMariusz Grzegorczyk <mariusz.g@samsung.com>
Tue, 7 Feb 2012 09:20:36 +0000 (10:20 +0100)
Ecore evas buffer is created by default as RGB32,
and than it can be changed by ecore_evas_alpha_set function,
but when resize is done it is always created as ARGB32.

src/lib/ecore_evas/ecore_evas_buffer.c

index 3f82efb..4f05ec6 100644 (file)
@@ -77,7 +77,10 @@ _ecore_evas_resize(Ecore_Evas *ee, int w, int h)
    einfo = (Evas_Engine_Info_Buffer *)evas_engine_info_get(ee->evas);
    if (einfo)
      {
-        einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_ARGB32;
+        if (ee->alpha)
+          einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_ARGB32;
+        else
+          einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_RGB32;
         einfo->info.dest_buffer = ee->engine.buffer.pixels;
         einfo->info.dest_buffer_row_bytes = stride;
         einfo->info.use_color_key = 0;