summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-x.ci/ci-configure.sh2
-rwxr-xr-x.ci/ci-setup-ccache.sh3
-rwxr-xr-x.ci/docker-ccache-setup.sh6
-rw-r--r--.travis.yml16
-rw-r--r--AUTHORS40
-rw-r--r--COPYING2
-rw-r--r--README1
-rw-r--r--data/elementary/themes/edc/elm/scroller.edc177
-rw-r--r--licenses/COPYING.ASL202
-rw-r--r--meson.build10
-rw-r--r--meson_options.txt12
-rw-r--r--src/bin/edje/meson.build2
-rw-r--r--src/bin/efl_mono_msbuild_gen/main.cc15
-rw-r--r--src/bin/elementary/meson.build2
-rw-r--r--src/bin/elementary/test.c4
-rw-r--r--src/bin/elementary/test_efl_anim_group_parallel.c8
-rw-r--r--src/bin/elementary/test_efl_anim_group_sequential.c8
-rw-r--r--src/bin/elementary/test_efl_anim_interpolator.c17
-rw-r--r--src/bin/elementary/test_efl_anim_rotate.c12
-rw-r--r--src/bin/elementary/test_efl_anim_scale.c12
-rw-r--r--src/bin/elementary/test_efl_anim_translate.c8
-rw-r--r--src/bin/elementary/test_events.c2
-rw-r--r--src/bin/elementary/test_ui_relative_container.c (renamed from src/bin/elementary/test_ui_relative_layout.c)50
-rw-r--r--src/bin/eolian/headers.c2
-rw-r--r--src/bin/eolian_cxx/eolian_cxx.cc15
-rw-r--r--src/bin/eolian_mono/eolian/mono/alias_definition.hh30
-rw-r--r--src/bin/eolian_mono/eolian/mono/async_function_definition.hh21
-rw-r--r--src/bin/eolian_mono/eolian/mono/blacklist.hh21
-rw-r--r--src/bin/eolian_mono/eolian/mono/documentation.hh17
-rw-r--r--src/bin/eolian_mono/eolian/mono/enum_definition.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/events.hh55
-rw-r--r--src/bin/eolian_mono/eolian/mono/function_declaration.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/function_definition.hh25
-rw-r--r--src/bin/eolian_mono/eolian/mono/function_helpers.hh20
-rw-r--r--src/bin/eolian_mono/eolian/mono/function_pointer.hh23
-rw-r--r--src/bin/eolian_mono/eolian/mono/function_registration.hh17
-rw-r--r--src/bin/eolian_mono/eolian/mono/generation_contexts.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/helpers.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/klass.hh41
-rw-r--r--src/bin/eolian_mono/eolian/mono/logging.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/marshall_annotation.hh19
-rw-r--r--src/bin/eolian_mono/eolian/mono/marshall_type.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/marshall_type_impl.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/name_helpers.hh41
-rw-r--r--src/bin/eolian_mono/eolian/mono/parameter.hh21
-rw-r--r--src/bin/eolian_mono/eolian/mono/part_definition.hh17
-rw-r--r--src/bin/eolian_mono/eolian/mono/struct_definition.hh37
-rw-r--r--src/bin/eolian_mono/eolian/mono/struct_fields.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/type.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/type_impl.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/using_decl.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/utils.hh15
-rw-r--r--src/bin/eolian_mono/eolian/mono/variable_definition.hh15
-rw-r--r--src/bin/eolian_mono/eolian_mono.cc34
-rw-r--r--src/bindings/cxx/ecore_cxx/Ecore.hh15
-rw-r--r--src/bindings/cxx/ecore_cxx/Ecore_Manual.hh15
-rw-r--r--src/bindings/cxx/eet_cxx/Eet.hh15
-rw-r--r--src/bindings/cxx/eet_cxx/eet_composite.hh15
-rw-r--r--src/bindings/cxx/eet_cxx/eet_register.hh15
-rw-r--r--src/bindings/cxx/eet_cxx/eet_type.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/Eina.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_accessor.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_aligned_union.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_array.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_clone_allocators.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_copy_traits.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_deleter.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_eo_concrete_fwd.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_error.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_fold.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_function.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_future.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_inarray.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_inlist.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_integer_sequence.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_iterator.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_list.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_lists_auxiliary.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_log.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_logical.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_optional.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_pp.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_ptrarray.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_ptrlist.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_range_types.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_ref.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_strbuf.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_string_view.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_stringshare.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_thread.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_throw.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_tuple.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_tuple_c.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_tuple_unwrap.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_type_traits.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_value.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_variant.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_workarounds.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/Eldbus.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/Eldbus_Model.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_basic.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_error.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_freedesktop.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_integer_sequence.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_message.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_message_arguments.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_proxy_call.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_raw_tuple.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_service.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_signature_traits.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/Eo.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/efl_object_impl.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/eo_concrete.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/eo_cxx_interop.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/eo_event.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/eo_init.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/eo_ops.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/eo_private.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/eo_wref.hh15
-rw-r--r--src/bindings/mono/efl_mono.dll.config.in15
-rw-r--r--src/bindings/mono/efl_mono/AssemblyInfo.cs.in3
-rw-r--r--src/bindings/mono/efl_mono/GenericModel.cs6
-rw-r--r--src/bindings/mono/efl_mono/ItemFactory.cs7
-rw-r--r--src/bindings/mono/efl_mono/UserModel.cs14
-rw-r--r--src/bindings/mono/efl_mono/efl_all.cs15
-rw-r--r--src/bindings/mono/efl_mono/efl_csharp_application.cs22
-rw-r--r--src/bindings/mono/efl_mono/efl_libs.cs.in15
-rw-r--r--src/bindings/mono/efl_mono/efl_libs.csv.in15
-rw-r--r--src/bindings/mono/efl_mono/meson.build23
-rw-r--r--src/bindings/mono/efl_sharp.csproj.in44
-rw-r--r--src/bindings/mono/eina_mono/eina_accessor.cs16
-rw-r--r--src/bindings/mono/eina_mono/eina_array.cs19
-rw-r--r--src/bindings/mono/eina_mono/eina_binbuf.cs15
-rw-r--r--src/bindings/mono/eina_mono/eina_common.cs21
-rw-r--r--src/bindings/mono/eina_mono/eina_config.cs15
-rw-r--r--src/bindings/mono/eina_mono/eina_container_common.cs20
-rw-r--r--src/bindings/mono/eina_mono/eina_environment.cs53
-rw-r--r--src/bindings/mono/eina_mono/eina_error.cs145
-rw-r--r--src/bindings/mono/eina_mono/eina_hash.cs15
-rw-r--r--src/bindings/mono/eina_mono/eina_inarray.cs15
-rw-r--r--src/bindings/mono/eina_mono/eina_inlist.cs15
-rw-r--r--src/bindings/mono/eina_mono/eina_iterator.cs15
-rw-r--r--src/bindings/mono/eina_mono/eina_list.cs15
-rw-r--r--src/bindings/mono/eina_mono/eina_log.cs19
-rw-r--r--src/bindings/mono/eina_mono/eina_promises.cs19
-rw-r--r--src/bindings/mono/eina_mono/eina_slice.cs15
-rw-r--r--src/bindings/mono/eina_mono/eina_strbuf.cs20
-rw-r--r--src/bindings/mono/eina_mono/eina_stringshare.cs26
-rw-r--r--src/bindings/mono/eina_mono/eina_value.cs560
-rw-r--r--src/bindings/mono/eina_mono/meson.build3
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_common.cs261
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_config.cs15
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_connection.cs15
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_message.cs15
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_object.cs16
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_pending.cs15
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_proxy.cs15
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_service.cs15
-rw-r--r--src/bindings/mono/eo_mono/EoWrapper.cs155
-rw-r--r--src/bindings/mono/eo_mono/FunctionWrapper.cs139
-rw-r--r--src/bindings/mono/eo_mono/FunctionWrapper_Unix.cs36
-rw-r--r--src/bindings/mono/eo_mono/FunctionWrapper_Windows.cs26
-rw-r--r--src/bindings/mono/eo_mono/NativeModule.cs60
-rw-r--r--src/bindings/mono/eo_mono/NativeModule_Unix.cs28
-rw-r--r--src/bindings/mono/eo_mono/NativeModule_Windows.cs26
-rw-r--r--src/bindings/mono/eo_mono/WrapperSupervisor.cs34
-rw-r--r--src/bindings/mono/eo_mono/iwrapper.cs466
-rw-r--r--src/bindings/mono/eo_mono/workaround.cs55
-rw-r--r--src/bindings/mono/meson.build117
-rw-r--r--src/examples/ecore/ecore_evas_ews_example.c2
-rw-r--r--src/examples/ecore/efl_mono_loop_timer_example.cs15
-rw-r--r--src/examples/ecore/efl_thread.c6
-rw-r--r--src/examples/efl_mono/EoInherit01.cs15
-rw-r--r--src/examples/efl_mono/FunctionPointer01.cs15
-rw-r--r--src/examples/efl_mono/example_numberwrapper.c15
-rw-r--r--src/examples/eina/EinaArray01.cs15
-rw-r--r--src/examples/eina/EinaBinbuf01.cs15
-rw-r--r--src/examples/eina/EinaError01.cs15
-rw-r--r--src/examples/eina/EinaHash01.cs15
-rw-r--r--src/examples/eina_cxx/eina_cxx_list_01.cc15
-rw-r--r--src/examples/eina_cxx/eina_cxx_thread_01.cc15
-rw-r--r--src/examples/elementary/.gitignore4
-rw-r--r--src/examples/elementary/bg_cxx_example_01.cc15
-rw-r--r--src/examples/elementary/bg_cxx_example_02.cc15
-rw-r--r--src/examples/elementary/box_cxx_example_02.cc15
-rw-r--r--src/examples/elementary/button_cxx_example_00.cc15
-rw-r--r--src/examples/elementary/button_cxx_example_01.cc15
-rw-r--r--src/examples/elementary/calendar_cxx_example_01.cc15
-rw-r--r--src/examples/elementary/calendar_cxx_example_02.cc15
-rw-r--r--src/examples/elementary/calendar_cxx_example_03.cc15
-rw-r--r--src/examples/elementary/calendar_cxx_example_04.cc15
-rw-r--r--src/examples/elementary/calendar_cxx_example_05.cc15
-rw-r--r--src/examples/elementary/clock_cxx_example.cc15
-rw-r--r--src/examples/elementary/efl_ui_relative_container_example_01.c (renamed from src/examples/elementary/efl_ui_relative_layout_example_01.c)18
-rw-r--r--src/examples/elementary/efl_ui_relative_container_example_02.c (renamed from src/examples/elementary/efl_ui_relative_layout_example_02.c)14
-rw-r--r--src/examples/elementary/efl_ui_slider_mono.cs15
-rw-r--r--src/examples/elementary/efl_ui_unit_converter.cs15
-rw-r--r--src/examples/elementary/icon_cxx_example_01.cc15
-rw-r--r--src/examples/elementary/menu_cxx_example_01.cc15
-rw-r--r--src/examples/elementary/popup_cxx_example.cc15
-rw-r--r--src/examples/elementary/radio_cxx_example_01.cc15
-rw-r--r--src/examples/elementary/slider_cxx_example.cc15
-rw-r--r--src/examples/elementary/spinner_cxx_example.cc15
-rw-r--r--src/examples/elementary/table_cxx_example_01.cc15
-rw-r--r--src/examples/elementary/table_cxx_example_02.cc15
-rw-r--r--src/examples/elementary/toolbar_cxx_example_01.cc15
-rw-r--r--src/examples/eolian_cxx/colourable_cxx.cc15
-rw-r--r--src/examples/eolian_cxx/colourablesquare_cxx.cc15
-rw-r--r--src/examples/eolian_cxx/eolian_cxx_callbacks_01.cc15
-rw-r--r--src/examples/eolian_cxx/eolian_cxx_simple_01.cc15
-rw-r--r--src/examples/eolian_cxx/eolian_cxx_simple_01_cxx_impl.cc15
-rw-r--r--src/examples/evas/evas_cxx_rectangle.cc15
-rw-r--r--src/lib/ecore/ecore_app.c6
-rw-r--r--src/lib/ecore/ecore_events.c150
-rw-r--r--src/lib/ecore/ecore_private.h15
-rw-r--r--src/lib/ecore/ecore_timer.c67
-rw-r--r--src/lib/ecore/efl_accelerate_interpolator.c16
-rw-r--r--src/lib/ecore/efl_accelerate_interpolator.eo14
-rw-r--r--src/lib/ecore/efl_boolean_model.c10
-rw-r--r--src/lib/ecore/efl_boolean_model.eo4
-rw-r--r--src/lib/ecore/efl_bounce_interpolator.c40
-rw-r--r--src/lib/ecore/efl_bounce_interpolator.eo24
-rw-r--r--src/lib/ecore/efl_composite_model.c2
-rw-r--r--src/lib/ecore/efl_cubic_bezier_interpolator.c50
-rw-r--r--src/lib/ecore/efl_cubic_bezier_interpolator.eo26
-rw-r--r--src/lib/ecore/efl_decelerate_interpolator.c16
-rw-r--r--src/lib/ecore/efl_decelerate_interpolator.eo14
-rw-r--r--src/lib/ecore/efl_divisor_interpolator.c39
-rw-r--r--src/lib/ecore/efl_divisor_interpolator.eo20
-rw-r--r--src/lib/ecore/efl_linear_interpolator.eo3
-rw-r--r--src/lib/ecore/efl_loop.c22
-rw-r--r--src/lib/ecore/efl_loop_message_handler.c12
-rw-r--r--src/lib/ecore/efl_loop_timer.eo4
-rw-r--r--src/lib/ecore/efl_sinusoidal_interpolator.c16
-rw-r--r--src/lib/ecore/efl_sinusoidal_interpolator.eo13
-rw-r--r--src/lib/ecore/efl_spring_interpolator.c44
-rw-r--r--src/lib/ecore/efl_spring_interpolator.eo24
-rw-r--r--src/lib/ecore_evas/ecore_evas.c4
-rw-r--r--src/lib/ecore_evas/ecore_evas_drm.h1
-rw-r--r--src/lib/ecore_evas/ecore_evas_util.c1
-rw-r--r--src/lib/ecore_wl2/Ecore_Wl2.h33
-rw-r--r--src/lib/ecore_wl2/ecore_wl2.c4
-rw-r--r--src/lib/ecore_wl2/ecore_wl2_internal.h31
-rw-r--r--src/lib/ecore_wl2/ecore_wl2_private.h6
-rw-r--r--src/lib/edje/Efl_Layout.h3
-rw-r--r--src/lib/edje/edje_cache.c37
-rw-r--r--src/lib/edje/edje_calc.c17
-rw-r--r--src/lib/edje/edje_callbacks.c3
-rw-r--r--src/lib/edje/edje_legacy.c2
-rw-r--r--src/lib/edje/edje_load.c50
-rw-r--r--src/lib/edje/edje_private.h20
-rw-r--r--src/lib/edje/edje_program.c15
-rw-r--r--src/lib/edje/edje_smart.c8
-rw-r--r--src/lib/edje/edje_util.c3
-rw-r--r--src/lib/efl/Efl.h7
-rw-r--r--src/lib/efl/interfaces/efl_cached_item.eo17
-rw-r--r--src/lib/efl/interfaces/efl_common_internal.h169
-rw-r--r--src/lib/efl/interfaces/efl_gfx_arrangement.eo13
-rw-r--r--src/lib/efl/interfaces/efl_gfx_frame_controller.eo19
-rw-r--r--src/lib/efl/interfaces/efl_gfx_hint.eo16
-rw-r--r--src/lib/efl/interfaces/efl_gfx_stack.eo8
-rw-r--r--src/lib/efl/interfaces/efl_gfx_types.eot11
-rw-r--r--src/lib/efl/interfaces/efl_gfx_view.eo5
-rw-r--r--src/lib/efl/interfaces/efl_interfaces_main.c2
-rw-r--r--src/lib/efl/interfaces/efl_interpolator.eo21
-rw-r--r--src/lib/efl/interfaces/efl_text.eo4
-rw-r--r--src/lib/efl/interfaces/efl_ui_factory.eo21
-rw-r--r--src/lib/efl/interfaces/efl_ui_scrollable.eo104
-rw-r--r--src/lib/efl/interfaces/meson.build9
-rw-r--r--src/lib/efl_mono/efl_custom_exports_mono.c26
-rw-r--r--src/lib/efreet/efreet_desktop_command.c15
-rw-r--r--src/lib/eina/eina_config.h.in150
-rw-r--r--src/lib/eina/eina_inline_cpu.x26
-rw-r--r--src/lib/eina/eina_inline_mempool.x14
-rw-r--r--src/lib/eina/eina_list.c12
-rw-r--r--src/lib/eina/eina_mempool.c3
-rw-r--r--src/lib/eina/eina_mempool.h23
-rw-r--r--src/lib/eina/eina_rectangle.h21
-rw-r--r--src/lib/eina/eina_value.c2
-rw-r--r--src/lib/eina/eina_vector.h1
-rw-r--r--src/lib/elementary/Efl_Ui.h8
-rw-r--r--src/lib/elementary/efl_ui.eot16
-rw-r--r--src/lib/elementary/efl_ui_alert_popup.c38
-rw-r--r--src/lib/elementary/efl_ui_alert_popup.eo3
-rw-r--r--src/lib/elementary/efl_ui_alert_popup_part_title.eo (renamed from src/lib/elementary/efl_ui_alert_popup_part.eo)2
-rw-r--r--src/lib/elementary/efl_ui_animation_view.c31
-rw-r--r--src/lib/elementary/efl_ui_animation_view.eo19
-rw-r--r--src/lib/elementary/efl_ui_caching_factory.c4
-rw-r--r--src/lib/elementary/efl_ui_caching_factory.eo7
-rw-r--r--src/lib/elementary/efl_ui_check.c3
-rw-r--r--src/lib/elementary/efl_ui_collection_view.c141
-rw-r--r--src/lib/elementary/efl_ui_internal_text_scroller.c16
-rw-r--r--src/lib/elementary/efl_ui_position_manager_list.c31
-rw-r--r--src/lib/elementary/efl_ui_relative_container.c (renamed from src/lib/elementary/efl_ui_relative_layout.c)198
-rw-r--r--src/lib/elementary/efl_ui_relative_container.eo94
-rw-r--r--src/lib/elementary/efl_ui_relative_container_private.h (renamed from src/lib/elementary/efl_ui_relative_layout_private.h)68
-rw-r--r--src/lib/elementary/efl_ui_relative_layout.eo73
-rw-r--r--src/lib/elementary/efl_ui_scroll_manager.eo12
-rw-r--r--src/lib/elementary/efl_ui_selection_manager.c5
-rw-r--r--src/lib/elementary/efl_ui_spotlight_manager_plain.c6
-rw-r--r--src/lib/elementary/efl_ui_spotlight_manager_scroll.c2
-rw-r--r--src/lib/elementary/efl_ui_spotlight_manager_stack.c6
-rw-r--r--src/lib/elementary/efl_ui_table_static.eo8
-rw-r--r--src/lib/elementary/efl_ui_text.c48
-rw-r--r--src/lib/elementary/efl_ui_text.eo118
-rw-r--r--src/lib/elementary/efl_ui_widget.c8
-rw-r--r--src/lib/elementary/efl_ui_win.c4
-rw-r--r--src/lib/elementary/elm_code_file.c11
-rw-r--r--src/lib/elementary/elm_config.c27
-rw-r--r--src/lib/elementary/elm_entry.c1
-rw-r--r--src/lib/elementary/elm_general.eot1
-rw-r--r--src/lib/elementary/elm_gengrid.c1
-rw-r--r--src/lib/elementary/elm_genlist.c172
-rw-r--r--src/lib/elementary/elm_interface_scrollable.c61
-rw-r--r--src/lib/elementary/elm_interface_scrollable.eo3
-rw-r--r--src/lib/elementary/elm_list.c3
-rw-r--r--src/lib/elementary/elm_map.c3
-rw-r--r--src/lib/elementary/elm_panel.c1
-rw-r--r--src/lib/elementary/elm_priv.h1
-rw-r--r--src/lib/elementary/elm_scroller.c1
-rw-r--r--src/lib/elementary/elm_toolbar.c1
-rw-r--r--src/lib/elementary/elm_widget_genlist.h3
-rw-r--r--src/lib/elementary/meson.build8
-rw-r--r--src/lib/emotion/emotion_smart.c1
-rw-r--r--src/lib/eo/Eo.h50
-rw-r--r--src/lib/eo/eo.c1
-rw-r--r--src/lib/eo/eo_base_class.c462
-rw-r--r--src/lib/eolian_cxx/Eolian_Cxx.hh15
-rw-r--r--src/lib/eolian_cxx/grammar/address_of.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/alternative.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/attribute_conditional.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/attribute_reorder.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/attribute_replace.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/attributes.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/base_class_definition.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/blacklist.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/c_type.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/case.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/class_declaration.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/class_definition.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/class_implementation.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/container.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/context.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/converting_argument.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/eps.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/function_declaration.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/function_definition.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/generator.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/header.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/header_guards.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/header_include_directive.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/html_escaped_string.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/ignore_warning.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/impl_header.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/implementation_include_directive.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/indentation.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/integral.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/keyword.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/klass_def.hpp100
-rw-r--r--src/lib/eolian_cxx/grammar/kleene.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/list.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/meta.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/namespace.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/parameter.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/part_declaration.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/part_implementation.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/qualifier_def.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/sequence.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/string.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/type.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/type_function_declaration.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/type_impl.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/type_traits.hpp15
-rw-r--r--src/lib/eolian_cxx/grammar/types_definition.hpp15
-rw-r--r--src/lib/evas/Efl_Canvas.h15
-rw-r--r--src/lib/evas/Evas.h2
-rw-r--r--src/lib/evas/Evas_Common.h24
-rw-r--r--src/lib/evas/Evas_Eo.h23
-rw-r--r--src/lib/evas/Evas_Internal.h159
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation.c11
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation.eo79
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_alpha.eo15
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_group.eo19
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_group_parallel.eo9
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_group_sequential.eo10
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_rotate.c44
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_rotate.eo44
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_rotate_private.h9
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_scale.c134
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_scale.eo49
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_scale_private.h18
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_translate.c75
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_translate.eo32
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_translate_private.h10
-rw-r--r--src/lib/evas/canvas/efl_canvas_animation_types.eot3
-rw-r--r--src/lib/evas/canvas/efl_canvas_object.eo4
-rw-r--r--src/lib/evas/canvas/efl_canvas_pointer.eo (renamed from src/lib/efl/interfaces/efl_canvas_pointer.eo)0
-rw-r--r--src/lib/evas/canvas/efl_canvas_scene.eo (renamed from src/lib/efl/interfaces/efl_canvas_scene.eo)0
-rw-r--r--src/lib/evas/canvas/efl_canvas_text.eo2
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_node.c2
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_object.c24
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_object.eo1
-rw-r--r--src/lib/evas/canvas/efl_input_device.c (renamed from src/lib/efl/interfaces/efl_input_device.c)108
-rw-r--r--src/lib/evas/canvas/efl_input_device.eo (renamed from src/lib/efl/interfaces/efl_input_device.eo)0
-rw-r--r--src/lib/evas/canvas/efl_input_event.c4
-rw-r--r--src/lib/evas/canvas/efl_input_focus.c5
-rw-r--r--src/lib/evas/canvas/efl_input_hold.c3
-rw-r--r--src/lib/evas/canvas/efl_input_key.c3
-rw-r--r--src/lib/evas/canvas/efl_input_pointer.c3
-rw-r--r--src/lib/evas/canvas/efl_input_types.eot (renamed from src/lib/efl/interfaces/efl_input_types.eot)0
-rw-r--r--src/lib/evas/canvas/evas_callbacks.c3
-rw-r--r--src/lib/evas/canvas/evas_device.c100
-rw-r--r--src/lib/evas/canvas/evas_events.c3
-rw-r--r--src/lib/evas/canvas/evas_events_legacy.c3
-rw-r--r--src/lib/evas/canvas/evas_focus.c2
-rw-r--r--src/lib/evas/canvas/evas_font_dir.c7
-rw-r--r--src/lib/evas/canvas/evas_image_private.h5
-rw-r--r--src/lib/evas/canvas/evas_key_grab.c3
-rw-r--r--src/lib/evas/canvas/evas_main.c5
-rw-r--r--src/lib/evas/canvas/evas_object_main.c106
-rw-r--r--src/lib/evas/canvas/evas_vg_private.h2
-rw-r--r--src/lib/evas/canvas/meson.build9
-rw-r--r--src/lib/evas/file/evas_module.c25
-rw-r--r--src/lib/evas/filters/evas_filter.c22
-rw-r--r--src/lib/evas/filters/evas_filter_parser.c39
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_private.h2
-rw-r--r--src/lib/evas/include/evas_common_private.h1
-rw-r--r--src/lib/evas/include/evas_filter.h12
-rw-r--r--src/lib/evas/include/evas_private.h15
-rw-r--r--src/lib/evas/meson.build166
-rw-r--r--src/lib/evas/software_generic/filters/meson.build1
-rw-r--r--src/lib/evas/vg/evas_vg_cache.c52
-rw-r--r--src/lib/evas_goal/empty.c0
-rw-r--r--src/lib/evas_goal/meson.build179
-rw-r--r--src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c119
-rw-r--r--src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c6
-rw-r--r--src/modules/ecore_wl2/engines/dmabuf/ecore_wl2_surface_module_dmabuf.c1
-rw-r--r--src/modules/eina/mp/chained_pool/eina_chained_mempool.c74
-rw-r--r--src/modules/eina/mp/one_big/eina_one_big.c3
-rw-r--r--src/modules/eina/mp/pass_through/eina_pass_through.c1
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_common.h4
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_context.c93
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_shader.c7
-rw-r--r--src/modules/evas/engines/gl_common/shader/evas_gl_shaders.x7
-rw-r--r--src/modules/evas/engines/gl_common/shader/fragment.glsl8
-rw-r--r--src/modules/evas/engines/gl_generic/evas_engine.c1
-rw-r--r--src/modules/evas/engines/gl_generic/filters/gl_engine_filter.h1
-rw-r--r--src/modules/evas/engines/gl_generic/filters/gl_filter_inverse_color.c53
-rw-r--r--src/modules/evas/engines/gl_generic/meson.build1
-rw-r--r--src/modules/evas/engines/software_generic/evas_engine.c1
-rw-r--r--src/modules/evas/engines/software_generic/filters/evas_engine_filter.h1
-rw-r--r--src/modules/evas/engines/software_generic/filters/evas_filter_inverse_color.c57
-rw-r--r--src/modules/evas/engines/wayland_common/Evas_Engine_Wayland.h8
-rw-r--r--src/modules/evas/engines/wayland_egl/evas_wl_main.c2
-rw-r--r--src/modules/evas/image_loaders/meson.build23
-rw-r--r--src/modules/evas/image_savers/meson.build23
-rw-r--r--src/modules/evas/meson.build4
-rw-r--r--src/modules/evas/model_loaders/meson.build17
-rw-r--r--src/modules/evas/model_savers/meson.build17
-rw-r--r--src/modules/evas/vg_loaders/json/evas_vg_load_json.c24
-rw-r--r--src/modules/evas/vg_loaders/meson.build27
-rw-r--r--src/modules/evas/vg_savers/eet/evas_vg_save_eet.c2
-rw-r--r--src/modules/evas/vg_savers/meson.build18
-rw-r--r--src/static_libs/buildsystem/buildsystem_meson.c4
-rw-r--r--src/tests/ecore/ecore_suite.c3
-rw-r--r--src/tests/ecore/ecore_test_ecore.c7
-rw-r--r--src/tests/ecore/ecore_test_ecore_file.c47
-rw-r--r--src/tests/ecore/ecore_test_timer.c130
-rw-r--r--src/tests/ecore/efl_app_test_loop_timer.c184
-rw-r--r--src/tests/ecore_audio_cxx/cxx_compile_test.cc15
-rw-r--r--src/tests/ecore_cxx/cxx_compile_test.cc15
-rw-r--r--src/tests/ecore_cxx/ecore_cxx_suite.cc15
-rw-r--r--src/tests/ecore_cxx/ecore_cxx_test_safe_call.cc15
-rw-r--r--src/tests/ecore_wl2/ecore_wl2_suite.c1
-rw-r--r--src/tests/ecore_wl2/ecore_wl2_suite.h1
-rw-r--r--src/tests/ecore_wl2/ecore_wl2_test_display.c14
-rw-r--r--src/tests/ecore_wl2/ecore_wl2_test_surface.c56
-rw-r--r--src/tests/ecore_wl2/ecore_wl2_test_window.c169
-rw-r--r--src/tests/ecore_wl2/meson.build3
-rw-r--r--src/tests/edje_cxx/cxx_compile_test.cc15
-rw-r--r--src/tests/eet_cxx/eet_cxx_suite.cc15
-rw-r--r--src/tests/eet_cxx/eet_cxx_test_descriptors.cc15
-rw-r--r--src/tests/efl/efl_test_composite_model.c126
-rw-r--r--src/tests/efl/efl_test_container_model.c1
-rw-r--r--src/tests/efl_mono/BasicDirection.cs15
-rw-r--r--src/tests/efl_mono/Eina.cs119
-rw-r--r--src/tests/efl_mono/EinaTestData.cs64
-rw-r--r--src/tests/efl_mono/Eldbus.cs17
-rw-r--r--src/tests/efl_mono/Eo.cs21
-rw-r--r--src/tests/efl_mono/EoConstruction.cs15
-rw-r--r--src/tests/efl_mono/EoPromises.cs17
-rw-r--r--src/tests/efl_mono/Errors.cs19
-rw-r--r--src/tests/efl_mono/Events.cs15
-rw-r--r--src/tests/efl_mono/FunctionPointerMarshalling.cs15
-rw-r--r--src/tests/efl_mono/FunctionPointers.cs15
-rw-r--r--src/tests/efl_mono/Inheritance.cs15
-rw-r--r--src/tests/efl_mono/Main.cs29
-rw-r--r--src/tests/efl_mono/Model.cs10
-rw-r--r--src/tests/efl_mono/Parts.cs29
-rw-r--r--src/tests/efl_mono/Promises.cs20
-rw-r--r--src/tests/efl_mono/Strbuf.cs15
-rw-r--r--src/tests/efl_mono/Strings.cs22
-rw-r--r--src/tests/efl_mono/StructHelpers.cs15
-rw-r--r--src/tests/efl_mono/Structs.cs15
-rw-r--r--src/tests/efl_mono/TestUtils.cs15
-rw-r--r--src/tests/efl_mono/Value.cs90
-rw-r--r--src/tests/efl_mono/ValueEolian.cs15
-rw-r--r--src/tests/efl_mono/dummy_child.c15
-rw-r--r--src/tests/efl_mono/dummy_constructible_object.c15
-rw-r--r--src/tests/efl_mono/dummy_event_manager.c15
-rw-r--r--src/tests/efl_mono/dummy_inherit_helper.c15
-rw-r--r--src/tests/efl_mono/dummy_interfaces.c15
-rw-r--r--src/tests/efl_mono/dummy_numberwrapper.c15
-rw-r--r--src/tests/efl_mono/dummy_part_holder.c15
-rw-r--r--src/tests/efl_mono/dummy_test_object.c27
-rw-r--r--src/tests/efl_mono/efl_sharp_test_suite.csproj.in36
-rw-r--r--src/tests/efl_mono/libefl_mono_native_test.h15
-rw-r--r--src/tests/efl_mono/meson.build148
-rw-r--r--src/tests/eina/eina_test_log.c4
-rw-r--r--src/tests/eina/eina_test_slstr.c2
-rw-r--r--src/tests/eina_cxx/eina_cxx_suite.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_accessor.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_error.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_inarray.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_inlist.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_iterator.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_log.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_optional.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_ptrarray.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_ptrlist.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_stringshare.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_thread.cc15
-rw-r--r--src/tests/eina_cxx/eina_cxx_test_value.cc15
-rw-r--r--src/tests/eldbus_cxx/eldbus_cxx_suite.cc15
-rw-r--r--src/tests/eldbus_cxx/eldbus_cxx_test_eldbus_client.cc15
-rw-r--r--src/tests/eldbus_cxx/eldbus_cxx_test_eldbus_connect.cc15
-rw-r--r--src/tests/elementary/efl_ui_suite.c2
-rw-r--r--src/tests/elementary/efl_ui_suite.h2
-rw-r--r--src/tests/elementary/efl_ui_test_config.c1
-rw-r--r--src/tests/elementary/efl_ui_test_relative_container.c (renamed from src/tests/elementary/efl_ui_test_relative_layout.c)58
-rw-r--r--src/tests/elementary/elm_cxx_suite.cc15
-rw-r--r--src/tests/elementary/elm_test_check.c68
-rw-r--r--src/tests/elementary/elm_test_genlist.c194
-rw-r--r--src/tests/elementary/elm_test_layout.c45
-rw-r--r--src/tests/elementary/meson.build2
-rw-r--r--src/tests/elementary/spec/efl_test_basics.c69
-rw-r--r--src/tests/elementary/spec/efl_test_multi_selectable.c10
-rw-r--r--src/tests/elementary/spec/efl_test_pack.c2
-rw-r--r--src/tests/elementary/spec/efl_test_pack_linear.c142
-rw-r--r--src/tests/elementary/spec/efl_ui_spec_suite.c52
-rw-r--r--src/tests/elementary/spec/efl_ui_spec_suite.h2
-rwxr-xr-xsrc/tests/elementary/spec/generator.py2
-rw-r--r--src/tests/elementary/spec/meson.build3
-rw-r--r--src/tests/elementary/suite_helpers.c97
-rw-r--r--src/tests/elementary/suite_helpers.h10
-rw-r--r--src/tests/elementary_cxx/cxx_compile_test.cc15
-rw-r--r--src/tests/elementary_cxx/cxx_dummy_compile_test.cc15
-rw-r--r--src/tests/eo_cxx/eo_cxx_suite.cc15
-rw-r--r--src/tests/eolian/data/function_as_argument_ref.h2
-rw-r--r--src/tests/eolian/data/struct_ref.h2
-rw-r--r--src/tests/eolian/data/typedef_ref.h2
-rw-r--r--src/tests/eolian_cxx/complex_cxx.cc15
-rw-r--r--src/tests/eolian_cxx/eolian_cxx_suite.cc15
-rw-r--r--src/tests/eolian_cxx/eolian_cxx_test_address_of.cc15
-rw-r--r--src/tests/eolian_cxx/eolian_cxx_test_binding.cc141
-rw-r--r--src/tests/eolian_cxx/eolian_cxx_test_cyclic.cc15
-rw-r--r--src/tests/eolian_cxx/eolian_cxx_test_documentation.cc15
-rw-r--r--src/tests/eolian_cxx/eolian_cxx_test_generate.cc15
-rw-r--r--src/tests/eolian_cxx/eolian_cxx_test_inheritance.cc15
-rw-r--r--src/tests/eolian_cxx/eolian_cxx_test_parse.cc15
-rw-r--r--src/tests/eolian_cxx/eolian_cxx_test_wrapper.cc15
-rw-r--r--src/tests/eolian_cxx/name_name_cxx.cc15
-rw-r--r--src/tests/eolian_cxx/property_holder.eo42
-rw-r--r--src/tests/evas/efl_canvas_animation.c40
-rw-r--r--src/tests/evas/evas_suite.c1
-rw-r--r--src/tests/evas/evas_suite.h1
-rw-r--r--src/tests/evas/evas_test_mesh.c124
-rw-r--r--src/tests/evas/meson.build1
-rw-r--r--src/tests/evas_cxx/cxx_compile_test.cc15
579 files changed, 11607 insertions, 3852 deletions
diff --git a/.ci/ci-configure.sh b/.ci/ci-configure.sh
index 97fcb17..b7466f6 100755
--- a/.ci/ci-configure.sh
+++ b/.ci/ci-configure.sh
@@ -17,7 +17,7 @@ if [ "$DISTRO" != "" ] ; then
17 # - RPM fusion repo for xine and libvlc 17 # - RPM fusion repo for xine and libvlc
18 ENABLED_LINUX_COPTS=" -Dfb=true -Dsdl=true -Dbuffer=true -Dbuild-id=travis-build \ 18 ENABLED_LINUX_COPTS=" -Dfb=true -Dsdl=true -Dbuffer=true -Dbuild-id=travis-build \
19 -Ddebug-threads=true -Dg-mainloop=true -Dxpresent=true -Dxgesture=false -Dxinput22=true \ 19 -Ddebug-threads=true -Dg-mainloop=true -Dxpresent=true -Dxgesture=false -Dxinput22=true \
20 -Devas-loaders-disabler=json -Decore-imf-loaders-disabler= -Demotion-loaders-disabler=libvlc,xine \ 20 -Devas-loaders-disabler=json -Decore-imf-loaders-disabler= -Demotion-loaders-disabler=gstreamer,libvlc,xine \
21 -Demotion-generic-loaders-disabler=vlc -Dharfbuzz=true -Dpixman=true -Dhyphen=true \ 21 -Demotion-generic-loaders-disabler=vlc -Dharfbuzz=true -Dpixman=true -Dhyphen=true \
22 -Dvnc-server=true -Dbindings=luajit -Delogind=false -Dinstall-eo-files=true" 22 -Dvnc-server=true -Dbindings=luajit -Delogind=false -Dinstall-eo-files=true"
23 23
diff --git a/.ci/ci-setup-ccache.sh b/.ci/ci-setup-ccache.sh
index 0a50878..ab7d3b8 100755
--- a/.ci/ci-setup-ccache.sh
+++ b/.ci/ci-setup-ccache.sh
@@ -7,6 +7,7 @@ if [ "$DISTRO" != "" ] ; then
7 docker exec $(cat $HOME/cid) ccache -pz 7 docker exec $(cat $HOME/cid) ccache -pz
8else 8else
9 cp .ci/ccache.conf ~/.ccache 9 cp .ci/ccache.conf ~/.ccache
10 ccache -o base_dir="$(pwd)" 10 sed -iE '/^base_dir/d' ~/.ccache/ccache.conf
11 echo "base_dir = $pwd" >> ~/.ccache/ccache.conf
11 ccache -pz 12 ccache -pz
12fi 13fi
diff --git a/.ci/docker-ccache-setup.sh b/.ci/docker-ccache-setup.sh
index 748e743..caba08a 100755
--- a/.ci/docker-ccache-setup.sh
+++ b/.ci/docker-ccache-setup.sh
@@ -5,7 +5,9 @@ CI_BUILD_TYPE="$1"
5cp .ci/ccache.conf ~/.ccache 5cp .ci/ccache.conf ~/.ccache
6 6
7if [ "$1" = "release-ready" ] ; then 7if [ "$1" = "release-ready" ] ; then
8 ccache -o base_dir="$(pwd)/$(grep '^PACKAGE_STRING' config.log|cut -d\' -f2|tr ' ' -)" 8 sed -iE '/^base_dir/d' ~/.ccache/ccache.conf
9 echo "base_dir = $(pwd)/$(grep '^PACKAGE_STRING' config.log|cut -d\' -f2|tr ' ' -)" >> ~/.ccache/ccache.conf
9else 10else
10 ccache -o base_dir=$(pwd) 11 sed -iE '/^base_dir/d' ~/.ccache/ccache.conf
12 echo "base_dir = $pwd" >> ~/.ccache/ccache.conf
11fi 13fi
diff --git a/.travis.yml b/.travis.yml
index 08c9fc2..8c59c37 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -46,30 +46,30 @@ jobs:
46 include: 46 include:
47 - os: osx 47 - os: osx
48 - os: linux 48 - os: linux
49 env: DISTRO=Fedora30-mingw CI_BUILD_TYPE=mingw 49 env: DISTRO=Fedora31-mingw CI_BUILD_TYPE=mingw
50 - os: linux 50 - os: linux
51 env: DISTRO=Fedora30 CI_BUILD_TYPE=options-enabled 51 env: DISTRO=Fedora31 CI_BUILD_TYPE=options-enabled
52 - os: linux 52 - os: linux
53 env: DISTRO=Fedora30 CI_BUILD_TYPE=options-disabled 53 env: DISTRO=Fedora31 CI_BUILD_TYPE=options-disabled
54 - os: linux 54 - os: linux
55 env: DISTRO=Fedora30 CI_BUILD_TYPE=wayland 55 env: DISTRO=Fedora31 CI_BUILD_TYPE=wayland
56 - os: linux 56 - os: linux
57 env: DISTRO=Fedora30 CI_BUILD_TYPE=default 57 env: DISTRO=Fedora31 CI_BUILD_TYPE=default
58 - os: linux 58 - os: linux
59 if: type = cron 59 if: type = cron
60 env: DISTRO=Fedora30 CI_BUILD_TYPE=release-ready 60 env: DISTRO=Fedora31 CI_BUILD_TYPE=release-ready
61 - os: linux 61 - os: linux
62 if: type = cron 62 if: type = cron
63 env: DISTRO=Ubuntu1804 63 env: DISTRO=Ubuntu1804
64 - os: linux 64 - os: linux
65 if: type = cron 65 if: type = cron
66 env: DISTRO=Ubuntu1904 66 env: DISTRO=Ubuntu1910
67 - os: linux 67 - os: linux
68 if: type = cron 68 if: type = cron
69 env: DISTRO=Debian96 69 env: DISTRO=Debian96
70 - os: linux 70 - os: linux
71 if: type = cron 71 if: type = cron
72 env: DISTRO=Fedora30 CI_BUILD_TYPE=coverity 72 env: DISTRO=Fedora31 CI_BUILD_TYPE=coverity
73 73
74services: 74services:
75 - docker 75 - docker
diff --git a/AUTHORS b/AUTHORS
index 66237b1..964f645 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -395,6 +395,46 @@ Jérôme Pinot <ngc891@gmail.com>
395EFL-C++ 395EFL-C++
396------- 396-------
397Savio Sena <savio@expertisesolutions.com.br> 397Savio Sena <savio@expertisesolutions.com.br>
398Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
399Vitor Sousa <vitorsousa@expertisesolutions.com.br>
400Lauro Moura <lauromoura@expertisesolutions.com.br>
401Jean-Philippe Andre <jp.andre@samsung.com>
402Luciana Magno de Almeida <luciana@expertisesolutions.com.br>
403Jaehyun Cho <jae_hyun.cho@samsung.com>
404Daniel Kolesa <quaker66@gmail.com>
405Vincent Torri <vtorri at univ-evry dot fr>
406Stefan Schmidt <stefan@datenfreihafen.org>
407Cedric BAIL <cedric.bail@free.fr>
408Xavi Artigas <xavierartigas@yahoo.es>
409YeongJong Lee <yj34.lee@samsung.com>
410Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
411Larry Lira <larry@expertisesolutions.com.br>
412WooHyun Jung (woohyun) <woohyun0705@gmail.com>
413Marcel Hollerbach <marcel-hollerbach@t-online.de>
414Daniel Zaoui <daniel.zaoui@samsung.com>
415Sanghyeon Lee <sh10233.lee@samsung.com>
416Thiep Ha <thiepha@gmail.com>
417Vinícius dos Santos Oliveira <vini.ipsmaker@expertisesolutions.com.br>
418Bryce Harrington <bryce@osg.samsung.com>
419Tom Hacohen <tom@stosb.com>
420Carsten Haitzler <raster@rasterman.com>
421Andrew Williams <andy@eandywilliams.me>
422Amitesh Singh <singh.amitesh@gmail.com> <amitesh.sh@samsung.com>
423
424EFL-C#
425------
426
427Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
428Vitor Sousa <vitorsousa@expertisesolutions.com.br>
429Lauro Moura <lauromoura@expertisesolutions.com.br>
430Jaehyun Cho <jae_hyun.cho@samsung.com>
431Xavi Artigas <xavierartigas@yahoo.es>
432Marcel Hollerbach <marcel-hollerbach@t-online.de>
433YeongJong Lee <yj34.lee@samsung.com>
434Daniel Kolesa <quaker66@gmail.com>
435Vincent Torri <vtorri at univ-evry dot fr>
436WooHyun Jung (woohyun) <woohyun0705@gmail.com>
437Jean-Philippe Andre <jp.andre@samsung.com>
398 438
399ELua 439ELua
400---- 440----
diff --git a/COPYING b/COPYING
index e40f300..7079647 100644
--- a/COPYING
+++ b/COPYING
@@ -37,6 +37,8 @@ elementary: licenses/COPYING.LGPL
37generic/evas: licenses/COPYING.GPL (separate binary/executable) 37generic/evas: licenses/COPYING.GPL (separate binary/executable)
38generic/emotion: licenses/COPYING.GPL (separate binary/executable) 38generic/emotion: licenses/COPYING.GPL (separate binary/executable)
39efl: licenses/COPYING.LGPL 39efl: licenses/COPYING.LGPL
40csharp bindings: licenses/COPYING.ASL
41cxx bindings: licenses/COPYING.ASL
40 42
41NOTE: If linked together, the result will be effectively be LGPL (or 43NOTE: If linked together, the result will be effectively be LGPL (or
42GPL if escape is used) due to license characteristics. 44GPL if escape is used) due to license characteristics.
diff --git a/README b/README
index 2f0c41d..de08b78 100644
--- a/README
+++ b/README
@@ -539,4 +539,3 @@ one can use "gnutls" (some distros are strict about licenses and want gnutls
539instead of openssl) You can switch to gnutls with: 539instead of openssl) You can switch to gnutls with:
540 540
541 -Dcrypto=gnutls 541 -Dcrypto=gnutls
542
diff --git a/data/elementary/themes/edc/elm/scroller.edc b/data/elementary/themes/edc/elm/scroller.edc
index 091cfb1..71a050d 100644
--- a/data/elementary/themes/edc/elm/scroller.edc
+++ b/data/elementary/themes/edc/elm/scroller.edc
@@ -34,91 +34,9 @@ group { name: "elm/scroller/base/default";
34 images.image: "sym_left_dark_normal.png" COMP; 34 images.image: "sym_left_dark_normal.png" COMP;
35 images.image: "sym_right_dark_normal.png" COMP; 35 images.image: "sym_right_dark_normal.png" COMP;
36 36
37
38 data.item: "focus_highlight" "on"; 37 data.item: "focus_highlight" "on";
39 38
40 script {
41 public loop_x, loop_y;
42 public action_on_pos_vbar(val) {
43 new x, y , w, h, x1, y1 , w1, h1;
44
45 get_geometry(PART:"y_vbar_up", x,y,w, h);
46 get_geometry(PART:"y_vbar_up_mapper", x1,y1,w1, h1);
47
48 if(((y1 <= y) && (y <= (y1 + h1))) && (0 == get_int(loop_y)))
49 {
50 set_state(PART:"arrow1_vbar", "hidden", 0.0);
51 set_state(PART:"sb_vbar_a1", "hidden", 0.0);
52 }
53 else
54 {
55 set_state(PART:"arrow1_vbar", "default", 0.0);
56 set_state(PART:"sb_vbar_a1", "default", 0.0);
57 }
58
59 get_geometry(PART:"y_vbar_down", x,y,w, h);
60 get_geometry(PART:"y_vbar_down_mapper", x1,y1,w1, h1);
61
62 if(((y1 <= (y + h)) && ((y+ h) <= (y1 + h1))) && (0 == get_int(loop_y)))
63 {
64 set_state(PART:"arrow2_vbar", "hidden", 0.0);
65 set_state(PART:"sb_vbar_a2", "hidden", 0.0);
66 }
67 else
68 {
69 set_state(PART:"arrow2_vbar", "default", 0.0);
70 set_state(PART:"sb_vbar_a2", "default", 0.0);
71 }
72
73 if(val < 10)
74 timer(0.1,"action_on_pos_vbar", val+1);
75 }
76
77 public action_on_pos_hbar(val) {
78 new x, y , w, h, x1, y1 , w1, h1;
79
80 get_geometry(PART:"x_hbar_left", x,y,w, h);
81 get_geometry(PART:"x_hbar_left_mapper", x1,y1,w1, h1);
82
83 if(((x1 <= x) && (x <= (x1 + w1))) && (0 == get_int(loop_x)))
84 {
85 set_state(PART:"arrow1_hbar", "hidden", 0.0);
86 set_state(PART:"sb_hbar_a1", "hidden", 0.0);
87 }
88 else
89 {
90 set_state(PART:"arrow1_hbar", "default", 0.0);
91 set_state(PART:"sb_hbar_a1", "default", 0.0);
92 }
93
94 get_geometry(PART:"x_hbar_right", x,y,w, h);
95 get_geometry(PART:"x_hbar_right_mapper", x1,y1,w1, h1);
96
97 if(((x1 <= (x + w)) && ((x + w) <= (x1 + w1))) && (0 == get_int(loop_x)))
98 {
99 set_state(PART:"arrow2_hbar", "hidden", 0.0);
100 set_state(PART:"sb_hbar_a2", "hidden", 0.0);
101 }
102 else
103 {
104 set_state(PART:"arrow2_hbar", "default", 0.0);
105 set_state(PART:"sb_hbar_a2", "default", 0.0);
106 }
107
108 if(val < 10)
109 timer(0.1,"action_on_pos_hbar", val+1);
110 }
111 }
112
113 parts { 39 parts {
114 program {
115 signal: "load"; source: "";
116 script {
117 emit("reload", "elm");
118 action_on_pos_vbar(0);
119 action_on_pos_hbar(0);
120 }
121 }
122// vert bar //////////////////////////////////////////////////////////////// 40// vert bar ////////////////////////////////////////////////////////////////
123 part { name: "sb_vbar_show"; type: RECT; 41 part { name: "sb_vbar_show"; type: RECT;
124 description { state: "default" 0.0; 42 description { state: "default" 0.0;
@@ -321,7 +239,6 @@ group { name: "elm/scroller/base/default";
321 target: "y_vbar_down"; 239 target: "y_vbar_down";
322 target: "arrow1_vbar_indent"; 240 target: "arrow1_vbar_indent";
323 target: "arrow2_vbar_indent"; 241 target: "arrow2_vbar_indent";
324 after: "check_pos_vbar";
325 } 242 }
326 program { 243 program {
327 signal: "elm,action,hide,vbar"; source: "elm"; 244 signal: "elm,action,hide,vbar"; source: "elm";
@@ -340,11 +257,13 @@ group { name: "elm/scroller/base/default";
340 } 257 }
341 program { 258 program {
342 signal: "mouse,down,1*"; source: "sb_vbar_a1";//ok 259 signal: "mouse,down,1*"; source: "sb_vbar_a1";//ok
260 filter: "sb_vbar_a1" "default";
343 action: STATE_SET "clicked" 0.0; 261 action: STATE_SET "clicked" 0.0;
344 target: "arrow1_vbar"; 262 target: "arrow1_vbar";
345 after: "anim1_up"; 263 after: "anim1_up";
346 } 264 }
347 program { name: "anim1_up"; 265 program { name: "anim1_up";
266 filter: "sb_vbar_a1" "default";
348 action: STATE_SET "default" 0.0; 267 action: STATE_SET "default" 0.0;
349 transition: LINEAR 0.1; 268 transition: LINEAR 0.1;
350 target: "arrow1_vbar"; 269 target: "arrow1_vbar";
@@ -356,11 +275,13 @@ group { name: "elm/scroller/base/default";
356 } 275 }
357 program { 276 program {
358 signal: "mouse,down,1*"; source: "sb_vbar_a2";//ok 277 signal: "mouse,down,1*"; source: "sb_vbar_a2";//ok
278 filter: "sb_vbar_a2" "default";
359 action: STATE_SET "clicked" 0.0; 279 action: STATE_SET "clicked" 0.0;
360 target: "arrow2_vbar"; 280 target: "arrow2_vbar";
361 after: "anim1_down"; 281 after: "anim1_down";
362 } 282 }
363 program { name: "anim1_down"; 283 program { name: "anim1_down";
284 filter: "sb_vbar_a2" "default";
364 action: STATE_SET "default" 0.0; 285 action: STATE_SET "default" 0.0;
365 transition: LINEAR 0.1; 286 transition: LINEAR 0.1;
366 target: "arrow2_vbar"; 287 target: "arrow2_vbar";
@@ -372,40 +293,40 @@ group { name: "elm/scroller/base/default";
372 } 293 }
373 program { 294 program {
374 signal: "mouse,down,1*"; source: "sb_vbar_p1"; 295 signal: "mouse,down,1*"; source: "sb_vbar_p1";
296 filter: "sb_vbar_a1" "default";
375 action: DRAG_VAL_PAGE 0.0 -1.0; 297 action: DRAG_VAL_PAGE 0.0 -1.0;
376 target: "elm.dragable.vbar"; 298 target: "elm.dragable.vbar";
377 } 299 }
378 program { 300 program {
379 signal: "mouse,down,1*"; source: "sb_vbar_p2"; 301 signal: "mouse,down,1*"; source: "sb_vbar_p2";
302 filter: "sb_vbar_a2" "default";
380 action: DRAG_VAL_PAGE 0.0 1.0; 303 action: DRAG_VAL_PAGE 0.0 1.0;
381 target: "elm.dragable.vbar"; 304 target: "elm.dragable.vbar";
382 } 305 }
383 program { 306 program {
384 signal: "elm,action,scroll"; source: "elm"; 307 signal: "elm,action,show,up"; source: "elm";
385 script { 308 action: STATE_SET "default" 0.0;
386 action_on_pos_vbar(10); 309 target: "arrow1_vbar";
387 } 310 target: "sb_vbar_a1";
388 } 311 }
389 program { name: "check_pos_vbar"; 312 program {
390 script { 313 signal: "elm,action,hide,up"; source: "elm";
391 action_on_pos_vbar(10); 314 action: STATE_SET "hidden" 0.0;
392 } 315 target: "arrow1_vbar";
316 target: "sb_vbar_a1";
393 } 317 }
394 program { name: "loop_set_vbar"; 318 program {
395 signal: "elm,loop_y,set"; source: "elm"; 319 signal: "elm,action,show,down"; source: "elm";
396 script { 320 action: STATE_SET "default" 0.0;
397 set_int(loop_y, 1); 321 target: "arrow2_vbar";
398 action_on_pos_vbar(10); 322 target: "sb_vbar_a2";
399 }
400 } 323 }
401 program { name: "loop_unset_vbar"; 324 program {
402 signal: "elm,loop_y,unset"; source: "elm"; 325 signal: "elm,action,hide,down"; source: "elm";
403 script { 326 action: STATE_SET "hidden" 0.0;
404 set_int(loop_y, 0); 327 target: "arrow2_vbar";
405 action_on_pos_vbar(10); 328 target: "sb_vbar_a2";
406 }
407 } 329 }
408
409// horiz bar ///////////////////////////////////////////////////////////// 330// horiz bar /////////////////////////////////////////////////////////////
410 part { name: "sb_hbar_show"; type: RECT; 331 part { name: "sb_hbar_show"; type: RECT;
411 description { state: "default" 0.0; 332 description { state: "default" 0.0;
@@ -608,7 +529,6 @@ group { name: "elm/scroller/base/default";
608 target: "x_hbar_right"; 529 target: "x_hbar_right";
609 target: "arrow1_hbar_indent"; 530 target: "arrow1_hbar_indent";
610 target: "arrow2_hbar_indent"; 531 target: "arrow2_hbar_indent";
611 after: "check_pos_hbar";
612 } 532 }
613 program { 533 program {
614 signal: "elm,action,hide,hbar"; source: "elm"; 534 signal: "elm,action,hide,hbar"; source: "elm";
@@ -627,11 +547,13 @@ group { name: "elm/scroller/base/default";
627 } 547 }
628 program { 548 program {
629 signal: "mouse,down,1*"; source: "sb_hbar_a1"; 549 signal: "mouse,down,1*"; source: "sb_hbar_a1";
550 filter: "sb_hbar_a1" "default";
630 action: STATE_SET "clicked" 0.0; 551 action: STATE_SET "clicked" 0.0;
631 target: "arrow1_hbar"; 552 target: "arrow1_hbar";
632 after: "anim1_left"; 553 after: "anim1_left";
633 } 554 }
634 program { name: "anim1_left"; 555 program { name: "anim1_left";
556 filter: "sb_hbar_a1" "default";
635 action: STATE_SET "default" 0.0; 557 action: STATE_SET "default" 0.0;
636 transition: LINEAR 0.1; 558 transition: LINEAR 0.1;
637 target: "arrow1_hbar"; 559 target: "arrow1_hbar";
@@ -643,11 +565,13 @@ group { name: "elm/scroller/base/default";
643 } 565 }
644 program { 566 program {
645 signal: "mouse,down,1*"; source: "sb_hbar_a2"; 567 signal: "mouse,down,1*"; source: "sb_hbar_a2";
568 filter: "sb_hbar_a2" "default";
646 action: STATE_SET "clicked" 0.0; 569 action: STATE_SET "clicked" 0.0;
647 target: "arrow2_hbar"; 570 target: "arrow2_hbar";
648 after: "anim2_left"; 571 after: "anim2_left";
649 } 572 }
650 program { name: "anim2_left"; 573 program { name: "anim2_left";
574 filter: "sb_hbar_a2" "default";
651 action: STATE_SET "default" 0.0; 575 action: STATE_SET "default" 0.0;
652 transition: LINEAR 0.1; 576 transition: LINEAR 0.1;
653 target: "arrow2_hbar"; 577 target: "arrow2_hbar";
@@ -659,40 +583,39 @@ group { name: "elm/scroller/base/default";
659 } 583 }
660 program { 584 program {
661 signal: "mouse,down,1*"; source: "sb_hbar_p1"; 585 signal: "mouse,down,1*"; source: "sb_hbar_p1";
586 filter: "sb_hbar_a1" "default";
662 action: DRAG_VAL_PAGE -1.0 0.0; 587 action: DRAG_VAL_PAGE -1.0 0.0;
663 target: "elm.dragable.hbar"; 588 target: "elm.dragable.hbar";
664 after: "check_pos_hbar";
665 } 589 }
666 program { 590 program {
667 signal: "mouse,down,1*"; source: "sb_hbar_p2"; 591 signal: "mouse,down,1*"; source: "sb_hbar_p2";
592 filter: "sb_hbar_a2" "default";
668 action: DRAG_VAL_PAGE 1.0 0.0; 593 action: DRAG_VAL_PAGE 1.0 0.0;
669 target: "elm.dragable.hbar"; 594 target: "elm.dragable.hbar";
670 after: "check_pos_hbar";
671 } 595 }
672 program { 596 program {
673 signal: "elm,action,scroll"; source: "elm"; 597 signal: "elm,action,show,left"; source: "elm";
674 script { 598 action: STATE_SET "default" 0.0;
675 action_on_pos_hbar(10); 599 target: "arrow1_hbar";
676 } 600 target: "sb_hbar_a1";
677 } 601 }
678 program { name: "check_pos_hbar"; 602 program {
679 script { 603 signal: "elm,action,hide,left"; source: "elm";
680 action_on_pos_hbar(10); 604 action: STATE_SET "hidden" 0.0;
681 } 605 target: "arrow1_hbar";
606 target: "sb_hbar_a1";
682 } 607 }
683 program { name: "loop_set_hbar"; 608 program {
684 signal: "elm,loop_x,set"; source: "elm"; 609 signal: "elm,action,show,right"; source: "elm";
685 script { 610 action: STATE_SET "default" 0.0;
686 set_int(loop_x, 1); 611 target: "arrow2_hbar";
687 action_on_pos_hbar(10); 612 target: "sb_hbar_a2";
688 }
689 } 613 }
690 program { name: "loop_unset_hbar"; 614 program {
691 signal: "elm,loop_x,unset"; source: "elm"; 615 signal: "elm,action,hide,right"; source: "elm";
692 script { 616 action: STATE_SET "hidden" 0.0;
693 set_int(loop_x, 0); 617 target: "arrow2_hbar";
694 action_on_pos_hbar(10); 618 target: "sb_hbar_a2";
695 }
696 } 619 }
697 part { name: "bg"; type: RECT; 620 part { name: "bg"; type: RECT;
698 description { state: "default" 0.0; 621 description { state: "default" 0.0;
diff --git a/licenses/COPYING.ASL b/licenses/COPYING.ASL
new file mode 100644
index 0000000..57bc88a
--- /dev/null
+++ b/licenses/COPYING.ASL
@@ -0,0 +1,202 @@
1 Apache License
2 Version 2.0, January 2004
3 http://www.apache.org/licenses/
4
5 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
7 1. Definitions.
8
9 "License" shall mean the terms and conditions for use, reproduction,
10 and distribution as defined by Sections 1 through 9 of this document.
11
12 "Licensor" shall mean the copyright owner or entity authorized by
13 the copyright owner that is granting the License.
14
15 "Legal Entity" shall mean the union of the acting entity and all
16 other entities that control, are controlled by, or are under common
17 control with that entity. For the purposes of this definition,
18 "control" means (i) the power, direct or indirect, to cause the
19 direction or management of such entity, whether by contract or
20 otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 outstanding shares, or (iii) beneficial ownership of such entity.
22
23 "You" (or "Your") shall mean an individual or Legal Entity
24 exercising permissions granted by this License.
25
26 "Source" form shall mean the preferred form for making modifications,
27 including but not limited to software source code, documentation
28 source, and configuration files.
29
30 "Object" form shall mean any form resulting from mechanical
31 transformation or translation of a Source form, including but
32 not limited to compiled object code, generated documentation,
33 and conversions to other media types.
34
35 "Work" shall mean the work of authorship, whether in Source or
36 Object form, made available under the License, as indicated by a
37 copyright notice that is included in or attached to the work
38 (an example is provided in the Appendix below).
39
40 "Derivative Works" shall mean any work, whether in Source or Object
41 form, that is based on (or derived from) the Work and for which the
42 editorial revisions, annotations, elaborations, or other modifications
43 represent, as a whole, an original work of authorship. For the purposes
44 of this License, Derivative Works shall not include works that remain
45 separable from, or merely link (or bind by name) to the interfaces of,
46 the Work and Derivative Works thereof.
47
48 "Contribution" shall mean any work of authorship, including
49 the original version of the Work and any modifications or additions
50 to that Work or Derivative Works thereof, that is intentionally
51 submitted to Licensor for inclusion in the Work by the copyright owner
52 or by an individual or Legal Entity authorized to submit on behalf of
53 the copyright owner. For the purposes of this definition, "submitted"
54 means any form of electronic, verbal, or written communication sent
55 to the Licensor or its representatives, including but not limited to
56 communication on electronic mailing lists, source code control systems,
57 and issue tracking systems that are managed by, or on behalf of, the
58 Licensor for the purpose of discussing and improving the Work, but
59 excluding communication that is conspicuously marked or otherwise
60 designated in writing by the copyright owner as "Not a Contribution."
61
62 "Contributor" shall mean Licensor and any individual or Legal Entity
63 on behalf of whom a Contribution has been received by Licensor and
64 subsequently incorporated within the Work.
65
66 2. Grant of Copyright License. Subject to the terms and conditions of
67 this License, each Contributor hereby grants to You a perpetual,
68 worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 copyright license to reproduce, prepare Derivative Works of,
70 publicly display, publicly perform, sublicense, and distribute the
71 Work and such Derivative Works in Source or Object form.
72
73 3. Grant of Patent License. Subject to the terms and conditions of
74 this License, each Contributor hereby grants to You a perpetual,
75 worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 (except as stated in this section) patent license to make, have made,
77 use, offer to sell, sell, import, and otherwise transfer the Work,
78 where such license applies only to those patent claims licensable
79 by such Contributor that are necessarily infringed by their
80 Contribution(s) alone or by combination of their Contribution(s)
81 with the Work to which such Contribution(s) was submitted. If You
82 institute patent litigation against any entity (including a
83 cross-claim or counterclaim in a lawsuit) alleging that the Work
84 or a Contribution incorporated within the Work constitutes direct
85 or contributory patent infringement, then any patent licenses
86 granted to You under this License for that Work shall terminate
87 as of the date such litigation is filed.
88
89 4. Redistribution. You may reproduce and distribute copies of the
90 Work or Derivative Works thereof in any medium, with or without
91 modifications, and in Source or Object form, provided that You
92 meet the following conditions:
93
94 (a) You must give any other recipients of the Work or
95 Derivative Works a copy of this License; and
96
97 (b) You must cause any modified files to carry prominent notices
98 stating that You changed the files; and
99
100 (c) You must retain, in the Source form of any Derivative Works
101 that You distribute, all copyright, patent, trademark, and
102 attribution notices from the Source form of the Work,
103 excluding those notices that do not pertain to any part of
104 the Derivative Works; and
105
106 (d) If the Work includes a "NOTICE" text file as part of its
107 distribution, then any Derivative Works that You distribute must
108 include a readable copy of the attribution notices contained
109 within such NOTICE file, excluding those notices that do not
110 pertain to any part of the Derivative Works, in at least one
111 of the following places: within a NOTICE text file distributed
112 as part of the Derivative Works; within the Source form or
113 documentation, if provided along with the Derivative Works; or,
114 within a display generated by the Derivative Works, if and
115 wherever such third-party notices normally appear. The contents
116 of the NOTICE file are for informational purposes only and
117 do not modify the License. You may add Your own attribution
118 notices within Derivative Works that You distribute, alongside
119 or as an addendum to the NOTICE text from the Work, provided
120 that such additional attribution notices cannot be construed
121 as modifying the License.
122
123 You may add Your own copyright statement to Your modifications and
124 may provide additional or different license terms and conditions
125 for use, reproduction, or distribution of Your modifications, or
126 for any such Derivative Works as a whole, provided Your use,
127 reproduction, and distribution of the Work otherwise complies with
128 the conditions stated in this License.
129
130 5. Submission of Contributions. Unless You explicitly state otherwise,
131 any Contribution intentionally submitted for inclusion in the Work
132 by You to the Licensor shall be under the terms and conditions of
133 this License, without any additional terms or conditions.
134 Notwithstanding the above, nothing herein shall supersede or modify
135 the terms of any separate license agreement you may have executed
136 with Licensor regarding such Contributions.
137
138 6. Trademarks. This License does not grant permission to use the trade
139 names, trademarks, service marks, or product names of the Licensor,
140 except as required for reasonable and customary use in describing the
141 origin of the Work and reproducing the content of the NOTICE file.
142
143 7. Disclaimer of Warranty. Unless required by applicable law or
144 agreed to in writing, Licensor provides the Work (and each
145 Contributor provides its Contributions) on an "AS IS" BASIS,
146 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 implied, including, without limitation, any warranties or conditions
148 of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 PARTICULAR PURPOSE. You are solely responsible for determining the
150 appropriateness of using or redistributing the Work and assume any
151 risks associated with Your exercise of permissions under this License.
152
153 8. Limitation of Liability. In no event and under no legal theory,
154 whether in tort (including negligence), contract, or otherwise,
155 unless required by applicable law (such as deliberate and grossly
156 negligent acts) or agreed to in writing, shall any Contributor be
157 liable to You for damages, including any direct, indirect, special,
158 incidental, or consequential damages of any character arising as a
159 result of this License or out of the use or inability to use the
160 Work (including but not limited to damages for loss of goodwill,
161 work stoppage, computer failure or malfunction, or any and all
162 other commercial damages or losses), even if such Contributor
163 has been advised of the possibility of such damages.
164
165 9. Accepting Warranty or Additional Liability. While redistributing
166 the Work or Derivative Works thereof, You may choose to offer,
167 and charge a fee for, acceptance of support, warranty, indemnity,
168 or other liability obligations and/or rights consistent with this
169 License. However, in accepting such obligations, You may act only
170 on Your own behalf and on Your sole responsibility, not on behalf
171 of any other Contributor, and only if You agree to indemnify,
172 defend, and hold each Contributor harmless for any liability
173 incurred by, or claims asserted against, such Contributor by reason
174 of your accepting any such warranty or additional liability.
175
176 END OF TERMS AND CONDITIONS
177
178 APPENDIX: How to apply the Apache License to your work.
179
180 To apply the Apache License to your work, attach the following
181 boilerplate notice, with the fields enclosed by brackets "[]"
182 replaced with your own identifying information. (Don't include
183 the brackets!) The text should be enclosed in the appropriate
184 comment syntax for the file format. We also recommend that a
185 file or class name and description of purpose be included on the
186 same "printed page" as the copyright notice for easier
187 identification within third-party archives.
188
189 Copyright [yyyy] [name of copyright owner]
190
191 Licensed under the Apache License, Version 2.0 (the "License");
192 you may not use this file except in compliance with the License.
193 You may obtain a copy of the License at
194
195 http://www.apache.org/licenses/LICENSE-2.0
196
197 Unless required by applicable law or agreed to in writing, software
198 distributed under the License is distributed on an "AS IS" BASIS,
199 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 See the License for the specific language governing permissions and
201 limitations under the License.
202
diff --git a/meson.build b/meson.build
index 4de9757..702e383 100644
--- a/meson.build
+++ b/meson.build
@@ -249,13 +249,6 @@ ecore_evas_wayland_engine_include_dir = []
249 249
250evas_static_list = [] 250evas_static_list = []
251 251
252evas_lib = ['evas' ,[], false, true, false, false, true, true, ['eina', 'efl', 'eo'], ['vg_common', 'libunibreak']]
253evas_img_modules = ['evas' ,[], true, false, false, false, false, false, ['eina', 'efl', 'eo'], ['vg_common', 'libunibreak']]
254evas_engines = [join_paths('evas', 'engines'),[], true, false, false, false, false, false, [], []]
255evas_goal = ['evas_goal' ,[], false, true, false, false, false, false, ['eina', 'efl', 'eo'], []]
256
257evas_settings = [ evas_lib, evas_img_modules, evas_goal, evas_engines ]
258
259subprojects = [ 252subprojects = [
260# name | option | mod | lib | bin | bench | tests | examples | pkg-config options | name of static libs 253# name | option | mod | lib | bin | bench | tests | examples | pkg-config options | name of static libs
261['evil' ,[] , false, true, false, false, false, false, [], []], 254['evil' ,[] , false, true, false, false, false, false, [], []],
@@ -284,7 +277,8 @@ subprojects = [
284['ector' ,[] , false, true, false, false, true, false, ['eina', 'efl'], ['draw', 'triangulator', 'freetype']], 277['ector' ,[] , false, true, false, false, true, false, ['eina', 'efl'], ['draw', 'triangulator', 'freetype']],
285['elput' ,['drm'] , false, true, false, false, true, false, ['eina', 'eldbus'], []], 278['elput' ,['drm'] , false, true, false, false, true, false, ['eina', 'eldbus'], []],
286['ecore_drm2' ,['drm'] , false, true, false, false, false, false, ['ecore'], ['libdrm']], 279['ecore_drm2' ,['drm'] , false, true, false, false, false, false, ['ecore'], ['libdrm']],
287['ecore_cocoa' ,['cocoa'] , false, true, false, false, false, false, ['eina'], []]] + evas_settings +[ 280['ecore_cocoa' ,['cocoa'] , false, true, false, false, false, false, ['eina'], []],
281['evas' ,[] , true, true, false, false, true, true, ['eina', 'efl', 'eo'], ['vg_common', 'libunibreak']],
288['ecore_input_evas' ,[] , false, true, false, false, false, false, ['eina', 'evas'], []], 282['ecore_input_evas' ,[] , false, true, false, false, false, false, ['eina', 'evas'], []],
289['ecore_evas' ,[] , true, true, true, false, false, false, ['evas', 'ector'], []], 283['ecore_evas' ,[] , true, true, true, false, false, false, ['evas', 'ector'], []],
290['ecore_imf' ,[] , true, true, false, false, false, false, ['eina'], []], 284['ecore_imf' ,[] , true, true, false, false, false, false, ['eina'], []],
diff --git a/meson_options.txt b/meson_options.txt
index 0a4702c..42a7397 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -323,6 +323,12 @@ option('mono-examples-dir',
323 description: 'Where eolian_mono will search for examples to embed into the documentation' 323 description: 'Where eolian_mono will search for examples to embed into the documentation'
324) 324)
325 325
326option('dotnet',
327 type: 'boolean',
328 value: false,
329 description: 'Enable building C# bindings with dotnet instead of mono'
330)
331
326option('lua-interpreter', 332option('lua-interpreter',
327 type: 'combo', 333 type: 'combo',
328 choices: ['luajit', 'lua'], 334 choices: ['luajit', 'lua'],
@@ -366,3 +372,9 @@ option('install-eo-files',
366 value: false, 372 value: false,
367 description : 'Install any eo file' 373 description : 'Install any eo file'
368) 374)
375
376option('mono-friend-assemblies',
377 type : 'array',
378 value : [],
379 description : 'List of friend assemblies that can access efl_mono assembly\'s internal types and members.'
380)
diff --git a/src/bin/edje/meson.build b/src/bin/edje/meson.build
index f33193d..0fff2cd 100644
--- a/src/bin/edje/meson.build
+++ b/src/bin/edje/meson.build
@@ -42,7 +42,7 @@ else
42 env = find_program('env', native: true) 42 env = find_program('env', native: true)
43 edje_cc_exe = [env, 'EFL_RUN_IN_TREE=1', edje_cc.full_path()] 43 edje_cc_exe = [env, 'EFL_RUN_IN_TREE=1', edje_cc.full_path()]
44 endif 44 endif
45 edje_depends = [edje_cc, epp, evas_engine_buffer_mod] 45 edje_depends = [edje_cc, epp, evas_engine_buffer_mod, embryo_cc]
46endif 46endif
47 47
48edje_decc_src = [ 48edje_decc_src = [
diff --git a/src/bin/efl_mono_msbuild_gen/main.cc b/src/bin/efl_mono_msbuild_gen/main.cc
index bf3d4db..d7ab599 100644
--- a/src/bin/efl_mono_msbuild_gen/main.cc
+++ b/src/bin/efl_mono_msbuild_gen/main.cc
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1 16
2#include <iostream> 17#include <iostream>
3#include <fstream> 18#include <fstream>
diff --git a/src/bin/elementary/meson.build b/src/bin/elementary/meson.build
index 502573c..342e184 100644
--- a/src/bin/elementary/meson.build
+++ b/src/bin/elementary/meson.build
@@ -155,7 +155,7 @@ elementary_test_src = [
155 'test_win_indicator.c', 155 'test_win_indicator.c',
156 'test_gesture_framework.c', 156 'test_gesture_framework.c',
157 'test_ui_tab_pager.c', 157 'test_ui_tab_pager.c',
158 'test_ui_relative_layout.c', 158 'test_ui_relative_container.c',
159 'test_ui_collection.c', 159 'test_ui_collection.c',
160 'test_ui_collection_view.c', 160 'test_ui_collection_view.c',
161 'test_ui_items.c', 161 'test_ui_items.c',
diff --git a/src/bin/elementary/test.c b/src/bin/elementary/test.c
index 8259ed8..a78850a 100644
--- a/src/bin/elementary/test.c
+++ b/src/bin/elementary/test.c
@@ -397,7 +397,7 @@ void test_ui_spotlight_stack(void *data, Evas_Object *obj, void *event_info);
397void test_ui_spotlight_plain(void *data, Evas_Object *obj, void *event_info); 397void test_ui_spotlight_plain(void *data, Evas_Object *obj, void *event_info);
398void test_ui_spotlight_scroll(void *data, Evas_Object *obj, void *event_info); 398void test_ui_spotlight_scroll(void *data, Evas_Object *obj, void *event_info);
399 399
400void test_ui_relative_layout(void *data, Evas_Object *obj, void *event_info); 400void test_ui_relative_container(void *data, Evas_Object *obj, void *event_info);
401void test_efl_ui_radio(void *data, Evas_Object *obj, void *event_info); 401void test_efl_ui_radio(void *data, Evas_Object *obj, void *event_info);
402void test_efl_ui_collection_list(void *data, Evas_Object *obj, void *event_info); 402void test_efl_ui_collection_list(void *data, Evas_Object *obj, void *event_info);
403void test_efl_ui_collection_grid(void *data, Evas_Object *obj, void *event_info); 403void test_efl_ui_collection_grid(void *data, Evas_Object *obj, void *event_info);
@@ -908,7 +908,7 @@ add_tests:
908 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Table", test_ui_table); 908 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Table", test_ui_table);
909 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Table (Linear API)", test_ui_table_linear); 909 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Table (Linear API)", test_ui_table_linear);
910 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Table_Static", test_ui_table_static); 910 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Table_Static", test_ui_table_static);
911 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Relative_Layout", test_ui_relative_layout); 911 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Relative_Container", test_ui_relative_container);
912 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Collection List", test_efl_ui_collection_list); 912 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Collection List", test_efl_ui_collection_list);
913 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Collection Grid", test_efl_ui_collection_grid); 913 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Collection Grid", test_efl_ui_collection_grid);
914 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Collection_View", test_efl_ui_collection_view); 914 ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Collection_View", test_efl_ui_collection_view);
diff --git a/src/bin/elementary/test_efl_anim_group_parallel.c b/src/bin/elementary/test_efl_anim_group_parallel.c
index 6283e22..262286a 100644
--- a/src/bin/elementary/test_efl_anim_group_parallel.c
+++ b/src/bin/elementary/test_efl_anim_group_parallel.c
@@ -90,11 +90,11 @@ test_efl_anim_group_parallel(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE
90 90
91 //Rotate from 45 to 0 degrees Animation 91 //Rotate from 45 to 0 degrees Animation
92 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 92 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
93 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, NULL, 0.5, 0.5); 93 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, NULL, EINA_VECTOR2(0.5, 0.5));
94 94
95 //Scale Animation to zoom out 95 //Scale Animation to zoom out
96 Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); 96 Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
97 efl_animation_scale_set(scale_half_anim, 2.0, 2.0, 1.0, 1.0, NULL, 0.5, 0.5); 97 efl_animation_scale_set(scale_half_anim, EINA_VECTOR2(2.0, 2.0), EINA_VECTOR2(1.0, 1.0), NULL, EINA_VECTOR2(0.5, 0.5));
98 98
99 //Show Parallel Group Animation 99 //Show Parallel Group Animation
100 Efl_Canvas_Animation *parallel_show_anim = efl_add(EFL_CANVAS_ANIMATION_GROUP_PARALLEL_CLASS, win); 100 Efl_Canvas_Animation *parallel_show_anim = efl_add(EFL_CANVAS_ANIMATION_GROUP_PARALLEL_CLASS, win);
@@ -113,11 +113,11 @@ test_efl_anim_group_parallel(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE
113 113
114 //Rotate from 0 to 45 degrees Animation 114 //Rotate from 0 to 45 degrees Animation
115 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 115 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
116 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, NULL, 0.5, 0.5); 116 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, NULL, EINA_VECTOR2(0.5, 0.5));
117 117
118 //Scale Animation to zoom in 118 //Scale Animation to zoom in
119 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); 119 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
120 efl_animation_scale_set(scale_double_anim, 1.0, 1.0, 2.0, 2.0, NULL, 0.5, 0.5); 120 efl_animation_scale_set(scale_double_anim, EINA_VECTOR2(1.0, 1.0), EINA_VECTOR2(2.0, 2.0), NULL, EINA_VECTOR2(0.5, 0.5));
121 121
122 //Hide Parallel Group Animation 122 //Hide Parallel Group Animation
123 Efl_Canvas_Animation *parallel_hide_anim = efl_add(EFL_CANVAS_ANIMATION_GROUP_PARALLEL_CLASS, win); 123 Efl_Canvas_Animation *parallel_hide_anim = efl_add(EFL_CANVAS_ANIMATION_GROUP_PARALLEL_CLASS, win);
diff --git a/src/bin/elementary/test_efl_anim_group_sequential.c b/src/bin/elementary/test_efl_anim_group_sequential.c
index 3488149..4beefb2 100644
--- a/src/bin/elementary/test_efl_anim_group_sequential.c
+++ b/src/bin/elementary/test_efl_anim_group_sequential.c
@@ -86,11 +86,11 @@ test_efl_anim_group_sequential(void *data EINA_UNUSED, Evas_Object *obj EINA_UNU
86 /* Animations to hide button */ 86 /* Animations to hide button */
87 //Rotate from 0 to 45 degrees Animation 87 //Rotate from 0 to 45 degrees Animation
88 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 88 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
89 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, NULL, 0.5, 0.5); 89 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, NULL, EINA_VECTOR2(0.5, 0.5));
90 90
91 //Scale Animation to zoom in 91 //Scale Animation to zoom in
92 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); 92 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
93 efl_animation_scale_set(scale_double_anim, 1.0, 1.0, 2.0, 2.0, NULL, 0.5, 0.5); 93 efl_animation_scale_set(scale_double_anim, EINA_VECTOR2(1.0, 1.0), EINA_VECTOR2(2.0, 2.0), NULL, EINA_VECTOR2(0.5, 0.5));
94 94
95 //Hide Animation 95 //Hide Animation
96 Efl_Canvas_Animation *hide_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win); 96 Efl_Canvas_Animation *hide_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win);
@@ -115,12 +115,12 @@ test_efl_anim_group_sequential(void *data EINA_UNUSED, Evas_Object *obj EINA_UNU
115 115
116 //Scale Animation to zoom out 116 //Scale Animation to zoom out
117 Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); 117 Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
118 efl_animation_scale_set(scale_half_anim, 2.0, 2.0, 1.0, 1.0, NULL, 0.5, 0.5); 118 efl_animation_scale_set(scale_half_anim, EINA_VECTOR2(2.0, 2.0), EINA_VECTOR2(1.0, 1.0), NULL, EINA_VECTOR2(0.5, 0.5));
119 efl_animation_duration_set(scale_half_anim, 1.0); 119 efl_animation_duration_set(scale_half_anim, 1.0);
120 120
121 //Rotate from 45 to 0 degrees Animation 121 //Rotate from 45 to 0 degrees Animation
122 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 122 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
123 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, NULL, 0.5, 0.5); 123 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, NULL, EINA_VECTOR2(0.5, 0.5));
124 efl_animation_duration_set(ccw_45_degrees_anim, 1.0); 124 efl_animation_duration_set(ccw_45_degrees_anim, 1.0);
125 125
126 //Show Sequential Group Animation 126 //Show Sequential Group Animation
diff --git a/src/bin/elementary/test_efl_anim_interpolator.c b/src/bin/elementary/test_efl_anim_interpolator.c
index be177d7..96c7649 100644
--- a/src/bin/elementary/test_efl_anim_interpolator.c
+++ b/src/bin/elementary/test_efl_anim_interpolator.c
@@ -33,32 +33,35 @@ _interpolator_create(int index, Evas_Object *win)
33 else if (index == 1) 33 else if (index == 1)
34 { 34 {
35 interp = efl_add(EFL_SINUSOIDAL_INTERPOLATOR_CLASS, win); 35 interp = efl_add(EFL_SINUSOIDAL_INTERPOLATOR_CLASS, win);
36 efl_sinusoidal_interpolator_factor_set(interp, 1.0); 36 efl_sinusoidal_interpolator_slope_set(interp, 1.0);
37 } 37 }
38 else if (index == 2) 38 else if (index == 2)
39 { 39 {
40 interp = efl_add(EFL_DECELERATE_INTERPOLATOR_CLASS, win); 40 interp = efl_add(EFL_DECELERATE_INTERPOLATOR_CLASS, win);
41 efl_decelerate_interpolator_factor_set(interp, 1.0); 41 efl_decelerate_interpolator_slope_set(interp, 1.0);
42 } 42 }
43 else if (index == 3) 43 else if (index == 3)
44 { 44 {
45 interp = efl_add(EFL_ACCELERATE_INTERPOLATOR_CLASS, win); 45 interp = efl_add(EFL_ACCELERATE_INTERPOLATOR_CLASS, win);
46 efl_accelerate_interpolator_factor_set(interp, 1.0); 46 efl_accelerate_interpolator_slope_set(interp, 1.0);
47 } 47 }
48 else if (index == 4) 48 else if (index == 4)
49 { 49 {
50 interp = efl_add(EFL_DIVISOR_INTERPOLATOR_CLASS, win); 50 interp = efl_add(EFL_DIVISOR_INTERPOLATOR_CLASS, win);
51 efl_divisor_interpolator_factors_set(interp, 1.0, 1.0); 51 efl_divisor_interpolator_divisor_set(interp, 1.0);
52 efl_divisor_interpolator_power_set(interp, 1);
52 } 53 }
53 else if (index == 5) 54 else if (index == 5)
54 { 55 {
55 interp = efl_add(EFL_BOUNCE_INTERPOLATOR_CLASS, win); 56 interp = efl_add(EFL_BOUNCE_INTERPOLATOR_CLASS, win);
56 efl_bounce_interpolator_factors_set(interp, 1.0, 1.0); 57 efl_bounce_interpolator_rigidness_set(interp, 1.0);
58 efl_bounce_interpolator_bounces_set(interp, 1);
57 } 59 }
58 else if (index == 6) 60 else if (index == 6)
59 { 61 {
60 interp = efl_add(EFL_SPRING_INTERPOLATOR_CLASS, win); 62 interp = efl_add(EFL_SPRING_INTERPOLATOR_CLASS, win);
61 efl_spring_interpolator_factors_set(interp, 1.0, 1.0); 63 efl_spring_interpolator_decay_set(interp, 1.0);
64 efl_spring_interpolator_oscillations_set(interp, 1);
62 } 65 }
63 66
64 return interp; 67 return interp;
@@ -199,7 +202,7 @@ test_efl_anim_interpolator(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
199 202
200 Efl_Canvas_Animation *anim = 203 Efl_Canvas_Animation *anim =
201 efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win); 204 efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win);
202 efl_animation_translate_set(anim, 0, 0, (WIN_W - BTN_W), 0); 205 efl_animation_translate_set(anim, EINA_POSITION2D(0, 0), EINA_POSITION2D((WIN_W - BTN_W), 0));
203 efl_animation_duration_set(anim, 2.0); 206 efl_animation_duration_set(anim, 2.0);
204 efl_animation_final_state_keep_set(anim, EINA_FALSE); 207 efl_animation_final_state_keep_set(anim, EINA_FALSE);
205 208
diff --git a/src/bin/elementary/test_efl_anim_rotate.c b/src/bin/elementary/test_efl_anim_rotate.c
index 10df8ca..ea8b94a 100644
--- a/src/bin/elementary/test_efl_anim_rotate.c
+++ b/src/bin/elementary/test_efl_anim_rotate.c
@@ -84,13 +84,13 @@ test_efl_anim_rotate(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
84 84
85 //Rotate from 0 to 45 degrees Animation 85 //Rotate from 0 to 45 degrees Animation
86 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 86 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
87 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0,NULL, 0.5, 0.5); 87 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, NULL, EINA_VECTOR2(0.5, 0.5));
88 efl_animation_duration_set(cw_45_degrees_anim, 1.0); 88 efl_animation_duration_set(cw_45_degrees_anim, 1.0);
89 efl_animation_final_state_keep_set(cw_45_degrees_anim, EINA_TRUE); 89 efl_animation_final_state_keep_set(cw_45_degrees_anim, EINA_TRUE);
90 90
91 //Rotate from 45 to 0 degrees Animation 91 //Rotate from 45 to 0 degrees Animation
92 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 92 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
93 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, NULL, 0.5, 0.5); 93 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, NULL, EINA_VECTOR2(0.5, 0.5));
94 efl_animation_duration_set(ccw_45_degrees_anim, 1.0); 94 efl_animation_duration_set(ccw_45_degrees_anim, 1.0);
95 efl_animation_final_state_keep_set(ccw_45_degrees_anim, EINA_TRUE); 95 efl_animation_final_state_keep_set(ccw_45_degrees_anim, EINA_TRUE);
96 96
@@ -151,13 +151,13 @@ test_efl_anim_rotate_relative(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUS
151 151
152 //Rotate from 0 to 45 degrees Animation 152 //Rotate from 0 to 45 degrees Animation
153 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 153 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
154 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, pivot, 0.5, 0.5); 154 efl_animation_rotate_set(cw_45_degrees_anim, 0.0, 45.0, pivot, EINA_VECTOR2(0.5, 0.5));
155 efl_animation_duration_set(cw_45_degrees_anim, 1.0); 155 efl_animation_duration_set(cw_45_degrees_anim, 1.0);
156 efl_animation_final_state_keep_set(cw_45_degrees_anim, EINA_TRUE); 156 efl_animation_final_state_keep_set(cw_45_degrees_anim, EINA_TRUE);
157 157
158 //Rotate from 45 to 0 degrees Animation 158 //Rotate from 45 to 0 degrees Animation
159 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 159 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
160 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, pivot, 0.5, 0.5); 160 efl_animation_rotate_set(ccw_45_degrees_anim, 45.0, 0.0, pivot, EINA_VECTOR2(0.5, 0.5));
161 efl_animation_duration_set(ccw_45_degrees_anim, 1.0); 161 efl_animation_duration_set(ccw_45_degrees_anim, 1.0);
162 efl_animation_final_state_keep_set(ccw_45_degrees_anim, EINA_TRUE); 162 efl_animation_final_state_keep_set(ccw_45_degrees_anim, EINA_TRUE);
163 163
@@ -219,13 +219,13 @@ test_efl_anim_rotate_absolute(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUS
219 219
220 //Rotate from 0 to 45 degrees Animation 220 //Rotate from 0 to 45 degrees Animation
221 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 221 Efl_Canvas_Animation *cw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
222 efl_animation_rotate_absolute_set(cw_45_degrees_anim, 0.0, 45.0, 0, 0); 222 efl_animation_rotate_absolute_set(cw_45_degrees_anim, 0.0, 45.0, EINA_POSITION2D(0, 0));
223 efl_animation_duration_set(cw_45_degrees_anim, 1.0); 223 efl_animation_duration_set(cw_45_degrees_anim, 1.0);
224 efl_animation_final_state_keep_set(cw_45_degrees_anim, EINA_TRUE); 224 efl_animation_final_state_keep_set(cw_45_degrees_anim, EINA_TRUE);
225 225
226 //Rotate from 45 to 0 degrees Animation 226 //Rotate from 45 to 0 degrees Animation
227 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win); 227 Efl_Canvas_Animation *ccw_45_degrees_anim = efl_add(EFL_CANVAS_ANIMATION_ROTATE_CLASS, win);
228 efl_animation_rotate_absolute_set(ccw_45_degrees_anim, 45.0, 0.0, 0, 0); 228 efl_animation_rotate_absolute_set(ccw_45_degrees_anim, 45.0, 0.0, EINA_POSITION2D(0, 0));
229 efl_animation_duration_set(ccw_45_degrees_anim, 1.0); 229 efl_animation_duration_set(ccw_45_degrees_anim, 1.0);
230 efl_animation_final_state_keep_set(ccw_45_degrees_anim, EINA_TRUE); 230 efl_animation_final_state_keep_set(ccw_45_degrees_anim, EINA_TRUE);
231 231
diff --git a/src/bin/elementary/test_efl_anim_scale.c b/src/bin/elementary/test_efl_anim_scale.c
index 5e5f9ab..d3812de 100644
--- a/src/bin/elementary/test_efl_anim_scale.c
+++ b/src/bin/elementary/test_efl_anim_scale.c
@@ -84,13 +84,13 @@ test_efl_anim_scale(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *
84 84
85 //Scale Animation to zoom in 85 //Scale Animation to zoom in
86 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); 86 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
87 efl_animation_scale_set(scale_double_anim, 1.0, 1.0, 2.0, 2.0, NULL, 0.5, 0.5); 87 efl_animation_scale_set(scale_double_anim, EINA_VECTOR2(1.0, 1.0), EINA_VECTOR2(2.0, 2.0), NULL, EINA_VECTOR2(0.5, 0.5));
88 efl_animation_duration_set(scale_double_anim, 1.0); 88 efl_animation_duration_set(scale_double_anim, 1.0);
89 efl_animation_final_state_keep_set(scale_double_anim, EINA_TRUE); 89 efl_animation_final_state_keep_set(scale_double_anim, EINA_TRUE);
90 90
91 //Scale Animation to zoom out 91 //Scale Animation to zoom out
92 Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); 92 Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
93 efl_animation_scale_set(scale_half_anim, 2.0, 2.0, 1.0, 1.0, NULL, 0.5, 0.5); 93 efl_animation_scale_set(scale_half_anim, EINA_VECTOR2(2.0, 2.0), EINA_VECTOR2(1.0, 1.0), NULL, EINA_VECTOR2(0.5, 0.5));
94 efl_animation_duration_set(scale_half_anim, 1.0); 94 efl_animation_duration_set(scale_half_anim, 1.0);
95 efl_animation_final_state_keep_set(scale_half_anim, EINA_TRUE); 95 efl_animation_final_state_keep_set(scale_half_anim, EINA_TRUE);
96 96
@@ -153,13 +153,13 @@ test_efl_anim_scale_relative(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE
153 153
154 //Scale Animation to zoom in 154 //Scale Animation to zoom in
155 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); 155 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
156 efl_animation_scale_set(scale_double_anim, 1.0, 1.0, 2.0, 2.0, pivot, 0.5, 0.5); 156 efl_animation_scale_set(scale_double_anim, EINA_VECTOR2(1.0, 1.0), EINA_VECTOR2(2.0, 2.0), pivot, EINA_VECTOR2(0.5, 0.5));
157 efl_animation_duration_set(scale_double_anim, 1.0); 157 efl_animation_duration_set(scale_double_anim, 1.0);
158 efl_animation_final_state_keep_set(scale_double_anim, EINA_TRUE); 158 efl_animation_final_state_keep_set(scale_double_anim, EINA_TRUE);
159 159
160 //Scale Animation to zoom out 160 //Scale Animation to zoom out
161 Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); 161 Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
162 efl_animation_scale_set(scale_half_anim, 2.0, 2.0, 1.0, 1.0, pivot, 0.5, 0.5); 162 efl_animation_scale_set(scale_half_anim, EINA_VECTOR2(2.0, 2.0), EINA_VECTOR2(1.0, 1.0), pivot, EINA_VECTOR2(0.5, 0.5));
163 efl_animation_duration_set(scale_half_anim, 1.0); 163 efl_animation_duration_set(scale_half_anim, 1.0);
164 efl_animation_final_state_keep_set(scale_half_anim, EINA_TRUE); 164 efl_animation_final_state_keep_set(scale_half_anim, EINA_TRUE);
165 165
@@ -219,13 +219,13 @@ test_efl_anim_scale_absolute(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE
219 219
220 //Scale Animation to zoom in 220 //Scale Animation to zoom in
221 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); 221 Efl_Canvas_Animation *scale_double_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
222 efl_animation_scale_absolute_set(scale_double_anim, 1.0, 1.0, 2.0, 2.0, 0, 0); 222 efl_animation_scale_absolute_set(scale_double_anim, EINA_VECTOR2(1.0, 1.0), EINA_VECTOR2(2.0, 2.0), EINA_POSITION2D(0, 0));
223 efl_animation_duration_set(scale_double_anim, 1.0); 223 efl_animation_duration_set(scale_double_anim, 1.0);
224 efl_animation_final_state_keep_set(scale_double_anim, EINA_TRUE); 224 efl_animation_final_state_keep_set(scale_double_anim, EINA_TRUE);
225 225
226 //Scale Animation to zoom out 226 //Scale Animation to zoom out
227 Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win); 227 Efl_Canvas_Animation *scale_half_anim = efl_add(EFL_CANVAS_ANIMATION_SCALE_CLASS, win);
228 efl_animation_scale_absolute_set(scale_half_anim, 2.0, 2.0, 1.0, 1.0, 0, 0); 228 efl_animation_scale_absolute_set(scale_half_anim, EINA_VECTOR2(2.0, 2.0), EINA_VECTOR2(1.0, 1.0), EINA_POSITION2D(0, 0));
229 efl_animation_duration_set(scale_half_anim, 1.0); 229 efl_animation_duration_set(scale_half_anim, 1.0);
230 efl_animation_final_state_keep_set(scale_half_anim, EINA_TRUE); 230 efl_animation_final_state_keep_set(scale_half_anim, EINA_TRUE);
231 231
diff --git a/src/bin/elementary/test_efl_anim_translate.c b/src/bin/elementary/test_efl_anim_translate.c
index 9f30cc3..5bbf1b2 100644
--- a/src/bin/elementary/test_efl_anim_translate.c
+++ b/src/bin/elementary/test_efl_anim_translate.c
@@ -84,13 +84,13 @@ test_efl_anim_translate(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, vo
84 84
85 //Translate Animation to right bottom relatively 85 //Translate Animation to right bottom relatively
86 Efl_Canvas_Animation *translate_rb_anim = efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win); 86 Efl_Canvas_Animation *translate_rb_anim = efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win);
87 efl_animation_translate_set(translate_rb_anim, 0, 0, 100, 100); 87 efl_animation_translate_set(translate_rb_anim, EINA_POSITION2D(0, 0), EINA_POSITION2D(100, 100));
88 efl_animation_duration_set(translate_rb_anim, 1.0); 88 efl_animation_duration_set(translate_rb_anim, 1.0);
89 efl_animation_final_state_keep_set(translate_rb_anim, EINA_TRUE); 89 efl_animation_final_state_keep_set(translate_rb_anim, EINA_TRUE);
90 90
91 //Translate Animation to left top relatively 91 //Translate Animation to left top relatively
92 Efl_Canvas_Animation *translate_lt_anim = efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win); 92 Efl_Canvas_Animation *translate_lt_anim = efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win);
93 efl_animation_translate_set(translate_lt_anim, 100, 100, 0, 0); 93 efl_animation_translate_set(translate_lt_anim, EINA_POSITION2D(100, 100), EINA_POSITION2D(0, 0));
94 efl_animation_duration_set(translate_lt_anim, 1.0); 94 efl_animation_duration_set(translate_lt_anim, 1.0);
95 efl_animation_final_state_keep_set(translate_lt_anim, EINA_TRUE); 95 efl_animation_final_state_keep_set(translate_lt_anim, EINA_TRUE);
96 96
@@ -150,13 +150,13 @@ test_efl_anim_translate_absolute(void *data EINA_UNUSED, Evas_Object *obj EINA_U
150 150
151 //Translate Animation to right bottom absolutely 151 //Translate Animation to right bottom absolutely
152 Efl_Canvas_Animation *translate_rb_anim = efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win); 152 Efl_Canvas_Animation *translate_rb_anim = efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win);
153 efl_animation_translate_absolute_set(translate_rb_anim, 0, 0, 100, 100); 153 efl_animation_translate_absolute_set(translate_rb_anim, EINA_POSITION2D(0, 0), EINA_POSITION2D(100, 100));
154 efl_animation_duration_set(translate_rb_anim, 1.0); 154 efl_animation_duration_set(translate_rb_anim, 1.0);
155 efl_animation_final_state_keep_set(translate_rb_anim, EINA_TRUE); 155 efl_animation_final_state_keep_set(translate_rb_anim, EINA_TRUE);
156 156
157 //Translate Animation to left top absolutely 157 //Translate Animation to left top absolutely
158 Efl_Canvas_Animation *translate_lt_anim = efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win); 158 Efl_Canvas_Animation *translate_lt_anim = efl_add(EFL_CANVAS_ANIMATION_TRANSLATE_CLASS, win);
159 efl_animation_translate_absolute_set(translate_lt_anim, 100, 100, 0, 0); 159 efl_animation_translate_absolute_set(translate_lt_anim, EINA_POSITION2D(100, 100), EINA_POSITION2D(0, 0));
160 efl_animation_duration_set(translate_lt_anim, 1.0); 160 efl_animation_duration_set(translate_lt_anim, 1.0);
161 efl_animation_final_state_keep_set(translate_lt_anim, EINA_TRUE); 161 efl_animation_final_state_keep_set(translate_lt_anim, EINA_TRUE);
162 162
diff --git a/src/bin/elementary/test_events.c b/src/bin/elementary/test_events.c
index e1438db..48eac32 100644
--- a/src/bin/elementary/test_events.c
+++ b/src/bin/elementary/test_events.c
@@ -5,7 +5,7 @@
5#include <Elementary.h> 5#include <Elementary.h>
6 6
7#define EFL_INTERNAL_UNSTABLE 7#define EFL_INTERNAL_UNSTABLE
8#include "interfaces/efl_common_internal.h" 8#include "Evas_Internal.h"
9 9
10#define DEFAULT_TEXT "Click the white rectangle to get started" 10#define DEFAULT_TEXT "Click the white rectangle to get started"
11 11
diff --git a/src/bin/elementary/test_ui_relative_layout.c b/src/bin/elementary/test_ui_relative_container.c
index 40d9891..40e2c1a 100644
--- a/src/bin/elementary/test_ui_relative_layout.c
+++ b/src/bin/elementary/test_ui_relative_container.c
@@ -57,20 +57,20 @@ _btn_clicked_to_cb(void *data, const Efl_Event *event)
57 switch (opt) 57 switch (opt)
58 { 58 {
59 case LEFT: 59 case LEFT:
60 efl_ui_relative_layout_relation_left_get(layout, btn, NULL, &relative); 60 efl_ui_relative_container_relation_left_get(layout, btn, NULL, &relative);
61 efl_ui_relative_layout_relation_left_set(layout, btn, to, relative); 61 efl_ui_relative_container_relation_left_set(layout, btn, to, relative);
62 break; 62 break;
63 case RIGHT: 63 case RIGHT:
64 efl_ui_relative_layout_relation_right_get(layout, btn, NULL, &relative); 64 efl_ui_relative_container_relation_right_get(layout, btn, NULL, &relative);
65 efl_ui_relative_layout_relation_right_set(layout, btn, to, relative); 65 efl_ui_relative_container_relation_right_set(layout, btn, to, relative);
66 break; 66 break;
67 case TOP: 67 case TOP:
68 efl_ui_relative_layout_relation_top_get(layout, btn, NULL, &relative); 68 efl_ui_relative_container_relation_top_get(layout, btn, NULL, &relative);
69 efl_ui_relative_layout_relation_top_set(layout, btn, to, relative); 69 efl_ui_relative_container_relation_top_set(layout, btn, to, relative);
70 break; 70 break;
71 case BOTTOM: 71 case BOTTOM:
72 efl_ui_relative_layout_relation_bottom_get(layout, btn, NULL, &relative); 72 efl_ui_relative_container_relation_bottom_get(layout, btn, NULL, &relative);
73 efl_ui_relative_layout_relation_bottom_set(layout, btn, to, relative); 73 efl_ui_relative_container_relation_bottom_set(layout, btn, to, relative);
74 break; 74 break;
75 } 75 }
76 efl_text_set(obj, ((to == layout) ? "parent" : (char *)efl_text_get(to))); 76 efl_text_set(obj, ((to == layout) ? "parent" : (char *)efl_text_get(to)));
@@ -89,16 +89,16 @@ _slider_changed_relative_cb(void *data, const Efl_Event *event)
89 switch (opt) 89 switch (opt)
90 { 90 {
91 case LEFT: 91 case LEFT:
92 efl_ui_relative_layout_relation_left_set(layout, btn, NULL, val); 92 efl_ui_relative_container_relation_left_set(layout, btn, NULL, val);
93 break; 93 break;
94 case RIGHT: 94 case RIGHT:
95 efl_ui_relative_layout_relation_right_set(layout, btn, NULL, val); 95 efl_ui_relative_container_relation_right_set(layout, btn, NULL, val);
96 break; 96 break;
97 case TOP: 97 case TOP:
98 efl_ui_relative_layout_relation_top_set(layout, btn, NULL, val); 98 efl_ui_relative_container_relation_top_set(layout, btn, NULL, val);
99 break; 99 break;
100 case BOTTOM: 100 case BOTTOM:
101 efl_ui_relative_layout_relation_bottom_set(layout, btn, NULL, val); 101 efl_ui_relative_container_relation_bottom_set(layout, btn, NULL, val);
102 break; 102 break;
103 } 103 }
104} 104}
@@ -131,19 +131,19 @@ _setter_add(Eo *vbox, Eo *btn, Options option)
131 { 131 {
132 case LEFT: 132 case LEFT:
133 text = "left"; 133 text = "left";
134 efl_ui_relative_layout_relation_left_get(layout, btn, &to, &relative); 134 efl_ui_relative_container_relation_left_get(layout, btn, &to, &relative);
135 break; 135 break;
136 case RIGHT: 136 case RIGHT:
137 text = "right"; 137 text = "right";
138 efl_ui_relative_layout_relation_right_get(layout, btn, &to, &relative); 138 efl_ui_relative_container_relation_right_get(layout, btn, &to, &relative);
139 break; 139 break;
140 case TOP: 140 case TOP:
141 text = "top"; 141 text = "top";
142 efl_ui_relative_layout_relation_top_get(layout, btn, &to, &relative); 142 efl_ui_relative_container_relation_top_get(layout, btn, &to, &relative);
143 break; 143 break;
144 case BOTTOM: 144 case BOTTOM:
145 text = "bottom"; 145 text = "bottom";
146 efl_ui_relative_layout_relation_bottom_get(layout, btn, &to, &relative); 146 efl_ui_relative_container_relation_bottom_get(layout, btn, &to, &relative);
147 break; 147 break;
148 } 148 }
149 btn_text = ((to == layout) ? "parent" : (char *)efl_text_get(to)); 149 btn_text = ((to == layout) ? "parent" : (char *)efl_text_get(to));
@@ -271,12 +271,12 @@ _button_frame_add(Eo *box, Eo *btn)
271} 271}
272 272
273void 273void
274test_ui_relative_layout(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) 274test_ui_relative_container(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
275{ 275{
276 Eo *win, *vbox, *f, *hbox; 276 Eo *win, *vbox, *f, *hbox;
277 277
278 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), 278 win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
279 efl_text_set(efl_added, "Efl.Ui.Relative_Layout"), 279 efl_text_set(efl_added, "Efl.Ui.Relative_Container"),
280 efl_ui_win_autodel_set(efl_added, EINA_TRUE)); 280 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
281 281
282 vbox = efl_add(EFL_UI_BOX_CLASS, win, 282 vbox = efl_add(EFL_UI_BOX_CLASS, win,
@@ -301,26 +301,26 @@ test_ui_relative_layout(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, vo
301 efl_text_set(efl_added, "Contents"), 301 efl_text_set(efl_added, "Contents"),
302 efl_pack(vbox, efl_added)); 302 efl_pack(vbox, efl_added));
303 303
304 layout = efl_add(EFL_UI_RELATIVE_LAYOUT_CLASS, f, 304 layout = efl_add(EFL_UI_RELATIVE_CONTAINER_CLASS, f,
305 efl_content_set(f, efl_added)); 305 efl_content_set(f, efl_added));
306 306
307 btn1 = efl_add(EFL_UI_BUTTON_CLASS, layout, 307 btn1 = efl_add(EFL_UI_BUTTON_CLASS, layout,
308 efl_text_set(efl_added, "button1"), 308 efl_text_set(efl_added, "button1"),
309 efl_gfx_hint_align_set(efl_added, 0.0, 0.0), 309 efl_gfx_hint_align_set(efl_added, 0.0, 0.0),
310 efl_event_callback_add(efl_added, EFL_INPUT_EVENT_CLICKED, _btn_color_clicked_cb, layout), 310 efl_event_callback_add(efl_added, EFL_INPUT_EVENT_CLICKED, _btn_color_clicked_cb, layout),
311 efl_ui_relative_layout_relation_right_set(layout, efl_added, layout, 0.0), 311 efl_ui_relative_container_relation_right_set(layout, efl_added, layout, 0.0),
312 efl_ui_relative_layout_relation_bottom_set(layout, efl_added, layout, 0.0)); 312 efl_ui_relative_container_relation_bottom_set(layout, efl_added, layout, 0.0));
313 313
314 btn2 = efl_add(EFL_UI_BUTTON_CLASS, layout, 314 btn2 = efl_add(EFL_UI_BUTTON_CLASS, layout,
315 efl_text_set(efl_added, "button2"), 315 efl_text_set(efl_added, "button2"),
316 efl_gfx_hint_align_set(efl_added, 0.5, 0.0), 316 efl_gfx_hint_align_set(efl_added, 0.5, 0.0),
317 efl_ui_relative_layout_relation_left_set(layout, efl_added, btn1, 1.0), 317 efl_ui_relative_container_relation_left_set(layout, efl_added, btn1, 1.0),
318 efl_ui_relative_layout_relation_bottom_set(layout, efl_added, layout, 0.0)); 318 efl_ui_relative_container_relation_bottom_set(layout, efl_added, layout, 0.0));
319 319
320 btn3 = efl_add(EFL_UI_BUTTON_CLASS, layout, 320 btn3 = efl_add(EFL_UI_BUTTON_CLASS, layout,
321 efl_text_set(efl_added, "button3"), 321 efl_text_set(efl_added, "button3"),
322 efl_ui_relative_layout_relation_left_set(layout, efl_added, btn2, 0.0), 322 efl_ui_relative_container_relation_left_set(layout, efl_added, btn2, 0.0),
323 efl_ui_relative_layout_relation_top_set(layout, efl_added, btn2, 1.0)); 323 efl_ui_relative_container_relation_top_set(layout, efl_added, btn2, 1.0));
324 324
325 _button_frame_add(hbox, btn1); 325 _button_frame_add(hbox, btn1);
326 _button_frame_add(hbox, btn2); 326 _button_frame_add(hbox, btn2);
diff --git a/src/bin/eolian/headers.c b/src/bin/eolian/headers.c
index 3a84e0a..ead40d8 100644
--- a/src/bin/eolian/headers.c
+++ b/src/bin/eolian/headers.c
@@ -168,7 +168,7 @@ _gen_func(const Eolian_State *state, const Eolian_Function *fid,
168 eina_strbuf_append(buf, "void"); 168 eina_strbuf_append(buf, "void");
169 169
170 eina_strbuf_append(buf, ")"); 170 eina_strbuf_append(buf, ")");
171 if (!eolian_function_return_allow_unused(fid, ftype)) 171 if (!eolian_function_return_allow_unused(fid, ftype) || return_move)
172 { 172 {
173 if (!flagbuf) 173 if (!flagbuf)
174 flagbuf = eina_strbuf_new(); 174 flagbuf = eina_strbuf_new();
diff --git a/src/bin/eolian_cxx/eolian_cxx.cc b/src/bin/eolian_cxx/eolian_cxx.cc
index 636d1eb..a625627 100644
--- a/src/bin/eolian_cxx/eolian_cxx.cc
+++ b/src/bin/eolian_cxx/eolian_cxx.cc
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1 16
2#include <iostream> 17#include <iostream>
3#include <fstream> 18#include <fstream>
diff --git a/src/bin/eolian_mono/eolian/mono/alias_definition.hh b/src/bin/eolian_mono/eolian/mono/alias_definition.hh
index 5d275a3..7f3f258 100644
--- a/src/bin/eolian_mono/eolian/mono/alias_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/alias_definition.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_ALIAS_DEFINITION_HH 16#ifndef EOLIAN_MONO_ALIAS_DEFINITION_HH
2#define EOLIAN_MONO_ALIAS_DEFINITION_HH 17#define EOLIAN_MONO_ALIAS_DEFINITION_HH
3 18
@@ -63,6 +78,21 @@ struct alias_definition_generator
63 << scope_tab << "{\n" 78 << scope_tab << "{\n"
64 << scope_tab << scope_tab << "return value.payload;\n" 79 << scope_tab << scope_tab << "return value.payload;\n"
65 << scope_tab << "}\n" 80 << scope_tab << "}\n"
81
82 << scope_tab << "/// <summary>Converts an instance of " << alias_type_doc << " to this struct.</summary>\n"
83 << scope_tab << "/// <param name=\"value\">The value to be converted.</param>\n"
84 << scope_tab << "/// <returns>A struct with the given value.</returns>\n"
85 << scope_tab << "public static " << alias_name << " From" << name_helpers::translate_value_type(alias_type) << "(" << alias_type << " value)\n"
86 << scope_tab << "{\n"
87 << scope_tab << scope_tab << "return value;\n"
88 << scope_tab << "}\n\n"
89
90 << scope_tab << "/// <summary>Converts an instance of this struct to " << alias_type_doc << ".</summary>\n"
91 << scope_tab << "/// <returns>The actual value the alias is wrapping.</returns>\n"
92 << scope_tab << "public " << alias_type << " To" << name_helpers::translate_value_type(alias_type) << "()\n"
93 << scope_tab << "{\n"
94 << scope_tab << scope_tab << "return this;\n"
95 << scope_tab << "}\n"
66 << "}\n" 96 << "}\n"
67 ).generate(sink, alias, context)) 97 ).generate(sink, alias, context))
68 return false; 98 return false;
diff --git a/src/bin/eolian_mono/eolian/mono/async_function_definition.hh b/src/bin/eolian_mono/eolian/mono/async_function_definition.hh
index 8ca3c5c..bf00dda 100644
--- a/src/bin/eolian_mono/eolian/mono/async_function_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/async_function_definition.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_ASYNC_FUNCTION_DEFINITION_HH 16#ifndef EOLIAN_MONO_ASYNC_FUNCTION_DEFINITION_HH
2#define EOLIAN_MONO_ASYNC_FUNCTION_DEFINITION_HH 17#define EOLIAN_MONO_ASYNC_FUNCTION_DEFINITION_HH
3 18
@@ -80,7 +95,7 @@ struct async_function_declaration_generator
80 if (!as_generator( 95 if (!as_generator(
81 scope_tab << "/// <param name=\"token\">Token to notify the async operation of external request to cancel.</param>\n" 96 scope_tab << "/// <param name=\"token\">Token to notify the async operation of external request to cancel.</param>\n"
82 << scope_tab << "/// <returns>An async task wrapping the result of the operation.</returns>\n" 97 << scope_tab << "/// <returns>An async task wrapping the result of the operation.</returns>\n"
83 << scope_tab << "System.Threading.Tasks.Task<Eina.Value> " << name_helpers::managed_async_method_name(f) << "(" << *(parameter << ",") << 98 << scope_tab << "System.Threading.Tasks.Task<Eina.Value> " << name_helpers::managed_async_method_name(f) << "(" << *(parameter << ", ") <<
84 " System.Threading.CancellationToken token = default(System.Threading.CancellationToken));\n\n" 99 " System.Threading.CancellationToken token = default(System.Threading.CancellationToken));\n\n"
85 ).generate(sink, f.parameters, context)) 100 ).generate(sink, f.parameters, context))
86 return false; 101 return false;
@@ -138,9 +153,9 @@ struct async_function_definition_generator
138 if(!as_generator( 153 if(!as_generator(
139 scope_tab << "/// <param name=\"token\">Token to notify the async operation of external request to cancel.</param>\n" 154 scope_tab << "/// <param name=\"token\">Token to notify the async operation of external request to cancel.</param>\n"
140 << scope_tab << "/// <returns>An async task wrapping the result of the operation.</returns>\n" 155 << scope_tab << "/// <returns>An async task wrapping the result of the operation.</returns>\n"
141 << scope_tab << "public System.Threading.Tasks.Task<Eina.Value> " << name_helpers::managed_async_method_name(f) << "(" << *(parameter << ",") << " System.Threading.CancellationToken token = default(System.Threading.CancellationToken))\n" 156 << scope_tab << "public System.Threading.Tasks.Task<Eina.Value> " << name_helpers::managed_async_method_name(f) << "(" << *(parameter << ", ") << " System.Threading.CancellationToken token = default(System.Threading.CancellationToken))\n"
142 << scope_tab << "{\n" 157 << scope_tab << "{\n"
143 << scope_tab << scope_tab << "Eina.Future future = " << name_helpers::managed_method_name(f) << "(" << (string % ",") << ");\n" 158 << scope_tab << scope_tab << "Eina.Future future = " << name_helpers::managed_method_name(f) << "(" << (string % ", ") << ");\n"
144 << scope_tab << scope_tab << "return Efl.Eo.Globals.WrapAsync(future, token);\n" 159 << scope_tab << scope_tab << "return Efl.Eo.Globals.WrapAsync(future, token);\n"
145 << scope_tab << "}\n\n" 160 << scope_tab << "}\n\n"
146 ).generate(sink, std::make_tuple(f.parameters, param_forwarding), context)) 161 ).generate(sink, std::make_tuple(f.parameters, param_forwarding), context))
diff --git a/src/bin/eolian_mono/eolian/mono/blacklist.hh b/src/bin/eolian_mono/eolian/mono/blacklist.hh
index 49cded5..07c365f 100644
--- a/src/bin/eolian_mono/eolian/mono/blacklist.hh
+++ b/src/bin/eolian_mono/eolian/mono/blacklist.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_BLACKLIST_HH 16#ifndef EOLIAN_MONO_BLACKLIST_HH
2#define EOLIAN_MONO_BLACKLIST_HH 17#define EOLIAN_MONO_BLACKLIST_HH
3 18
@@ -49,6 +64,12 @@ inline bool is_function_blacklisted(std::string const& c_name)
49 || c_name == "efl_ui_list_model_size_get" 64 || c_name == "efl_ui_list_model_size_get"
50 || c_name == "efl_ui_list_relayout_layout_do" 65 || c_name == "efl_ui_list_relayout_layout_do"
51 || c_name == "efl_event_callback_forwarder_priority_add" // Depends on constants support. 66 || c_name == "efl_event_callback_forwarder_priority_add" // Depends on constants support.
67 || c_name == "efl_event_callback_forwarder_del"
68 || c_name == "efl_ui_text_context_menu_item_add"
69 || c_name == "efl_ui_widget_input_event_handler"
70 || c_name == "efl_access_object_event_handler_add"
71 || c_name == "efl_access_object_event_handler_del"
72 || c_name == "efl_access_object_event_emit"
52 ; 73 ;
53} 74}
54 75
diff --git a/src/bin/eolian_mono/eolian/mono/documentation.hh b/src/bin/eolian_mono/eolian/mono/documentation.hh
index 7bcdfc5..b57dc4a 100644
--- a/src/bin/eolian_mono/eolian/mono/documentation.hh
+++ b/src/bin/eolian_mono/eolian/mono/documentation.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_DOCUMENTATION_HPP 16#ifndef EOLIAN_MONO_DOCUMENTATION_HPP
2#define EOLIAN_MONO_DOCUMENTATION_HPP 17#define EOLIAN_MONO_DOCUMENTATION_HPP
3 18
@@ -70,7 +85,7 @@ struct documentation_generator
70 const char* eo_name = ::eolian_function_name_get(function); 85 const char* eo_name = ::eolian_function_name_get(function);
71 std::string name = object_ref_conversion(klass); 86 std::string name = object_ref_conversion(klass);
72 87
73 // Klass is needed to check the property naming rulles 88 // Klass is needed to check the property naming rules
74 attributes::klass_def klass_d((const ::Eolian_Class *)klass, eolian_object_unit_get(klass)); 89 attributes::klass_def klass_d((const ::Eolian_Class *)klass, eolian_object_unit_get(klass));
75 90
76 // Comment the block below to enable @see reference conversion for non-public interface members. 91 // Comment the block below to enable @see reference conversion for non-public interface members.
diff --git a/src/bin/eolian_mono/eolian/mono/enum_definition.hh b/src/bin/eolian_mono/eolian/mono/enum_definition.hh
index 96595d3..76bad3b 100644
--- a/src/bin/eolian_mono/eolian/mono/enum_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/enum_definition.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_ENUM_DEFINITION_HH 16#ifndef EOLIAN_MONO_ENUM_DEFINITION_HH
2#define EOLIAN_MONO_ENUM_DEFINITION_HH 17#define EOLIAN_MONO_ENUM_DEFINITION_HH
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/events.hh b/src/bin/eolian_mono/eolian/mono/events.hh
index 5ca6b1b..abd5368 100644
--- a/src/bin/eolian_mono/eolian/mono/events.hh
+++ b/src/bin/eolian_mono/eolian/mono/events.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_EVENTS_HH 16#ifndef EOLIAN_MONO_EVENTS_HH
2#define EOLIAN_MONO_EVENTS_HH 17#define EOLIAN_MONO_EVENTS_HH
3 18
@@ -22,7 +37,7 @@ struct unpack_event_args_visitor
22 typedef bool result_type; 37 typedef bool result_type;
23 bool operator()(grammar::attributes::regular_type_def const& regular) const 38 bool operator()(grammar::attributes::regular_type_def const& regular) const
24 { 39 {
25 std::string const& arg = "evt.Info"; 40 std::string const& arg = "info";
26 std::string arg_type = name_helpers::type_full_managed_name(regular); 41 std::string arg_type = name_helpers::type_full_managed_name(regular);
27 42
28 if (regular.is_struct()) 43 if (regular.is_struct())
@@ -30,7 +45,7 @@ struct unpack_event_args_visitor
30 // Structs are usually passed by pointer to events, like having a ptr<> modifier 45 // Structs are usually passed by pointer to events, like having a ptr<> modifier
31 // Uses implicit conversion from IntPtr 46 // Uses implicit conversion from IntPtr
32 return as_generator( 47 return as_generator(
33 " evt.Info" 48 " info"
34 ).generate(sink, attributes::unused, *context); 49 ).generate(sink, attributes::unused, *context);
35 } 50 }
36 else if (type.is_ptr) 51 else if (type.is_ptr)
@@ -106,17 +121,17 @@ struct unpack_event_args_visitor
106 // Type defined in Eo is passed here. (e.g. enum type defined in Eo) 121 // Type defined in Eo is passed here. (e.g. enum type defined in Eo)
107 // Uses conversion from IntPtr with type casting to the given type. 122 // Uses conversion from IntPtr with type casting to the given type.
108 return as_generator( 123 return as_generator(
109 " (" << arg_type << ")evt.Info" 124 " (" << arg_type << ")info"
110 ).generate(sink, attributes::unused, *context); 125 ).generate(sink, attributes::unused, *context);
111 } 126 }
112 } 127 }
113 bool operator()(grammar::attributes::klass_name const& cls) const 128 bool operator()(grammar::attributes::klass_name const& cls) const
114 { 129 {
115 return as_generator("(Efl.Eo.Globals.CreateWrapperFor(evt.Info) as " + name_helpers::klass_full_concrete_name(cls) + ")").generate(sink, attributes::unused, *context); 130 return as_generator("(Efl.Eo.Globals.CreateWrapperFor(info) as " + name_helpers::klass_full_concrete_name(cls) + ")").generate(sink, attributes::unused, *context);
116 } 131 }
117 bool operator()(attributes::complex_type_def const&) const 132 bool operator()(attributes::complex_type_def const&) const
118 { 133 {
119 return as_generator("new " << eolian_mono::type << "(evt.Info, false, false)").generate(sink, type, *context); 134 return as_generator("new " << eolian_mono::type << "(info, false, false)").generate(sink, type, *context);
120 } 135 }
121}; 136};
122 137
@@ -396,8 +411,8 @@ struct event_definition_generator
396 411
397 auto sub_context = change_indentation(indent.inc().inc(), context); 412 auto sub_context = change_indentation(indent.inc().inc(), context);
398 413
399 if (!as_generator(wrapper_args_type << " args = new " << wrapper_args_type << "();\n" 414 if (!as_generator(", info => new " << wrapper_args_type << "{ "
400 << scope_tab(6) << "args.arg = ").generate(arg_initializer_sink, attributes::unused, context)) 415 << "arg = ").generate(arg_initializer_sink, attributes::unused, context))
401 return false; 416 return false;
402 if (!(*etype).original_type.visit(unpack_event_args_visitor<decltype(arg_initializer_sink), decltype(sub_context)>{arg_initializer_sink, &sub_context, *etype})) 417 if (!(*etype).original_type.visit(unpack_event_args_visitor<decltype(arg_initializer_sink), decltype(sub_context)>{arg_initializer_sink, &sub_context, *etype}))
403 return false; 418 return false;
@@ -405,7 +420,7 @@ struct event_definition_generator
405 if (!(*etype).original_type.visit(pack_event_info_and_call_visitor<decltype(event_call_site_sink), decltype(sub_context)>{event_call_site_sink, &sub_context, *etype})) 420 if (!(*etype).original_type.visit(pack_event_info_and_call_visitor<decltype(event_call_site_sink), decltype(sub_context)>{event_call_site_sink, &sub_context, *etype}))
406 return false; 421 return false;
407 422
408 arg_initializer += ";\n"; 423 arg_initializer += " }";
409 424
410 event_args = arg_initializer; 425 event_args = arg_initializer;
411 } 426 }
@@ -459,6 +474,7 @@ struct event_definition_generator
459 { 474 {
460 auto library_name = context_find_tag<library_context>(context).actual_library_name(klass.filename); 475 auto library_name = context_find_tag<library_context>(context).actual_library_name(klass.filename);
461 std::string upper_c_name = utils::to_uppercase(evt.c_name); 476 std::string upper_c_name = utils::to_uppercase(evt.c_name);
477 bool is_concrete = context_find_tag<class_context>(context).current_wrapper_kind == class_context::concrete;
462 478
463 if (!as_generator( 479 if (!as_generator(
464 scope_tab << "/// <summary>Method to raise event "<< event_name << ".\n" 480 scope_tab << "/// <summary>Method to raise event "<< event_name << ".\n"
@@ -495,7 +511,7 @@ struct event_definition_generator
495 if (!as_generator( 511 if (!as_generator(
496 scope_tab << "/// </summary>\n" 512 scope_tab << "/// </summary>\n"
497 << scope_tab << "/// <param name=\"e\">Event to raise.</param>\n" 513 << scope_tab << "/// <param name=\"e\">Event to raise.</param>\n"
498 << scope_tab << "public void On" << event_name << "(" << event_args_type << " e)\n" 514 << scope_tab << (is_concrete ? "public" : "protected virtual") << " void On" << event_name << "(" << event_args_type << " e)\n"
499 << scope_tab << "{\n" 515 << scope_tab << "{\n"
500 << scope_tab << scope_tab << "var key = \"_" << upper_c_name << "\";\n" 516 << scope_tab << scope_tab << "var key = \"_" << upper_c_name << "\";\n"
501 << scope_tab << scope_tab << "IntPtr desc = Efl.EventDescription.GetNative(" << library_name << ", key);\n" 517 << scope_tab << scope_tab << "IntPtr desc = Efl.EventDescription.GetNative(" << library_name << ", key);\n"
@@ -525,24 +541,9 @@ struct event_definition_generator
525 return as_generator( 541 return as_generator(
526 scope_tab << "{\n" 542 scope_tab << "{\n"
527 << scope_tab << scope_tab << "add\n" 543 << scope_tab << scope_tab << "add\n"
528 << scope_tab << scope_tab << "{\n" 544 << scope_tab << scope_tab << "{\n"//evt.type.is_engaged()
529 << scope_tab << scope_tab << scope_tab << "Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>\n" 545 << scope_tab << scope_tab << scope_tab << "Efl.EventCb callerCb = GetInternalEventCallback(value"
530 << scope_tab << scope_tab << scope_tab << "{\n" 546 << (evt.type.is_engaged() ? event_args : "") << ");\n"
531 << scope_tab << scope_tab << scope_tab << scope_tab << "var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;\n"
532 << scope_tab << scope_tab << scope_tab << scope_tab << "if (obj != null)\n"
533 << scope_tab << scope_tab << scope_tab << scope_tab << "{\n"
534 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << event_args
535 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "try\n"
536 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "{\n"
537 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "value?.Invoke(obj, args);\n"
538 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "}\n"
539 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "catch (Exception e)\n"
540 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "{\n"
541 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Log.Error(e.ToString());\n"
542 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);\n"
543 << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "}\n"
544 << scope_tab << scope_tab << scope_tab << scope_tab << "}\n"
545 << scope_tab << scope_tab << scope_tab << "};\n\n"
546 << scope_tab << scope_tab << scope_tab << "string key = \"_" << upper_c_name << "\";\n" 547 << scope_tab << scope_tab << scope_tab << "string key = \"_" << upper_c_name << "\";\n"
547 << scope_tab << scope_tab << scope_tab << "AddNativeEventHandler(" << library_name << ", key, callerCb, value);\n" 548 << scope_tab << scope_tab << scope_tab << "AddNativeEventHandler(" << library_name << ", key, callerCb, value);\n"
548 << scope_tab << scope_tab << "}\n\n" 549 << scope_tab << scope_tab << "}\n\n"
diff --git a/src/bin/eolian_mono/eolian/mono/function_declaration.hh b/src/bin/eolian_mono/eolian/mono/function_declaration.hh
index 734700c..b71ffb1 100644
--- a/src/bin/eolian_mono/eolian/mono/function_declaration.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_declaration.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_FUNCTION_DECLARATION_HH 16#ifndef EOLIAN_MONO_FUNCTION_DECLARATION_HH
2#define EOLIAN_MONO_FUNCTION_DECLARATION_HH 17#define EOLIAN_MONO_FUNCTION_DECLARATION_HH
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/function_definition.hh b/src/bin/eolian_mono/eolian/mono/function_definition.hh
index d17ac56..51bb17c 100644
--- a/src/bin/eolian_mono/eolian/mono/function_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_definition.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_FUNCTION_DEFINITION_HH 16#ifndef EOLIAN_MONO_FUNCTION_DEFINITION_HH
2#define EOLIAN_MONO_FUNCTION_DEFINITION_HH 17#define EOLIAN_MONO_FUNCTION_DEFINITION_HH
3 18
@@ -61,7 +76,7 @@ struct native_function_definition_generator
61 if(!as_generator 76 if(!as_generator
62 ( 77 (
63 indent << eolian_mono::marshall_annotation(true) << "\n" 78 indent << eolian_mono::marshall_annotation(true) << "\n"
64 << indent << "public delegate " 79 << indent << "internal delegate "
65 << eolian_mono::marshall_type(true) 80 << eolian_mono::marshall_type(true)
66 << " " 81 << " "
67 << string << "_api_delegate(" << (f.is_static ? "" : "System.IntPtr obj") 82 << string << "_api_delegate(" << (f.is_static ? "" : "System.IntPtr obj")
@@ -76,7 +91,7 @@ struct native_function_definition_generator
76 91
77 // Delegate holder (so it can't be collected). 92 // Delegate holder (so it can't be collected).
78 if(!as_generator 93 if(!as_generator
79 (indent << "public static readonly Efl.Eo.FunctionWrapper<" << string << "_api_delegate> " << string << "_ptr = new Efl.Eo.FunctionWrapper<" 94 (indent << "internal static readonly Efl.Eo.FunctionWrapper<" << string << "_api_delegate> " << string << "_ptr = new Efl.Eo.FunctionWrapper<"
80 << string << "_api_delegate>(Module, \"" << string << "\");\n\n") 95 << string << "_api_delegate>(Module, \"" << string << "\");\n\n")
81 .generate(sink, std::make_tuple(f.c_name, f.c_name, f.c_name, f.c_name), context)) 96 .generate(sink, std::make_tuple(f.c_name, f.c_name, f.c_name, f.c_name), context))
82 return false; 97 return false;
@@ -208,7 +223,7 @@ struct function_definition_generator
208 << scope_tab(2) << eolian_mono::function_definition_preamble() 223 << scope_tab(2) << eolian_mono::function_definition_preamble()
209 << klass_full_native_inherit_name(f.klass) << "." << string << "_ptr.Value.Delegate(" 224 << klass_full_native_inherit_name(f.klass) << "." << string << "_ptr.Value.Delegate("
210 << self 225 << self
211 << ((!f.is_static && (f.parameters.size() > 0)) ? "," : "") 226 << ((!f.is_static && (f.parameters.size() > 0)) ? ", " : "")
212 << (argument_invocation % ", ") << ");\n" 227 << (argument_invocation % ", ") << ");\n"
213 << scope_tab(2) << eolian_mono::function_definition_epilogue() 228 << scope_tab(2) << eolian_mono::function_definition_epilogue()
214 << scope_tab(1) << "}\n\n") 229 << scope_tab(1) << "}\n\n")
@@ -482,8 +497,8 @@ struct property_wrapper_definition_generator
482 << argument(false) << " = default(" << type(true) << ");\n" 497 << argument(false) << " = default(" << type(true) << ");\n"
483 ) 498 )
484 << scope_tab(3) << name_helpers::managed_method_name(*property.getter) 499 << scope_tab(3) << name_helpers::managed_method_name(*property.getter)
485 << "(" << (("out _out_" << argument(false)) % ",") << ");\n" 500 << "(" << (("out _out_" << argument(false)) % ", ") << ");\n"
486 << scope_tab(3) << "return (" << (("_out_"<< argument(false)) % ",") << ");\n" 501 << scope_tab(3) << "return (" << (("_out_"<< argument(false)) % ", ") << ");\n"
487 << scope_tab(2) << "}" << "\n" 502 << scope_tab(2) << "}" << "\n"
488 ).generate(sink, std::make_tuple(parameters, parameters, parameters), context)) 503 ).generate(sink, std::make_tuple(parameters, parameters, parameters), context))
489 return false; 504 return false;
diff --git a/src/bin/eolian_mono/eolian/mono/function_helpers.hh b/src/bin/eolian_mono/eolian/mono/function_helpers.hh
index 26146f7..4b9447f 100644
--- a/src/bin/eolian_mono/eolian/mono/function_helpers.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_helpers.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_FUNCTION_DEFINITION_HELPERS_HH 16#ifndef EOLIAN_MONO_FUNCTION_DEFINITION_HELPERS_HH
2#define EOLIAN_MONO_FUNCTION_DEFINITION_HELPERS_HH 17#define EOLIAN_MONO_FUNCTION_DEFINITION_HELPERS_HH
3 18
@@ -172,6 +187,11 @@ inline std::string function_scope_get(attributes::function_def const& f)
172 case attributes::member_scope::scope_private: 187 case attributes::member_scope::scope_private:
173 return "private "; 188 return "private ";
174 case attributes::member_scope::scope_protected: 189 case attributes::member_scope::scope_protected:
190 // Efl.Part.part.get is protected in C to force developers to use `efl_part`.
191 // There is no such restriction in C# as the binding takes care of the returned
192 // object lifetime.
193 if (f.c_name == "efl_part_get")
194 return "public ";
175 return "protected "; 195 return "protected ";
176 case attributes::member_scope::scope_unknown: 196 case attributes::member_scope::scope_unknown:
177 // This should trigger a compilation error 197 // This should trigger a compilation error
diff --git a/src/bin/eolian_mono/eolian/mono/function_pointer.hh b/src/bin/eolian_mono/eolian/mono/function_pointer.hh
index 721368f..aee11ea 100644
--- a/src/bin/eolian_mono/eolian/mono/function_pointer.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_pointer.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_FUNCTION_POINTER_HPP 16#ifndef EOLIAN_MONO_FUNCTION_POINTER_HPP
2#define EOLIAN_MONO_FUNCTION_POINTER_HPP 17#define EOLIAN_MONO_FUNCTION_POINTER_HPP
3 18
@@ -51,7 +66,7 @@ struct function_pointer {
51 return false; 66 return false;
52 // "Internal" delegate, 1-to-1 with the Unamaged function type 67 // "Internal" delegate, 1-to-1 with the Unamaged function type
53 if (!as_generator(marshall_annotation(true) 68 if (!as_generator(marshall_annotation(true)
54 << "public delegate " << marshall_type(true) << " " << string // public? 69 << "internal delegate " << marshall_type(true) << " " << string // public?
55 << "Internal(IntPtr data" << *grammar::attribute_reorder<-1, -1>((", " << marshall_annotation << " " << marshall_parameter)) << ");\n") 70 << "Internal(IntPtr data" << *grammar::attribute_reorder<-1, -1>((", " << marshall_annotation << " " << marshall_parameter)) << ");\n")
56 .generate(sink, std::make_tuple(f.return_type, f.return_type, f_name, f.parameters), funcptr_ctx)) 71 .generate(sink, std::make_tuple(f.return_type, f.return_type, f_name, f.parameters), funcptr_ctx))
57 return false; 72 return false;
@@ -61,9 +76,9 @@ struct function_pointer {
61 << "{\n\n" 76 << "{\n\n"
62 << scope_tab << "private " << f_name << "Internal _cb;\n" 77 << scope_tab << "private " << f_name << "Internal _cb;\n"
63 << scope_tab << "private IntPtr _cb_data;\n" 78 << scope_tab << "private IntPtr _cb_data;\n"
64 << scope_tab << "private EinaFreeCb _cb_free_cb;\n\n" 79 << scope_tab << "private Eina.Callbacks.EinaFreeCb _cb_free_cb;\n\n"
65 80
66 << scope_tab << "internal " << f_name << "Wrapper (" << f_name << "Internal _cb, IntPtr _cb_data, EinaFreeCb _cb_free_cb)\n" 81 << scope_tab << "internal " << f_name << "Wrapper (" << f_name << "Internal _cb, IntPtr _cb_data, Eina.Callbacks.EinaFreeCb _cb_free_cb)\n"
67 << scope_tab << "{\n" 82 << scope_tab << "{\n"
68 << scope_tab << scope_tab << "this._cb = _cb;\n" 83 << scope_tab << scope_tab << "this._cb = _cb;\n"
69 << scope_tab << scope_tab << "this._cb_data = _cb_data;\n" 84 << scope_tab << scope_tab << "this._cb_data = _cb_data;\n"
@@ -99,7 +114,7 @@ struct function_pointer {
99 << scope_tab << scope_tab << "GC.SuppressFinalize(this);\n" 114 << scope_tab << scope_tab << "GC.SuppressFinalize(this);\n"
100 << scope_tab << "}\n\n" 115 << scope_tab << "}\n\n"
101 116
102 << scope_tab << "internal " << type << " ManagedCb(" << (parameter % ",") << ")\n" 117 << scope_tab << "internal " << type << " ManagedCb(" << (parameter % ", ") << ")\n"
103 << scope_tab << "{\n" 118 << scope_tab << "{\n"
104 << function_definition_preamble << "_cb(_cb_data, " << (argument_invocation % ", ") << ");\n" 119 << function_definition_preamble << "_cb(_cb_data, " << (argument_invocation % ", ") << ");\n"
105 << function_definition_epilogue 120 << function_definition_epilogue
diff --git a/src/bin/eolian_mono/eolian/mono/function_registration.hh b/src/bin/eolian_mono/eolian/mono/function_registration.hh
index cdcb903..bef9e21 100644
--- a/src/bin/eolian_mono/eolian/mono/function_registration.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_registration.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_FUNCTION_REGISTRATION_HH 16#ifndef EOLIAN_MONO_FUNCTION_REGISTRATION_HH
2#define EOLIAN_MONO_FUNCTION_REGISTRATION_HH 17#define EOLIAN_MONO_FUNCTION_REGISTRATION_HH
3 18
@@ -49,7 +64,7 @@ struct function_registration_generator
49 return false; 64 return false;
50 65
51 if(!as_generator( 66 if(!as_generator(
52 indent << "if (methods.FirstOrDefault(m => m.Name == \"" << string << "\") != null)\n" 67 indent << "if (methods.Contains(\"" << string << "\"))\n"
53 << indent << "{\n" 68 << indent << "{\n"
54 << indent << scope_tab << "descs.Add(new EflOpDescription() {" 69 << indent << scope_tab << "descs.Add(new EflOpDescription() {"
55#ifdef _WIN32 70#ifdef _WIN32
diff --git a/src/bin/eolian_mono/eolian/mono/generation_contexts.hh b/src/bin/eolian_mono/eolian/mono/generation_contexts.hh
index 985e373..4620769 100644
--- a/src/bin/eolian_mono/eolian/mono/generation_contexts.hh
+++ b/src/bin/eolian_mono/eolian/mono/generation_contexts.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_GENERATION_CONTEXTS_HH 16#ifndef EOLIAN_MONO_GENERATION_CONTEXTS_HH
2#define EOLIAN_MONO_GENERATION_CONTEXTS_HH 17#define EOLIAN_MONO_GENERATION_CONTEXTS_HH
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/helpers.hh b/src/bin/eolian_mono/eolian/mono/helpers.hh
index 5c1db6d..b34a985 100644
--- a/src/bin/eolian_mono/eolian/mono/helpers.hh
+++ b/src/bin/eolian_mono/eolian/mono/helpers.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_HELPERS_HH 16#ifndef EOLIAN_MONO_HELPERS_HH
2#define EOLIAN_MONO_HELPERS_HH 17#define EOLIAN_MONO_HELPERS_HH
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/klass.hh b/src/bin/eolian_mono/eolian/mono/klass.hh
index 65645d3..81d5956 100644
--- a/src/bin/eolian_mono/eolian/mono/klass.hh
+++ b/src/bin/eolian_mono/eolian/mono/klass.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_CLASS_DEFINITION_HPP 16#ifndef EOLIAN_MONO_CLASS_DEFINITION_HPP
2#define EOLIAN_MONO_CLASS_DEFINITION_HPP 17#define EOLIAN_MONO_CLASS_DEFINITION_HPP
3 18
@@ -117,7 +132,7 @@ struct klass
117 continue; 132 continue;
118 133
119 if(first->type != attributes::class_type::regular && first->type != attributes::class_type::abstract_) 134 if(first->type != attributes::class_type::regular && first->type != attributes::class_type::abstract_)
120 if(!as_generator("\n" << scope_tab << string << " ,").generate(sink, name_helpers::klass_full_interface_name(*first), iface_cxt)) 135 if(!as_generator("\n" << scope_tab << string << ",").generate(sink, name_helpers::klass_full_interface_name(*first), iface_cxt))
121 return false; 136 return false;
122 } 137 }
123 138
@@ -187,9 +202,9 @@ struct klass
187 ( 202 (
188 documentation 203 documentation
189 << "public sealed " << (is_partial ? "partial ":"") << "class " << concrete_name << " :\n" 204 << "public sealed " << (is_partial ? "partial ":"") << "class " << concrete_name << " :\n"
190 << scope_tab << (root ? "Efl.Eo.EoWrapper" : "") << (klass_full_concrete_or_interface_name % "") << "\n" 205 << scope_tab << (root ? "Efl.Eo.EoWrapper" : "") << (klass_full_concrete_or_interface_name % "")
191 << scope_tab << ", " << interface_name << "\n" 206 << ",\n" << scope_tab << interface_name
192 << scope_tab << *(", " << name_helpers::klass_full_concrete_or_interface_name) << "\n" 207 << *(",\n" << scope_tab << name_helpers::klass_full_concrete_or_interface_name) << "\n"
193 << "{\n" 208 << "{\n"
194 ).generate(sink, std::make_tuple(cls, inherit_classes, inherit_interfaces), concrete_cxt)) 209 ).generate(sink, std::make_tuple(cls, inherit_classes, inherit_interfaces), concrete_cxt))
195 return false; 210 return false;
@@ -217,7 +232,7 @@ struct klass
217 << scope_tab << "/// <summary>Initializes a new instance of the <see cref=\"" << interface_name << "\"/> class.\n" 232 << scope_tab << "/// <summary>Initializes a new instance of the <see cref=\"" << interface_name << "\"/> class.\n"
218 << scope_tab << "/// Internal usage: This is used when interacting with C code and should not be used directly.</summary>\n" 233 << scope_tab << "/// Internal usage: This is used when interacting with C code and should not be used directly.</summary>\n"
219 << scope_tab << "/// <param name=\"wh\">The native pointer to be wrapped.</param>\n" 234 << scope_tab << "/// <param name=\"wh\">The native pointer to be wrapped.</param>\n"
220 << scope_tab << "private " << concrete_name << "(Efl.Eo.Globals.WrappingHandle wh) : base(wh)\n" 235 << scope_tab << "private " << concrete_name << "(Efl.Eo.WrappingHandle wh) : base(wh)\n"
221 << scope_tab << "{\n" 236 << scope_tab << "{\n"
222 << scope_tab << "}\n\n" 237 << scope_tab << "}\n\n"
223 ) 238 )
@@ -407,7 +422,7 @@ struct klass
407 ( 422 (
408 indent << lit("/// <summary>Wrapper for native methods and virtual method delegates.\n") 423 indent << lit("/// <summary>Wrapper for native methods and virtual method delegates.\n")
409 << indent << "/// For internal use by generated code only.</summary>\n" 424 << indent << "/// For internal use by generated code only.</summary>\n"
410 << indent << "public new class " << native_inherit_name << " : " << (root ? "Efl.Eo.EoWrapper.NativeMethods" : base_name) << "\n" 425 << indent << "internal new class " << native_inherit_name << " : " << (root ? "Efl.Eo.EoWrapper.NativeMethods" : base_name) << "\n"
411 << indent << "{\n" 426 << indent << "{\n"
412 ).generate(sink, attributes::unused, inative_cxt)) 427 ).generate(sink, attributes::unused, inative_cxt))
413 return false; 428 return false;
@@ -424,7 +439,7 @@ struct klass
424 if(!as_generator( 439 if(!as_generator(
425 indent << scope_tab << "/// <summary>Gets the list of Eo operations to override.</summary>\n" 440 indent << scope_tab << "/// <summary>Gets the list of Eo operations to override.</summary>\n"
426 << indent << scope_tab << "/// <returns>The list of Eo operations to be overload.</returns>\n" 441 << indent << scope_tab << "/// <returns>The list of Eo operations to be overload.</returns>\n"
427 << indent << scope_tab << "public override System.Collections.Generic.List<EflOpDescription> GetEoOps(System.Type type, bool includeInherited)\n" 442 << indent << scope_tab << "internal override System.Collections.Generic.List<EflOpDescription> GetEoOps(System.Type type, bool includeInherited)\n"
428 << indent << scope_tab << "{\n" 443 << indent << scope_tab << "{\n"
429 << indent << scope_tab << scope_tab << "var descs = new System.Collections.Generic.List<EflOpDescription>();\n" 444 << indent << scope_tab << scope_tab << "var descs = new System.Collections.Generic.List<EflOpDescription>();\n"
430 ) 445 )
@@ -474,7 +489,7 @@ struct klass
474 if(!as_generator( 489 if(!as_generator(
475 indent << scope_tab << "/// <summary>Returns the Eo class for the native methods of this class.</summary>\n" 490 indent << scope_tab << "/// <summary>Returns the Eo class for the native methods of this class.</summary>\n"
476 << indent << scope_tab << "/// <returns>The native class pointer.</returns>\n" 491 << indent << scope_tab << "/// <returns>The native class pointer.</returns>\n"
477 << indent << scope_tab << "public override IntPtr GetEflClass()\n" 492 << indent << scope_tab << "internal override IntPtr GetEflClass()\n"
478 << indent << scope_tab << "{\n" 493 << indent << scope_tab << "{\n"
479 << indent << scope_tab << scope_tab << "return " << name_helpers::klass_get_full_name(cls) << "();\n" 494 << indent << scope_tab << scope_tab << "return " << name_helpers::klass_get_full_name(cls) << "();\n"
480 << indent << scope_tab << "}\n\n" 495 << indent << scope_tab << "}\n\n"
@@ -549,9 +564,9 @@ struct klass
549 << scope_tab << "/// <param name=\"parent\">Parent instance.</param>\n" 564 << scope_tab << "/// <param name=\"parent\">Parent instance.</param>\n"
550 << *(documentation) 565 << *(documentation)
551 // For constructors with arguments, the parent is also required, as optional parameters can't come before non-optional paramenters. 566 // For constructors with arguments, the parent is also required, as optional parameters can't come before non-optional paramenters.
552 << scope_tab << "public " << inherit_name << "(Efl.Object parent" << ((constructors.size() > 0) ? "" : "= null") << "\n" 567 << scope_tab << "public " << inherit_name << "(Efl.Object parent" << ((constructors.size() > 0) ? "" : "= null")
553 << scope_tab << scope_tab << scope_tab << *(", " << constructor_param ) << ") : " 568 << *(", " << constructor_param ) << ") : "
554 << "base(" << name_helpers::klass_get_name(cls) << "(), parent)\n" 569 << "base(" << name_helpers::klass_get_name(cls) << "(), parent)\n"
555 << scope_tab << "{\n" 570 << scope_tab << "{\n"
556 << (*(scope_tab << scope_tab << constructor_invocation << "\n")) 571 << (*(scope_tab << scope_tab << constructor_invocation << "\n"))
557 << scope_tab << scope_tab << "FinishInstantiation();\n" 572 << scope_tab << scope_tab << "FinishInstantiation();\n"
@@ -565,7 +580,7 @@ struct klass
565 << scope_tab << "/// <summary>Initializes a new instance of the <see cref=\"" << inherit_name << "\"/> class.\n" 580 << scope_tab << "/// <summary>Initializes a new instance of the <see cref=\"" << inherit_name << "\"/> class.\n"
566 << scope_tab << "/// Internal usage: Constructs an instance from a native pointer. This is used when interacting with C code and should not be used directly.</summary>\n" 581 << scope_tab << "/// Internal usage: Constructs an instance from a native pointer. This is used when interacting with C code and should not be used directly.</summary>\n"
567 << scope_tab << "/// <param name=\"wh\">The native pointer to be wrapped.</param>\n" 582 << scope_tab << "/// <param name=\"wh\">The native pointer to be wrapped.</param>\n"
568 << scope_tab << "protected " << inherit_name << "(Efl.Eo.Globals.WrappingHandle wh) : base(wh)\n" 583 << scope_tab << "internal " << inherit_name << "(Efl.Eo.WrappingHandle wh) : base(wh)\n"
569 << scope_tab << "{\n" 584 << scope_tab << "{\n"
570 << scope_tab << "}\n\n" 585 << scope_tab << "}\n\n"
571 ).generate(sink, std::make_tuple(constructors, constructors, constructors), context)) 586 ).generate(sink, std::make_tuple(constructors, constructors, constructors), context))
@@ -580,7 +595,7 @@ struct klass
580 scope_tab << "[Efl.Eo.PrivateNativeClass]\n" 595 scope_tab << "[Efl.Eo.PrivateNativeClass]\n"
581 << scope_tab << "private class " << inherit_name << "Realized : " << inherit_name << "\n" 596 << scope_tab << "private class " << inherit_name << "Realized : " << inherit_name << "\n"
582 << scope_tab << "{\n" 597 << scope_tab << "{\n"
583 << scope_tab << scope_tab << "private " << inherit_name << "Realized(Efl.Eo.Globals.WrappingHandle wh) : base(wh)\n" 598 << scope_tab << scope_tab << "private " << inherit_name << "Realized(Efl.Eo.WrappingHandle wh) : base(wh)\n"
584 << scope_tab << scope_tab << "{\n" 599 << scope_tab << scope_tab << "{\n"
585 << scope_tab << scope_tab << "}\n" 600 << scope_tab << scope_tab << "}\n"
586 << scope_tab << "}\n" 601 << scope_tab << "}\n"
diff --git a/src/bin/eolian_mono/eolian/mono/logging.hh b/src/bin/eolian_mono/eolian/mono/logging.hh
index d13c395..e5b297b 100644
--- a/src/bin/eolian_mono/eolian/mono/logging.hh
+++ b/src/bin/eolian_mono/eolian/mono/logging.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_LOGGING_HH 16#ifndef EOLIAN_MONO_LOGGING_HH
2#define EOLIAN_MONO_LOGGING_HH 17#define EOLIAN_MONO_LOGGING_HH
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/marshall_annotation.hh b/src/bin/eolian_mono/eolian/mono/marshall_annotation.hh
index 82bbd13..0811451 100644
--- a/src/bin/eolian_mono/eolian/mono/marshall_annotation.hh
+++ b/src/bin/eolian_mono/eolian/mono/marshall_annotation.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_MARSHALL_ANNOTATION_IMPL_HH 16#ifndef EOLIAN_MONO_MARSHALL_ANNOTATION_IMPL_HH
2#define EOLIAN_MONO_MARSHALL_ANNOTATION_IMPL_HH 17#define EOLIAN_MONO_MARSHALL_ANNOTATION_IMPL_HH
3 18
@@ -157,8 +172,8 @@ struct marshall_annotation_visitor_generate
157 name = "Efl.Eo.MarshalEflClass"; 172 name = "Efl.Eo.MarshalEflClass";
158 else 173 else
159 { 174 {
160 std::string own = klass_name.base_qualifier & qualifier_info::is_own ? "OwnTag" : "NonOwnTag"; 175 std::string own = klass_name.base_qualifier & qualifier_info::is_own ? "Move" : "NoMove";
161 name = "Efl.Eo.MarshalEo<Efl.Eo." + own + ">"; 176 name = "Efl.Eo.MarshalEo" + own;
162 } 177 }
163 178
164 return as_generator( 179 return as_generator(
diff --git a/src/bin/eolian_mono/eolian/mono/marshall_type.hh b/src/bin/eolian_mono/eolian/mono/marshall_type.hh
index 2b05e63..c921431 100644
--- a/src/bin/eolian_mono/eolian/mono/marshall_type.hh
+++ b/src/bin/eolian_mono/eolian/mono/marshall_type.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_MARSHALL_TYPE_HH 16#ifndef EOLIAN_MONO_MARSHALL_TYPE_HH
2#define EOLIAN_MONO_MARSHALL_TYPE_HH 17#define EOLIAN_MONO_MARSHALL_TYPE_HH
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/marshall_type_impl.hh b/src/bin/eolian_mono/eolian/mono/marshall_type_impl.hh
index 5ba68ab..69b4a9a 100644
--- a/src/bin/eolian_mono/eolian/mono/marshall_type_impl.hh
+++ b/src/bin/eolian_mono/eolian/mono/marshall_type_impl.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_MARSHALL_TYPE_IMPL_HH 16#ifndef EOLIAN_MONO_MARSHALL_TYPE_IMPL_HH
2#define EOLIAN_MONO_MARSHALL_TYPE_IMPL_HH 17#define EOLIAN_MONO_MARSHALL_TYPE_IMPL_HH
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/name_helpers.hh b/src/bin/eolian_mono/eolian/mono/name_helpers.hh
index df1405d..2f3026d 100644
--- a/src/bin/eolian_mono/eolian/mono/name_helpers.hh
+++ b/src/bin/eolian_mono/eolian/mono/name_helpers.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_NAME_HELPERS_HH 16#ifndef EOLIAN_MONO_NAME_HELPERS_HH
2#define EOLIAN_MONO_NAME_HELPERS_HH 17#define EOLIAN_MONO_NAME_HELPERS_HH
3 18
@@ -522,6 +537,32 @@ std::string constructor_managed_name(std::string full_name)
522 return managed_name(tokens.at(tokens.size()-1)); 537 return managed_name(tokens.at(tokens.size()-1));
523} 538}
524 539
540std::string translate_value_type(std::string const& name)
541{
542 static std::map<std::string, std::string> table = {
543 {"sbyte", "SByte"},
544 {"byte","Byte"},
545 {"short","Int16"},
546 {"ushort","UInt16"},
547 {"int", "Int32"},
548 {"uint","UInt32"},
549 {"long","Int64"},
550 {"ulong","UInt64"},
551 {"char","Char"},
552 {"float","Single"},
553 {"double","Double"},
554 {"bool","Boolean"},
555 {"decimal","Decimal"},
556 };
557
558 auto found = table.find(name);
559
560 if (found != table.end())
561 return found->second;
562
563 return name;
564}
565
525} // namespace name_helpers 566} // namespace name_helpers
526 567
527} // namespace eolian_mono 568} // namespace eolian_mono
diff --git a/src/bin/eolian_mono/eolian/mono/parameter.hh b/src/bin/eolian_mono/eolian/mono/parameter.hh
index 4050c60..deb9a9e 100644
--- a/src/bin/eolian_mono/eolian/mono/parameter.hh
+++ b/src/bin/eolian_mono/eolian/mono/parameter.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_PARAMETER_HH 16#ifndef EOLIAN_MONO_PARAMETER_HH
2#define EOLIAN_MONO_PARAMETER_HH 17#define EOLIAN_MONO_PARAMETER_HH
3 18
@@ -479,7 +494,7 @@ struct marshall_parameter_generator
479 ).generate(sink, std::make_tuple(param, param_name), context); 494 ).generate(sink, std::make_tuple(param, param_name), context);
480 495
481 return as_generator( 496 return as_generator(
482 "IntPtr " << param_name << "_data, " << type << "Internal " << param_name << ", EinaFreeCb " 497 "IntPtr " << param_name << "_data, " << type << "Internal " << param_name << ", Eina.Callbacks.EinaFreeCb "
483 << param_name << "_free_cb" 498 << param_name << "_free_cb"
484 ).generate(sink, param, context); 499 ).generate(sink, param, context);
485 } 500 }
@@ -894,7 +909,7 @@ struct native_convert_out_variable_generator
894 // Assign a default value to the out variable in case we end up in the catch clause. 909 // Assign a default value to the out variable in case we end up in the catch clause.
895 return as_generator( 910 return as_generator(
896 string << " = default(" << type << ");" 911 string << " = default(" << type << ");"
897 ).generate(sink, std::make_tuple(param.param_name, param), context); 912 ).generate(sink, std::make_tuple(escape_keyword(param.param_name), param), context);
898 } 913 }
899 return true; 914 return true;
900 } 915 }
@@ -1521,7 +1536,7 @@ struct constructor_param_generator
1521 1536
1522 if (!as_generator( 1537 if (!as_generator(
1523 efl::eolian::grammar::attribute_reorder<1, -1> 1538 efl::eolian::grammar::attribute_reorder<1, -1>
1524 (type(false, ctor.is_optional) << " " << constructor_parameter_name(ctor) << (ctor.is_optional ? " = null" : "")) % "," 1539 (type(false, ctor.is_optional) << " " << constructor_parameter_name(ctor) << (ctor.is_optional ? " = null" : "")) % ", "
1525 ).generate(sink, params, context)) 1540 ).generate(sink, params, context))
1526 return false; 1541 return false;
1527 // } 1542 // }
diff --git a/src/bin/eolian_mono/eolian/mono/part_definition.hh b/src/bin/eolian_mono/eolian/mono/part_definition.hh
index f3811b9..0b8dece 100644
--- a/src/bin/eolian_mono/eolian/mono/part_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/part_definition.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_PART_DEFINITION_HH 16#ifndef EOLIAN_MONO_PART_DEFINITION_HH
2#define EOLIAN_MONO_PART_DEFINITION_HH 17#define EOLIAN_MONO_PART_DEFINITION_HH
3 18
@@ -59,7 +74,7 @@ struct part_extension_method_definition_generator
59 << name_helpers::klass_full_concrete_or_interface_name(cls) 74 << name_helpers::klass_full_concrete_or_interface_name(cls)
60 << ", T> x=null) where T : " << name_helpers::klass_full_concrete_or_interface_name(cls) << "\n" 75 << ", T> x=null) where T : " << name_helpers::klass_full_concrete_or_interface_name(cls) << "\n"
61 << scope_tab << "{\n" 76 << scope_tab << "{\n"
62 << scope_tab << scope_tab << "return new " << bindableClass << "<" << part_klass_name << ">(\"" << part.name << "\" ,fac);\n" 77 << scope_tab << scope_tab << "return new " << bindableClass << "<" << part_klass_name << ">(\"" << part.name << "\", fac);\n"
63 << scope_tab << "}\n\n" 78 << scope_tab << "}\n\n"
64 ).generate(sink, attributes::unused, context)) 79 ).generate(sink, attributes::unused, context))
65 return false; 80 return false;
diff --git a/src/bin/eolian_mono/eolian/mono/struct_definition.hh b/src/bin/eolian_mono/eolian/mono/struct_definition.hh
index 7501449..b3b8d71 100644
--- a/src/bin/eolian_mono/eolian/mono/struct_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/struct_definition.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_STRUCT_DEFINITION_HH 16#ifndef EOLIAN_MONO_STRUCT_DEFINITION_HH
2#define EOLIAN_MONO_STRUCT_DEFINITION_HH 17#define EOLIAN_MONO_STRUCT_DEFINITION_HH
3 18
@@ -276,7 +291,7 @@ struct struct_internal_definition_generator
276 indent << "#pragma warning disable CS1591\n\n" 291 indent << "#pragma warning disable CS1591\n\n"
277 << indent << "/// <summary>Internal wrapper for struct " << string << ".</summary>\n" 292 << indent << "/// <summary>Internal wrapper for struct " << string << ".</summary>\n"
278 << indent << "[StructLayout(LayoutKind.Sequential)]\n" 293 << indent << "[StructLayout(LayoutKind.Sequential)]\n"
279 << indent << "public struct " << string << "\n" 294 << indent << "internal struct " << string << "\n"
280 << indent << "{\n" 295 << indent << "{\n"
281 ) 296 )
282 .generate(sink, std::make_tuple<>(binding_struct_name(struct_), struct_internal_decl_name()), context)) 297 .generate(sink, std::make_tuple<>(binding_struct_name(struct_), struct_internal_decl_name()), context))
@@ -478,6 +493,26 @@ struct struct_definition_generator
478 ).generate(sink, attributes::unused, context)) 493 ).generate(sink, attributes::unused, context))
479 return false; 494 return false;
480 495
496 if(!as_generator(
497 indent << scope_tab << "/// <summary>Conversion to the managed representation from a native pointer.\n"
498 ).generate(sink, attributes::unused, context))
499 return false;
500
501 if (!struct_.documentation.since.empty())
502 if (!as_generator(indent << scope_tab << "/// <para>Since EFL " + struct_.documentation.since + ".</para>\n"
503 ).generate(sink, attributes::unused, context))
504 return false;
505
506 if (!as_generator(
507 indent << scope_tab << "/// </summary>\n"
508 << indent << scope_tab << "/// <param name=\"ptr\">Native pointer to be converted.</param>\n"
509 << indent << scope_tab << "public static " << struct_name << " FromIntPtr(IntPtr ptr)\n"
510 << indent << scope_tab << "{\n"
511 << indent << scope_tab << scope_tab << "return ptr;\n"
512 << indent << scope_tab << "}\n\n"
513 ).generate(sink, attributes::unused, context))
514 return false;
515
481 if (!struct_internal_definition.generate(sink, struct_, change_indentation(indent.inc(), context))) 516 if (!struct_internal_definition.generate(sink, struct_, change_indentation(indent.inc(), context)))
482 return false; 517 return false;
483 518
diff --git a/src/bin/eolian_mono/eolian/mono/struct_fields.hh b/src/bin/eolian_mono/eolian/mono/struct_fields.hh
index 9a0225e..7756d7b 100644
--- a/src/bin/eolian_mono/eolian/mono/struct_fields.hh
+++ b/src/bin/eolian_mono/eolian/mono/struct_fields.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_STRUCT_FIELDS_HH 16#ifndef EOLIAN_MONO_STRUCT_FIELDS_HH
2#define EOLIAN_MONO_STRUCT_FIELDS_HH 17#define EOLIAN_MONO_STRUCT_FIELDS_HH
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/type.hh b/src/bin/eolian_mono/eolian/mono/type.hh
index cae2ad1..018f4ae 100644
--- a/src/bin/eolian_mono/eolian/mono/type.hh
+++ b/src/bin/eolian_mono/eolian/mono/type.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_TYPE_HH 16#ifndef EOLIAN_MONO_TYPE_HH
2#define EOLIAN_MONO_TYPE_HH 17#define EOLIAN_MONO_TYPE_HH
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/type_impl.hh b/src/bin/eolian_mono/eolian/mono/type_impl.hh
index 7c2e5bd..2dd2c34 100644
--- a/src/bin/eolian_mono/eolian/mono/type_impl.hh
+++ b/src/bin/eolian_mono/eolian/mono/type_impl.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_TYPE_IMPL_HH 16#ifndef EOLIAN_MONO_TYPE_IMPL_HH
2#define EOLIAN_MONO_TYPE_IMPL_HH 17#define EOLIAN_MONO_TYPE_IMPL_HH
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/using_decl.hh b/src/bin/eolian_mono/eolian/mono/using_decl.hh
index 3d8b703..e4e12c7 100644
--- a/src/bin/eolian_mono/eolian/mono/using_decl.hh
+++ b/src/bin/eolian_mono/eolian/mono/using_decl.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_USING_DECL_HH 16#ifndef EOLIAN_MONO_USING_DECL_HH
2#define EOLIAN_MONO_USING_DECL_HH 17#define EOLIAN_MONO_USING_DECL_HH
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/utils.hh b/src/bin/eolian_mono/eolian/mono/utils.hh
index 9e583df..6eea0bd 100644
--- a/src/bin/eolian_mono/eolian/mono/utils.hh
+++ b/src/bin/eolian_mono/eolian/mono/utils.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_UTILS_HPP 16#ifndef EOLIAN_MONO_UTILS_HPP
2#define EOLIAN_MONO_UTILS_HPP 17#define EOLIAN_MONO_UTILS_HPP
3 18
diff --git a/src/bin/eolian_mono/eolian/mono/variable_definition.hh b/src/bin/eolian_mono/eolian/mono/variable_definition.hh
index c34a18c..e63db20 100644
--- a/src/bin/eolian_mono/eolian/mono/variable_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/variable_definition.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EOLIAN_MONO_VARIABLE_DEFINITION_HH 16#ifndef EOLIAN_MONO_VARIABLE_DEFINITION_HH
2#define EOLIAN_MONO_VARIABLE_DEFINITION_HH 17#define EOLIAN_MONO_VARIABLE_DEFINITION_HH
3 18
diff --git a/src/bin/eolian_mono/eolian_mono.cc b/src/bin/eolian_mono/eolian_mono.cc
index 97996d9..fd40e99 100644
--- a/src/bin/eolian_mono/eolian_mono.cc
+++ b/src/bin/eolian_mono/eolian_mono.cc
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1 16
2#include <iostream> 17#include <iostream>
3#include <fstream> 18#include <