Evas map: Fix AA with opaque images
authorJean-Philippe Andre <jp.andre@samsung.com>
Wed, 7 Jan 2015 11:21:16 +0000 (20:21 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Wed, 7 Jan 2015 11:21:16 +0000 (20:21 +0900)
commit267b8a5ead1eab0a8262af421eeed5ad3db6ee2a
treeed7ff3c3c7b94c5086ae014b80badbc9f604e0b2
parent61d76136de03d4adb1e7fcfe7fe6e8b28aef2fc9
Evas map: Fix AA with opaque images

Well... actually this is not exactly a fix.
It just restores the previous behaviour, and allows AA to
work. As in, it won't draw ugly black lines but properly
blend to transparent.

But there is still a problem:

The image map render function changes the alpha flag on the source
image if AA is enabled or if the map has an alpha color. This is
actually wrong as images forcefully set to not have any alpha
(with evas_object_image_alpha_set(0)) will then not be opaque
anymore.

Right now I can't think of a solution (also I don't quite follow
the entire pipeline in evas map...). Changing the flag will
make some opaque areas transparent. Not changing the flag will
produce ugly artifacts where AA blending should happen. Fix one
bug and the other appears, and vice versa.

This can be tested with the example evas-map-aa and adding an
alpha channel to cube1.png (with gimp for instance) but manually
setting alpha to 0 in the code. Weird stuff will happen (try
playing with the map and pressing I to switch to/from image mode).
src/lib/evas/common/evas_map_image_internal.c