From: Mariusz Grzegorczyk <mariusz.g@samsung.com>

Subject: [E-devel] Ecore: Save proper evas engine buffer depth when
_ecore_evas_resize is done

I have found bug in ecore evas buffer. It is created by default as RGB32,
and then it can be changed by ecore_evas_alpha_set function, but when resize
is done it is always created as ARGB32.

Patch in attachment checks in resize if alpha channel is set, and then set
appropriate buffer depth.



SVN revision: 71537
This commit is contained in:
Mariusz Grzegorczyk 2012-05-30 07:05:50 +00:00 committed by Carsten Haitzler
parent 04daafab2b
commit a3dd1169da
2 changed files with 10 additions and 1 deletions

View File

@ -692,3 +692,9 @@
2012-05-30 Cedric Bail
* Force cancel of all running Ecore_Thread on shutdown.
2012-05-30 Mariusz Grzegorczyk
* Small fix to ecore-evas buffer engine on resize to make the
right kind of buffer cavas (ARGB32 vs RGB32).

View 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;