efl: Introduce Eina.Rect and switch EO APIs to it
authorJean-Philippe Andre <jp.andre@samsung.com>
Thu, 14 Sep 2017 02:59:44 +0000 (11:59 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Mon, 18 Sep 2017 04:22:52 +0000 (13:22 +0900)
commitf3eff6eb3ee6e9b56c0be5cd7f8905f14b388e4f
tree473b3d1b3e56cc5875d4496bf40fe8279165e132
parentcb3b4cc8d7794bea575a85325c8a58f25f0507b2
efl: Introduce Eina.Rect and switch EO APIs to it

It's a complex struct but defined in EO as a simple struct. ABI-wise
it's equivalent to Eina_Rectangle. Some macros that use Eina_Rectangle
also work on Eina_Rect out of the box, most of the code dealing with
x,y,w,h will require no modifications either.

But Eina_Rect provides direct access to a size or position 2d component,
as well as the usual x,y,w,h. The field "rect" is provided as a
convenience for code dealing with both Eina_Rectangle and Eina_Rect. We
may or may not require it.

Note: Size2D could use unsigned values but I have spotted a few places
in the code that actually use -1 to indicate invalid size (as opposed to
0x0).

@feature
68 files changed:
src/bin/elementary/test_photocam.c
src/bin/elementary/test_ui_box.c
src/bin/eolian/sources.c
src/examples/evas/evas-3d-cube-rotate.c
src/examples/evas/evas-map-utils-eo.c
src/lib/ecore_evas/ecore_evas.c
src/lib/ector/cairo/ector_renderer_cairo_gradient_linear.c
src/lib/ector/cairo/ector_renderer_cairo_gradient_radial.c
src/lib/ector/cairo/ector_renderer_cairo_shape.c
src/lib/ector/ector_renderer.eo
src/lib/ector/gl/ector_gl_surface.eo
src/lib/ector/gl/ector_renderer_gl_gradient_linear.c
src/lib/ector/gl/ector_renderer_gl_gradient_radial.c
src/lib/ector/gl/ector_renderer_gl_shape.c
src/lib/edje/edje_calc.c
src/lib/edje/edje_legacy.c
src/lib/edje/edje_part.c
src/lib/edje/efl_canvas_layout_calc.eo
src/lib/efl/interfaces/efl_animator.eo
src/lib/efl/interfaces/efl_gfx.eo
src/lib/efl/interfaces/efl_gfx_fill.eo
src/lib/efl/interfaces/efl_gfx_path.c
src/lib/efl/interfaces/efl_gfx_path.eo
src/lib/efl/interfaces/efl_gfx_types.eot
src/lib/eina/eina_rectangle.h
src/lib/elementary/efl_access_component.c
src/lib/elementary/efl_access_component.eo
src/lib/elementary/efl_ui_focus_manager_calc.c
src/lib/elementary/efl_ui_focus_object.eo
src/lib/elementary/efl_ui_text.c
src/lib/elementary/efl_ui_textpath.c
src/lib/elementary/efl_ui_win.c
src/lib/elementary/elc_multibuttonentry.c
src/lib/elementary/elm_atspi_bridge.c
src/lib/elementary/elm_colorselector.c
src/lib/elementary/elm_conform.c
src/lib/elementary/elm_ctxpopup.eo
src/lib/elementary/elm_entry.c
src/lib/elementary/elm_gengrid.c
src/lib/elementary/elm_genlist.c
src/lib/elementary/elm_interface_atspi_text.eo
src/lib/elementary/elm_list.c
src/lib/elementary/elm_menu.c
src/lib/elementary/elm_panel.c
src/lib/elementary/elm_scroller.c
src/lib/elementary/elm_toolbar.c
src/lib/elementary/elm_transit.c
src/lib/elementary/elm_widget.c
src/lib/elementary/elm_widget.eo
src/lib/elementary/elm_widget.h
src/lib/eo/eina_types.eot
src/lib/evas/canvas/efl_canvas_text.eo
src/lib/evas/canvas/efl_gfx_map.c
src/lib/evas/canvas/efl_vg.eo
src/lib/evas/canvas/evas_canvas.eo
src/lib/evas/canvas/evas_image_legacy.c
src/lib/evas/canvas/evas_object_image.c
src/lib/evas/canvas/evas_object_main.c
src/lib/evas/canvas/evas_object_vg.c
src/lib/evas/canvas/evas_vg_container.c
src/lib/evas/canvas/evas_vg_gradient_linear.c
src/lib/evas/canvas/evas_vg_gradient_radial.c
src/lib/evas/canvas/evas_vg_node.c
src/lib/evas/canvas/evas_vg_private.h
src/lib/evas/canvas/evas_vg_shape.c
src/tests/elementary/elm_test_focus_common.c
src/tests/elementary/elm_test_focus_sub.c
src/tests/elementary/focus_test.eo