evas map: Introduce new API for maps (Efl.Gfx.Map)
authorJean-Philippe Andre <jp.andre@samsung.com>
Wed, 26 Apr 2017 06:11:51 +0000 (15:11 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Thu, 11 May 2017 08:54:00 +0000 (17:54 +0900)
commit0a224da86fe1602a2045fac55cb6457c71d81b88
tree46d5c3bab9a14f9849a3a323c5b349b288a8b930
parentd111c6e1dd54e05a099fd36fbd64f53a55a2e7d8
evas map: Introduce new API for maps (Efl.Gfx.Map)

This implements an entirely new API model for Evas Map by relying
on high-level transformations on the object rather than an external
Evas_Map structure that needs to be constantly updated manually.

The implementation relies on Evas_Map.

To rotate an object all you need to do now is
  efl_gfx_map_rotate(obj, 45.0, NULL, 0.5, 0.5);

Or with a C++ syntax:
  obj.rotate(45.0, NULL, 0.5, 0.5);

Or even simply (with default arguments):
  obj.rotate(45.0);

The map transformation functions are:
 - rotate
 - rotate_3d
 - rotate_quat
 - zoom
 - translate (new!)
 - perspective_3d
 - lightning_3d

@feature
14 files changed:
src/bin/elementary/test_evas_mask.c
src/bin/elementary/test_evas_snapshot.c
src/examples/evas/evas-map-aa-eo.c
src/examples/evas/evas-map-utils-eo.c
src/lib/evas/Evas_Legacy.h
src/lib/evas/canvas/efl_canvas_object.eo
src/lib/evas/canvas/efl_gfx_map.c
src/lib/evas/canvas/efl_gfx_map.eo
src/lib/evas/canvas/evas_main.c
src/lib/evas/canvas/evas_map.c
src/lib/evas/canvas/evas_map.h
src/lib/evas/canvas/evas_render.c
src/lib/evas/include/evas_inline.x
src/lib/evas/include/evas_private.h