summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/benchmarks/eina/eina_bench.h2
-rw-r--r--src/benchmarks/eina/eina_bench_crc_hash.c1
-rw-r--r--src/bin/edje/edje_cc.c9
-rw-r--r--src/bin/edje/edje_cc.h6
-rw-r--r--src/bin/edje/edje_cc_handlers.c1837
-rw-r--r--src/bin/edje/edje_cc_out.c300
-rw-r--r--src/bin/edje/edje_cc_parse.c4
-rw-r--r--src/bin/edje/edje_player.c230
-rw-r--r--src/bin/efl_canvas_wl/efl_canvas_wl_test.c (renamed from src/bin/efl_wl/efl_wl_test.c)21
-rw-r--r--src/bin/efl_canvas_wl/efl_canvas_wl_test_stack.c (renamed from src/bin/efl_wl/efl_wl_test_stack.c)10
-rw-r--r--src/bin/efl_canvas_wl/meson.build13
-rw-r--r--src/bin/efl_wl/meson.build13
-rw-r--r--src/bin/elementary/meson.build14
-rw-r--r--src/bin/elementary/perf_test_01.c4
-rw-r--r--src/bin/elementary/perf_test_02.c4
-rw-r--r--src/bin/elementary/perf_test_03.c4
-rw-r--r--src/bin/elementary/perf_test_04.c4
-rw-r--r--src/bin/elementary/perf_test_05.c4
-rw-r--r--src/bin/elementary/perf_test_06.c4
-rw-r--r--src/bin/elementary/test.c3
-rw-r--r--src/bin/elementary/test_efl_gfx_vg_value_provider.c86
-rw-r--r--src/bin/elementary/test_efl_ui_vg_animation.c2
-rw-r--r--src/bin/elementary/test_gesture_framework.c132
-rw-r--r--src/bin/elementary/test_naviframe.c43
-rw-r--r--src/bin/elementary/test_photocam.c7
-rw-r--r--src/bin/elementary/test_popup.c76
-rw-r--r--src/bin/elementary/test_ui_clock.c90
-rw-r--r--src/bin/elementary/test_ui_spotlight.c121
-rw-r--r--src/bin/elementary/test_ui_tab_pager.c20
-rw-r--r--src/bin/eolian_mono/eolian/mono/async_function_definition.hh5
-rw-r--r--src/bin/eolian_mono/eolian/mono/blacklist.hh3
-rw-r--r--src/bin/eolian_mono/eolian/mono/documentation.hh268
-rw-r--r--src/bin/eolian_mono/eolian/mono/events.hh30
-rw-r--r--src/bin/eolian_mono/eolian/mono/function_definition.hh257
-rw-r--r--src/bin/eolian_mono/eolian/mono/generation_contexts.hh13
-rw-r--r--src/bin/eolian_mono/eolian/mono/helpers.hh106
-rw-r--r--src/bin/eolian_mono/eolian/mono/klass.hh45
-rw-r--r--src/bin/eolian_mono/eolian/mono/marshall_annotation.hh21
-rw-r--r--src/bin/eolian_mono/eolian/mono/marshall_type_impl.hh4
-rw-r--r--src/bin/eolian_mono/eolian/mono/name_helpers.hh35
-rw-r--r--src/bin/eolian_mono/eolian/mono/parameter.hh33
-rw-r--r--src/bin/eolian_mono/eolian/mono/property_definition.hh390
-rw-r--r--src/bin/eolian_mono/eolian/mono/struct_definition.hh232
-rw-r--r--src/bin/eolian_mono/eolian/mono/struct_fields.hh127
-rw-r--r--src/bin/eolian_mono/eolian/mono/utils.hh22
-rw-r--r--src/bin/exactness/.gitignore5
-rw-r--r--src/bin/exactness/common.c515
-rw-r--r--src/bin/exactness/common.h273
-rw-r--r--src/bin/exactness/exactness.c712
-rw-r--r--src/bin/exactness/exactness_play.in101
-rw-r--r--src/bin/exactness/exactness_record.in76
-rw-r--r--src/bin/exactness/injector.c393
-rw-r--r--src/bin/exactness/inspect.c1633
-rw-r--r--src/bin/exactness/meson.build66
-rw-r--r--src/bin/exactness/player.c1139
-rw-r--r--src/bin/exactness/player_entry.edc932
-rw-r--r--src/bin/exactness/recorder.c396
-rw-r--r--src/bindings/cxx/eina_cxx/eina_variant.hh239
-rw-r--r--src/bindings/mono/efl_mono.dll.config.in1
-rw-r--r--src/bindings/mono/efl_mono/GenericModel.cs40
-rw-r--r--src/bindings/mono/efl_mono/efl_csharp_application.cs6
-rw-r--r--src/bindings/mono/eina_mono/eina_common.cs8
-rw-r--r--src/bindings/mono/eina_mono/eina_value.cs144
-rw-r--r--src/bindings/mono/eo_mono/EoWrapper.cs10
-rw-r--r--src/bindings/mono/eo_mono/iwrapper.cs39
-rw-r--r--src/bindings/mono/eo_mono/workaround.cs125
-rw-r--r--src/bindings/mono/meson.build1
-rw-r--r--src/edje_external/elementary/meson.build1
-rw-r--r--src/edje_external/emotion/meson.build3
-rw-r--r--src/examples/ecore/ecore_evas_extn_socket_example.c2
-rw-r--r--src/examples/ecore/efl_net_control_example.c4
-rw-r--r--src/examples/elementary/evas3d_map_example.c1211
-rw-r--r--src/examples/elementary/evas3d_map_example.edc964
-rw-r--r--src/examples/elementary/evas3d_object_on_button_example.c288
-rw-r--r--src/examples/elementary/evas3d_scene_on_button_example.c280
-rw-r--r--src/examples/elementary/meson.build6
-rw-r--r--src/examples/elementary/performance/HowTo13
-rw-r--r--src/examples/elementary/performance/Tools.h19
-rw-r--r--src/examples/elementary/performance/background.pngbin177255 -> 0 bytes
-rw-r--r--src/examples/elementary/performance/camera_light.c354
-rw-r--r--src/examples/elementary/performance/graphical.c622
-rw-r--r--src/examples/elementary/performance/graphical_struct.h90
-rw-r--r--src/examples/elementary/performance/initial_config.xml11
-rw-r--r--src/examples/elementary/performance/layout.edc170
-rw-r--r--src/examples/elementary/performance/meson.build31
-rw-r--r--src/examples/elementary/performance/performance.c953
-rw-r--r--src/examples/elementary/performance/target_texture.pngbin2123166 -> 0 bytes
-rw-r--r--src/examples/elementary/performance/tools_private.h51
-rw-r--r--src/examples/elementary/sphere_hunter/EFL_defeat.pngbin88373 -> 0 bytes
-rw-r--r--src/examples/elementary/sphere_hunter/EFL_victory.pngbin108064 -> 0 bytes
-rw-r--r--src/examples/elementary/sphere_hunter/evas_3d_sphere_hunter.c858
-rw-r--r--src/examples/elementary/sphere_hunter/meson.build31
-rw-r--r--src/examples/elementary/sphere_hunter/score.jpgbin51305 -> 0 bytes
-rw-r--r--src/examples/elementary/sphere_hunter/sphere_hunter.edc251
-rw-r--r--src/examples/evas/README32
-rw-r--r--src/examples/evas/evas-3d-aabb.c237
-rw-r--r--src/examples/evas/evas-3d-blending.c312
-rw-r--r--src/examples/evas/evas-3d-colorpick.c415
-rw-r--r--src/examples/evas/evas-3d-cube-rotate.c285
-rw-r--r--src/examples/evas/evas-3d-cube.c262
-rw-r--r--src/examples/evas/evas-3d-cube2.c258
-rw-r--r--src/examples/evas/evas-3d-eet.c210
-rw-r--r--src/examples/evas/evas-3d-fog.c238
-rw-r--r--src/examples/evas/evas-3d-frustum.c446
-rw-r--r--src/examples/evas/evas-3d-hull.c465
-rw-r--r--src/examples/evas/evas-3d-md2.c176
-rw-r--r--src/examples/evas/evas-3d-mmap-set.c260
-rw-r--r--src/examples/evas/evas-3d-obj.c239
-rw-r--r--src/examples/evas/evas-3d-parallax-occlusion.c264
-rw-r--r--src/examples/evas/evas-3d-pick.c189
-rw-r--r--src/examples/evas/evas-3d-ply.c235
-rw-r--r--src/examples/evas/evas-3d-proxy.c262
-rw-r--r--src/examples/evas/evas-3d-shadows.c689
-rw-r--r--src/examples/evas/evas-3d-static-lod.c280
-rw-r--r--src/examples/evas/meson.build21
-rw-r--r--src/examples/evas/resources/models/NoNormal_NoUVs_Colors.ply67
-rw-r--r--src/examples/evas/resources/models/NoNormal_NoUVs_NoColors.ply60
-rw-r--r--src/examples/evas/resources/models/NoNormal_UVs_Colors.ply143
-rw-r--r--src/examples/evas/resources/models/NoNormal_UVs_NoColors.ply140
-rw-r--r--src/examples/evas/resources/models/Normal_NoUVs_Colors.ply144
-rw-r--r--src/examples/evas/resources/models/Normal_NoUVs_NoColors.ply141
-rw-r--r--src/examples/evas/resources/models/Normal_UVs_Colors.ply146
-rw-r--r--src/examples/evas/resources/models/Normal_UVs_NoColors.ply143
-rw-r--r--src/examples/evas/resources/models/convex_hull/column.ply521
-rw-r--r--src/examples/evas/resources/models/convex_hull/column_blender_ch.ply295
-rw-r--r--src/examples/evas/resources/models/convex_hull/column_blender_ch_test.ply164
-rw-r--r--src/examples/evas/resources/models/convex_hull/cube_blender_ch.ply43
-rw-r--r--src/examples/evas/resources/models/convex_hull/cube_blender_ch_test.ply24
-rw-r--r--src/examples/evas/resources/models/convex_hull/eagle_blender_ch.ply306
-rw-r--r--src/examples/evas/resources/models/convex_hull/eagle_blender_ch_test.ply124
-rw-r--r--src/examples/evas/resources/models/convex_hull/home_blender_ch.obj40
-rw-r--r--src/examples/evas/resources/models/convex_hull/home_blender_ch_test.ply35
-rw-r--r--src/examples/evas/resources/models/convex_hull/plain.ply846
-rw-r--r--src/examples/evas/resources/models/convex_hull/plain_blender_ch.ply18
-rw-r--r--src/examples/evas/resources/models/convex_hull/plain_blender_ch_test.ply15
-rw-r--r--src/examples/evas/resources/models/convex_hull/sonic_blender_ch.ply659
-rw-r--r--src/examples/evas/resources/models/convex_hull/sonic_blender_ch_test.ply260
-rw-r--r--src/examples/evas/resources/models/convex_hull/sphere_blender_ch.ply469
-rw-r--r--src/examples/evas/resources/models/convex_hull/sphere_blender_ch_test.ply194
-rw-r--r--src/examples/evas/resources/models/convex_hull/torus_blender_ch.ply12313
-rw-r--r--src/examples/evas/resources/models/convex_hull/torus_blender_ch_test.ply2556
-rw-r--r--src/examples/evas/resources/models/lod/iso_sphere0.obj3208
-rw-r--r--src/examples/evas/resources/models/lod/iso_sphere1.obj1608
-rw-r--r--src/examples/evas/resources/models/lod/iso_sphere2.obj808
-rw-r--r--src/examples/evas/resources/models/mesh_for_mmap.eetbin19495 -> 0 bytes
-rw-r--r--src/examples/evas/resources/models/mesh_for_mmap.md2bin3400 -> 0 bytes
-rw-r--r--src/examples/evas/resources/models/mesh_for_mmap.obj639
-rw-r--r--src/examples/evas/resources/models/mesh_for_mmap.ply401
-rw-r--r--src/examples/evas/resources/models/sonic.md2bin660576 -> 0 bytes
-rw-r--r--src/examples/evas/resources/models/sweet_home.obj107
-rw-r--r--src/examples/evas/resources/models/sweet_home_only_vertex_coords.obj40
-rw-r--r--src/examples/evas/resources/models/sweet_home_without_normals.obj96
-rw-r--r--src/examples/evas/resources/models/sweet_home_without_tex_coords.obj55
-rw-r--r--src/examples/evas/shooter/assets/images/brick-stone.jpgbin30416 -> 0 bytes
-rw-r--r--src/examples/evas/shooter/assets/images/brick-stone_n.jpgbin23490 -> 0 bytes
-rw-r--r--src/examples/evas/shooter/assets/images/bricks.jpgbin90039 -> 0 bytes
-rw-r--r--src/examples/evas/shooter/assets/images/bricks_n.jpgbin34584 -> 0 bytes
-rw-r--r--src/examples/evas/shooter/assets/images/eagle.pngbin35011 -> 0 bytes
-rw-r--r--src/examples/evas/shooter/assets/images/gazebo.pngbin113938 -> 0 bytes
-rw-r--r--src/examples/evas/shooter/assets/images/gazebo_b_n.pngbin148096 -> 0 bytes
-rw-r--r--src/examples/evas/shooter/assets/images/gazebo_t.pngbin119501 -> 0 bytes
-rw-r--r--src/examples/evas/shooter/assets/images/gazebo_t_n.pngbin128640 -> 0 bytes
-rw-r--r--src/examples/evas/shooter/assets/images/gazebo_t_t.pngbin121842 -> 0 bytes
-rw-r--r--src/examples/evas/shooter/assets/images/snake.pngbin76100 -> 0 bytes
-rw-r--r--src/examples/evas/shooter/assets/images/snake_n.pngbin79061 -> 0 bytes
-rw-r--r--src/examples/evas/shooter/assets/images/soldier.pngbin113272 -> 0 bytes
-rw-r--r--src/examples/evas/shooter/assets/images/warrior.pngbin118574 -> 0 bytes
-rw-r--r--src/examples/evas/shooter/assets/models/eagle.md2bin196728 -> 0 bytes
-rw-r--r--src/examples/evas/shooter/assets/models/gazebo_b.md2bin153476 -> 0 bytes
-rw-r--r--src/examples/evas/shooter/assets/models/gazebo_t.md2bin154756 -> 0 bytes
-rw-r--r--src/examples/evas/shooter/assets/models/snake.md2bin270584 -> 0 bytes
-rw-r--r--src/examples/evas/shooter/assets/models/soldier.md2bin591280 -> 0 bytes
-rw-r--r--src/examples/evas/shooter/assets/models/soldier_jump.md2bin518676 -> 0 bytes
-rw-r--r--src/examples/evas/shooter/assets/models/tommy.ply3558
-rw-r--r--src/examples/evas/shooter/assets/models/warrior.md2bin130276 -> 0 bytes
-rw-r--r--src/examples/evas/shooter/evas-3d-shooter-header.c359
-rw-r--r--src/examples/evas/shooter/evas-3d-shooter-header.h196
-rw-r--r--src/examples/evas/shooter/evas-3d-shooter-macros.h242
-rw-r--r--src/examples/evas/shooter/evas-3d-shooter.c1186
-rw-r--r--src/examples/evas/shooter/meson.build5
-rw-r--r--src/generic/emotion/meson.build8
-rw-r--r--src/generic/emotion/vlc/emotion_generic_vlc.c789
-rw-r--r--src/generic/emotion/vlc/meson.build8
-rw-r--r--src/generic/evas/meson.build10
-rw-r--r--src/lib/ecore/Ecore.h13
-rw-r--r--src/lib/ecore/Ecore_Common.h14
-rw-r--r--src/lib/ecore/Ecore_Legacy.h4
-rw-r--r--src/lib/ecore/ecore_exe_eo.h4
-rw-r--r--src/lib/ecore/ecore_internal.h33
-rw-r--r--src/lib/ecore/ecore_main.c22
-rw-r--r--src/lib/ecore/efl_core_proc_env.c6
-rw-r--r--src/lib/ecore/efl_exe.c35
-rw-r--r--src/lib/ecore/efl_exe.eo12
-rw-r--r--src/lib/ecore/efl_filter_model.c35
-rw-r--r--src/lib/ecore/efl_loop_model.c36
-rw-r--r--src/lib/ecore/efl_loop_model.eo1
-rw-r--r--src/lib/ecore_audio/ecore_audio.c2
-rw-r--r--src/lib/ecore_audio/ecore_audio_obj_in.c13
-rw-r--r--src/lib/ecore_audio/ecore_audio_obj_in_sndfile.c34
-rw-r--r--src/lib/ecore_audio/ecore_audio_obj_out.c9
-rw-r--r--src/lib/ecore_audio/ecore_audio_obj_out_pulse.c125
-rw-r--r--src/lib/ecore_audio/ecore_audio_private.h2
-rw-r--r--src/lib/ecore_buffer/bq_mgr_protocol.h60
-rw-r--r--src/lib/ecore_cocoa/Ecore_Cocoa.h36
-rw-r--r--src/lib/ecore_cocoa/ecore_cocoa_cnp.m61
-rw-r--r--src/lib/ecore_cocoa/meson.build2
-rw-r--r--src/lib/ecore_con/ecore_con_url.c5
-rw-r--r--src/lib/ecore_con/efl_net_control-connman.c9
-rw-r--r--src/lib/ecore_con/efl_net_control_manager.eo2
-rw-r--r--src/lib/ecore_con/efl_net_dialer_websocket.c6
-rw-r--r--src/lib/ecore_con/efl_net_server_unix.c68
-rw-r--r--src/lib/ecore_con/efl_net_ssl_conn-openssl.c18
-rw-r--r--src/lib/ecore_evas/Ecore_Evas.h227
-rw-r--r--src/lib/ecore_evas/ecore_evas.c362
-rw-r--r--src/lib/ecore_evas/ecore_evas_fallback_selection.c115
-rw-r--r--src/lib/ecore_evas/ecore_evas_private.h53
-rw-r--r--src/lib/ecore_evas/meson.build3
-rw-r--r--src/lib/ecore_imf/Ecore_IMF.h2
-rw-r--r--src/lib/ecore_input_evas/ecore_input_evas.c4
-rw-r--r--src/lib/ecore_wayland/ecore_wl_dnd.c1
-rw-r--r--src/lib/ecore_wayland/ivi-application-client-protocol.h42
-rw-r--r--src/lib/ecore_wayland/session-recovery-client-protocol.h4
-rw-r--r--src/lib/ecore_wayland/xdg-shell-client-protocol.h42
-rw-r--r--src/lib/ecore_win32/Ecore_Win32.h47
-rw-r--r--src/lib/ecore_win32/ecore_win32_clipboard.c224
-rw-r--r--src/lib/ecore_win32/ecore_win32_event.c201
-rw-r--r--src/lib/ecore_wl2/Ecore_Wl2.h29
-rw-r--r--src/lib/ecore_wl2/ecore_wl2_dnd.c2
-rw-r--r--src/lib/ecore_wl2/ecore_wl2_input.c6
-rw-r--r--src/lib/ecore_wl2/ecore_wl2_internal.h10
-rw-r--r--src/lib/ecore_x/Ecore_X.h9
-rw-r--r--src/lib/ecore_x/ecore_x_fixes.c20
-rw-r--r--src/lib/ecore_x/ecore_x_selection.c8
-rw-r--r--src/lib/ecore_x/ecore_x_vsync.c2
-rw-r--r--src/lib/ector/Ector.h2
-rw-r--r--src/lib/ector/software/ector_software_buffer.c8
-rw-r--r--src/lib/edje/Edje.h2
-rw-r--r--src/lib/edje/Edje_Common.h36
-rw-r--r--src/lib/edje/Edje_Edit.h122
-rw-r--r--src/lib/edje/Edje_Eo.h1
-rw-r--r--src/lib/edje/Edje_Legacy.h9
-rw-r--r--src/lib/edje/Efl_Layout.h1
-rw-r--r--src/lib/edje/edje_cache.c9
-rw-r--r--src/lib/edje/edje_calc.c506
-rw-r--r--src/lib/edje/edje_data.c143
-rw-r--r--src/lib/edje/edje_edit.c9
-rw-r--r--src/lib/edje/edje_entry.c35
-rw-r--r--src/lib/edje/edje_legacy.c69
-rw-r--r--src/lib/edje/edje_load.c162
-rw-r--r--src/lib/edje/edje_lua.c20
-rw-r--r--src/lib/edje/edje_lua2.c2
-rw-r--r--src/lib/edje/edje_match.c10
-rw-r--r--src/lib/edje/edje_message_queue.c1
-rw-r--r--src/lib/edje/edje_multisense.c11
-rw-r--r--src/lib/edje/edje_part.c27
-rw-r--r--src/lib/edje/edje_part_invalid.c2
-rw-r--r--src/lib/edje/edje_private.h217
-rw-r--r--src/lib/edje/edje_program.c83
-rw-r--r--src/lib/edje/edje_textblock.c26
-rw-r--r--src/lib/edje/edje_textblock_styles.c4
-rw-r--r--src/lib/edje/edje_util.c17
-rw-r--r--src/lib/edje/efl_canvas_layout.eo10
-rw-r--r--src/lib/edje/efl_canvas_layout_part.eo13
-rw-r--r--src/lib/edje/efl_canvas_layout_part_invalid.eo2
-rw-r--r--src/lib/edje/efl_canvas_layout_part_type_provider.eo20
-rw-r--r--src/lib/edje/efl_canvas_layout_types.eot3
-rw-r--r--src/lib/edje/efl_layout_group.eo2
-rw-r--r--src/lib/edje/meson.build1
-rw-r--r--src/lib/eet/Eet.h2
-rw-r--r--src/lib/eeze/Eeze.h4
-rw-r--r--src/lib/efl/Efl.h95
-rw-r--r--src/lib/efl/Efl_Config.h.in4
-rw-r--r--src/lib/efl/interfaces/efl_config.eo3
-rw-r--r--src/lib/efl/interfaces/efl_gfx_hint.eo2
-rw-r--r--src/lib/efl/interfaces/efl_gfx_path.c3
-rw-r--r--src/lib/efl/interfaces/efl_gfx_types.eot28
-rw-r--r--src/lib/efl/interfaces/efl_input_text.eo47
-rw-r--r--src/lib/efl/interfaces/efl_model.eo12
-rw-r--r--src/lib/efl/interfaces/efl_player.eo39
-rw-r--r--src/lib/efl/interfaces/efl_text_font_properties.eo27
-rw-r--r--src/lib/efl/interfaces/efl_text_format.eo15
-rw-r--r--src/lib/efl/interfaces/efl_text_markup.eo3
-rw-r--r--src/lib/efl/interfaces/efl_text_style.eo34
-rw-r--r--src/lib/efl/interfaces/efl_text_types.eot13
-rw-r--r--src/lib/efl/interfaces/efl_types.eot4
-rw-r--r--src/lib/efl/interfaces/efl_ui_draggable.eo12
-rw-r--r--src/lib/efl_canvas_wl/Efl_Canvas_Wl.h61
-rw-r--r--src/lib/efl_canvas_wl/copiedfromweston.x (renamed from src/lib/efl_wl/copiedfromweston.x)0
-rw-r--r--src/lib/efl_canvas_wl/dmabuf.c (renamed from src/lib/efl_wl/dmabuf.c)0
-rw-r--r--src/lib/efl_canvas_wl/dmabuf.h (renamed from src/lib/efl_wl/dmabuf.h)0
-rw-r--r--src/lib/efl_canvas_wl/efl_canvas_wl.c (renamed from src/lib/efl_wl/efl_wl.c)684
-rw-r--r--src/lib/efl_canvas_wl/efl_canvas_wl.eo183
-rw-r--r--src/lib/efl_canvas_wl/efl_canvas_wl_surface.eo68
-rw-r--r--src/lib/efl_canvas_wl/meson.build60
-rw-r--r--src/lib/efl_canvas_wl/x11.x (renamed from src/lib/efl_wl/x11.x)0
-rw-r--r--src/lib/efl_mono/efl_custom_exports_mono.c25
-rw-r--r--src/lib/efl_wl/Efl_Wl.h229
-rw-r--r--src/lib/efl_wl/meson.build32
-rw-r--r--src/lib/efreet/Efreet.h2
-rw-r--r--src/lib/efreet/efreet_cache.c26
-rw-r--r--src/lib/eina/Eina.h7
-rw-r--r--src/lib/eina/eina_abstract_content.c458
-rw-r--r--src/lib/eina/eina_abstract_content.h154
-rw-r--r--src/lib/eina/eina_accessor.h4
-rw-r--r--src/lib/eina/eina_debug.h4
-rw-r--r--src/lib/eina/eina_error.h11
-rw-r--r--src/lib/eina/eina_file.c2
-rw-r--r--src/lib/eina/eina_file_common.c6
-rw-r--r--src/lib/eina/eina_freeq.c221
-rw-r--r--src/lib/eina/eina_freeq.h2
-rw-r--r--src/lib/eina/eina_hamster.h13
-rw-r--r--src/lib/eina/eina_hash.h2
-rw-r--r--src/lib/eina/eina_inarray.c2
-rw-r--r--src/lib/eina/eina_inline_array.x1
-rw-r--r--src/lib/eina/eina_inline_mempool.x4
-rw-r--r--src/lib/eina/eina_inline_value.x5
-rw-r--r--src/lib/eina/eina_iterator.c59
-rw-r--r--src/lib/eina/eina_iterator.h22
-rw-r--r--src/lib/eina/eina_list.h4
-rw-r--r--src/lib/eina/eina_lock.h4
-rw-r--r--src/lib/eina/eina_log.c2
-rw-r--r--src/lib/eina/eina_main.c2
-rw-r--r--src/lib/eina/eina_main.h11
-rw-r--r--src/lib/eina/eina_matrix.c206
-rw-r--r--src/lib/eina/eina_matrix.h77
-rw-r--r--src/lib/eina/eina_promise.c74
-rw-r--r--src/lib/eina/eina_promise.h534
-rw-r--r--src/lib/eina/eina_quad.h1
-rw-r--r--src/lib/eina/eina_quadtree.h12
-rw-r--r--src/lib/eina/eina_rbtree.c10
-rw-r--r--src/lib/eina/eina_rectangle.h11
-rw-r--r--src/lib/eina/eina_safety_checks.h10
-rw-r--r--src/lib/eina/eina_slice.h26
-rw-r--r--src/lib/eina/eina_types.h77
-rw-r--r--src/lib/eina/eina_ustrbuf.h2
-rw-r--r--src/lib/eina/eina_value.c7
-rw-r--r--src/lib/eina/eina_value.h14
-rw-r--r--src/lib/eina/eina_vector.h48
-rw-r--r--src/lib/eina/meson.build5
-rw-r--r--src/lib/eio/Eio_Legacy.h4
-rw-r--r--src/lib/eio/efl_io_manager.eo4
-rw-r--r--src/lib/eldbus/Eldbus.h2
-rw-r--r--src/lib/eldbus/eldbus_service.c5
-rw-r--r--src/lib/elementary/Efl_Ui.h5
-rw-r--r--src/lib/elementary/Elementary.h3
-rw-r--r--src/lib/elementary/efl_access_object.h2
-rw-r--r--src/lib/elementary/efl_text_interactive.eo3
-rw-r--r--src/lib/elementary/efl_ui.eot9
-rw-r--r--src/lib/elementary/efl_ui_calendar_private.h15
-rw-r--r--src/lib/elementary/efl_ui_clock.h2
-rw-r--r--src/lib/elementary/efl_ui_dnd.c878
-rw-r--r--src/lib/elementary/efl_ui_dnd.eo120
-rw-r--r--src/lib/elementary/efl_ui_dnd_container.eo46
-rw-r--r--src/lib/elementary/efl_ui_dnd_types.eot60
-rw-r--r--src/lib/elementary/efl_ui_exact_model.c21
-rw-r--r--src/lib/elementary/efl_ui_focus_manager.c8
-rw-r--r--src/lib/elementary/efl_ui_focus_manager.eo8
-rw-r--r--src/lib/elementary/efl_ui_focus_manager_calc.c105
-rw-r--r--src/lib/elementary/efl_ui_focus_manager_calc.eo19
-rw-r--r--src/lib/elementary/efl_ui_image.c96
-rw-r--r--src/lib/elementary/efl_ui_image.eo4
-rw-r--r--src/lib/elementary/efl_ui_image_zoomable.c103
-rw-r--r--src/lib/elementary/efl_ui_image_zoomable.eo5
-rw-r--r--src/lib/elementary/efl_ui_image_zoomable_private.h2
-rw-r--r--src/lib/elementary/efl_ui_internal_text_interactive.c48
-rw-r--r--src/lib/elementary/efl_ui_layout.c52
-rw-r--r--src/lib/elementary/efl_ui_layout_base.eo1
-rw-r--r--src/lib/elementary/efl_ui_pager.eo2
-rw-r--r--src/lib/elementary/efl_ui_panel.c21
-rw-r--r--src/lib/elementary/efl_ui_panel_private.h15
-rw-r--r--src/lib/elementary/efl_ui_panes.c4
-rw-r--r--src/lib/elementary/efl_ui_panes.eo4
-rw-r--r--src/lib/elementary/efl_ui_position_manager_list.c1
-rw-r--r--src/lib/elementary/efl_ui_progressbar.c7
-rw-r--r--src/lib/elementary/efl_ui_progressbar.eo5
-rw-r--r--src/lib/elementary/efl_ui_selection.c297
-rw-r--r--src/lib/elementary/efl_ui_selection.eo120
-rw-r--r--src/lib/elementary/efl_ui_selection_manager.c5678
-rw-r--r--src/lib/elementary/efl_ui_selection_manager.eo139
-rw-r--r--src/lib/elementary/efl_ui_selection_types.eot60
-rw-r--r--src/lib/elementary/efl_ui_slider.c44
-rw-r--r--src/lib/elementary/efl_ui_slider.eo4
-rw-r--r--src/lib/elementary/efl_ui_slider_interval.c43
-rw-r--r--src/lib/elementary/efl_ui_slider_interval.eo5
-rw-r--r--src/lib/elementary/efl_ui_spin.c1
-rw-r--r--src/lib/elementary/efl_ui_spin.eo2
-rw-r--r--src/lib/elementary/efl_ui_spin_button.c39
-rw-r--r--src/lib/elementary/efl_ui_spin_button.eo3
-rw-r--r--src/lib/elementary/efl_ui_spotlight_animation_manager.c268
-rw-r--r--src/lib/elementary/efl_ui_spotlight_animation_manager.eo75
-rw-r--r--src/lib/elementary/efl_ui_spotlight_container.c24
-rw-r--r--src/lib/elementary/efl_ui_spotlight_container.eo2
-rw-r--r--src/lib/elementary/efl_ui_spotlight_fade_manager.c213
-rw-r--r--src/lib/elementary/efl_ui_spotlight_fade_manager.eo10
-rw-r--r--src/lib/elementary/efl_ui_spotlight_icon_indicator.c2
-rw-r--r--src/lib/elementary/efl_ui_spotlight_manager.eo8
-rw-r--r--src/lib/elementary/efl_ui_spotlight_plain_manager.c2
-rw-r--r--src/lib/elementary/efl_ui_spotlight_scroll_manager.c23
-rw-r--r--src/lib/elementary/efl_ui_stack.eo1
-rw-r--r--src/lib/elementary/efl_ui_tab_pager.c140
-rw-r--r--src/lib/elementary/efl_ui_tab_pager.eo24
-rw-r--r--src/lib/elementary/efl_ui_tab_pager_private.h1
-rw-r--r--src/lib/elementary/efl_ui_tags.c2
-rw-r--r--src/lib/elementary/efl_ui_textbox.c1005
-rw-r--r--src/lib/elementary/efl_ui_textbox.eo52
-rw-r--r--src/lib/elementary/efl_ui_textpath.c21
-rw-r--r--src/lib/elementary/efl_ui_vg_animation.c23
-rw-r--r--src/lib/elementary/efl_ui_vg_animation.eo91
-rw-r--r--src/lib/elementary/efl_ui_vg_animation_eo.legacy.c8
-rw-r--r--src/lib/elementary/efl_ui_vg_animation_private.h2
-rw-r--r--src/lib/elementary/efl_ui_widget.c224
-rw-r--r--src/lib/elementary/efl_ui_widget_common.c13
-rw-r--r--src/lib/elementary/efl_ui_widget_image.h2
-rw-r--r--src/lib/elementary/efl_ui_widget_part.eo8
-rw-r--r--src/lib/elementary/efl_ui_widget_scrollable_content.eo2
-rw-r--r--src/lib/elementary/efl_ui_win.c313
-rw-r--r--src/lib/elementary/elc_ctxpopup.c4
-rw-r--r--src/lib/elementary/elc_fileselector.c15
-rw-r--r--src/lib/elementary/elc_naviframe.c4
-rw-r--r--src/lib/elementary/elementary_config.h4
-rw-r--r--src/lib/elementary/elm_atspi_bridge.c677
-rw-r--r--src/lib/elementary/elm_box.c21
-rw-r--r--src/lib/elementary/elm_calendar.c13
-rw-r--r--src/lib/elementary/elm_cnp.c245
-rw-r--r--src/lib/elementary/elm_cnp.h2
-rw-r--r--src/lib/elementary/elm_code_diff_widget.h2
-rw-r--r--src/lib/elementary/elm_code_line.h4
-rw-r--r--src/lib/elementary/elm_code_syntax.c24
-rw-r--r--src/lib/elementary/elm_code_text.h2
-rw-r--r--src/lib/elementary/elm_code_widget.c91
-rw-r--r--src/lib/elementary/elm_code_widget_private.h1
-rw-r--r--src/lib/elementary/elm_color_class.h1
-rw-r--r--src/lib/elementary/elm_config.c145
-rw-r--r--src/lib/elementary/elm_config.h114
-rw-r--r--src/lib/elementary/elm_dbus_menu.c1
-rw-r--r--src/lib/elementary/elm_diskselector.h2
-rw-r--r--src/lib/elementary/elm_dnd.c821
-rw-r--r--src/lib/elementary/elm_entry.c14
-rw-r--r--src/lib/elementary/elm_entry.h2
-rw-r--r--src/lib/elementary/elm_focus_item.h4
-rw-r--r--src/lib/elementary/elm_focus_legacy.c10
-rw-r--r--src/lib/elementary/elm_gengrid.c33
-rw-r--r--src/lib/elementary/elm_gengrid.h2
-rw-r--r--src/lib/elementary/elm_genlist.c43
-rw-r--r--src/lib/elementary/elm_genlist.h2
-rw-r--r--src/lib/elementary/elm_grid.c21
-rw-r--r--src/lib/elementary/elm_index.c12
-rw-r--r--src/lib/elementary/elm_interface_scrollable.c28
-rw-r--r--src/lib/elementary/elm_label_eo.c2
-rw-r--r--src/lib/elementary/elm_list.h2
-rw-r--r--src/lib/elementary/elm_main.c2
-rw-r--r--src/lib/elementary/elm_map.h2
-rw-r--r--src/lib/elementary/elm_panel.c21
-rw-r--r--src/lib/elementary/elm_photo.c6
-rw-r--r--src/lib/elementary/elm_photocam.h2
-rw-r--r--src/lib/elementary/elm_priv.h16
-rw-r--r--src/lib/elementary/elm_slider.c2
-rw-r--r--src/lib/elementary/elm_spinner.c1
-rw-r--r--src/lib/elementary/elm_table.c21
-rw-r--r--src/lib/elementary/elm_toolbar.h2
-rw-r--r--src/lib/elementary/elm_transit.c118
-rw-r--r--src/lib/elementary/elm_widget.h2
-rw-r--r--src/lib/elementary/elm_widget_layout.h1
-rw-r--r--src/lib/elementary/els_box.c32
-rw-r--r--src/lib/elementary/els_cursor.c2
-rw-r--r--src/lib/elementary/meson.build13
-rw-r--r--src/lib/elput/Elput.h2
-rw-r--r--src/lib/elua/Elua.h8
-rw-r--r--src/lib/embryo/Embryo.h146
-rw-r--r--src/lib/emile/emile_base64.c4
-rw-r--r--src/lib/emile/emile_cipher_openssl.c7
-rw-r--r--src/lib/emotion/Emotion.h4
-rw-r--r--src/lib/emotion/emotion_main.c1
-rw-r--r--src/lib/emotion/emotion_private.h1
-rw-r--r--src/lib/emotion/emotion_webcam.c284
-rw-r--r--src/lib/eo/Eo.h10
-rw-r--r--src/lib/eo/eina_types.eot21
-rw-r--r--src/lib/eo/eo.c634
-rw-r--r--src/lib/eo/eo_base_class.c3
-rw-r--r--src/lib/eo/eo_private.h32
-rw-r--r--src/lib/eo/eo_ptr_indirection.c9
-rw-r--r--src/lib/eo/eo_ptr_indirection.x7
-rw-r--r--src/lib/eolian/Eolian.h7
-rw-r--r--src/lib/eolian/Eolian_Aux.h4
-rw-r--r--src/lib/eolian/database_expr.c5
-rw-r--r--src/lib/eolian/database_validate.c8
-rw-r--r--src/lib/eolian/eo_parser.c2
-rw-r--r--src/lib/eolian_cxx/grammar/context.hpp25
-rw-r--r--src/lib/eolian_cxx/grammar/eps.hpp8
-rw-r--r--src/lib/ephysics/EPhysics.h2
-rw-r--r--src/lib/ethumb/Ethumb.h2
-rw-r--r--src/lib/evas/Efl_Canvas.h10
-rw-r--r--src/lib/evas/Evas.h2
-rw-r--r--src/lib/evas/Evas_Common.h123
-rw-r--r--src/lib/evas/Evas_Eo.h335
-rw-r--r--src/lib/evas/Evas_GL.h4
-rw-r--r--src/lib/evas/Evas_Legacy.h1086
-rw-r--r--src/lib/evas/cache/evas_cache.h2
-rw-r--r--src/lib/evas/cache/evas_cache_engine_image.c69
-rw-r--r--src/lib/evas/cache/evas_cache_image.c168
-rw-r--r--src/lib/evas/canvas/efl_canvas_image.c60
-rw-r--r--src/lib/evas/canvas/efl_canvas_image.eo2
-rw-r--r--src/lib/evas/canvas/efl_canvas_object.eo6
-rw-r--r--src/lib/evas/canvas/efl_canvas_scene3d.c310
-rw-r--r--src/lib/evas/canvas/efl_canvas_scene3d.eo20
-rw-r--r--src/lib/evas/canvas/efl_canvas_textblock.eo69
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_container.c4
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_container_eo.legacy.c6
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_container_eo.legacy.h32
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_gradient.c14
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_gradient_eo.legacy.h21
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_gradient_linear.c12
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_gradient_radial.c16
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_image.c1
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_node.c20
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_node_eo.legacy.c10
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_node_eo.legacy.h31
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_object.c35
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_object_eo.legacy.c12
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_object_eo.legacy.h29
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_shape.c84
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_shape_eo.legacy.h54
-rw-r--r--src/lib/evas/canvas/efl_gfx_mapping.c1
-rw-r--r--src/lib/evas/canvas/efl_gfx_vg_value_provider.c8
-rw-r--r--src/lib/evas/canvas/efl_gfx_vg_value_provider.eo2
-rw-r--r--src/lib/evas/canvas/efl_gfx_vg_value_provider.h2
-rw-r--r--src/lib/evas/canvas/efl_input_types.eot17
-rw-r--r--src/lib/evas/canvas/efl_text_cursor.eo21
-rw-r--r--src/lib/evas/canvas/efl_text_formatter.eo7
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_camera.c203
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_camera.eo89
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_eet.c211
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_light.c309
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_light.eo249
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_material.c206
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_material.eo116
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_mesh.c1172
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_mesh.eo421
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_node.c1695
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_node.eo368
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_node_callback.h36
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_object.c101
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_object.eo77
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_primitive.c152
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_primitive.eo130
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_scene.c839
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_scene.eo168
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_texture.c606
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_texture.eo159
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_types.eot293
-rw-r--r--src/lib/evas/canvas/evas_canvas_eo.h2
-rw-r--r--src/lib/evas/canvas/evas_canvas_eo.legacy.h15
-rw-r--r--src/lib/evas/canvas/evas_events.c44
-rw-r--r--src/lib/evas/canvas/evas_events_legacy.c9
-rw-r--r--src/lib/evas/canvas/evas_grid_eo.c2
-rw-r--r--src/lib/evas/canvas/evas_image_eo.c2
-rw-r--r--src/lib/evas/canvas/evas_image_legacy.c35
-rw-r--r--src/lib/evas/canvas/evas_image_private.h8
-rw-r--r--src/lib/evas/canvas/evas_main.c25
-rw-r--r--src/lib/evas/canvas/evas_name.c6
-rw-r--r--src/lib/evas/canvas/evas_object_box.c4
-rw-r--r--src/lib/evas/canvas/evas_object_grid.c23
-rw-r--r--src/lib/evas/canvas/evas_object_image.c53
-rw-r--r--src/lib/evas/canvas/evas_object_intercept.c25
-rw-r--r--src/lib/evas/canvas/evas_object_main.c43
-rw-r--r--src/lib/evas/canvas/evas_object_smart.c4
-rw-r--r--src/lib/evas/canvas/evas_object_text.c18
-rw-r--r--src/lib/evas/canvas/evas_object_textblock.c1181
-rw-r--r--src/lib/evas/canvas/evas_render.c102
-rw-r--r--src/lib/evas/canvas/evas_table_eo.c2
-rw-r--r--src/lib/evas/canvas/evas_textblock_legacy.h6
-rw-r--r--src/lib/evas/canvas/evas_vg_private.h1
-rw-r--r--src/lib/evas/canvas/meson.build24
-rw-r--r--src/lib/evas/common/evas_convert_gry_8.c4
-rw-r--r--src/lib/evas/common/evas_font_draw.c2
-rw-r--r--src/lib/evas/common/evas_image.h1
-rw-r--r--src/lib/evas/common/evas_image_main.c12
-rw-r--r--src/lib/evas/common3d/meson.build2
-rw-r--r--src/lib/evas/common3d/primitives/meson.build5
-rw-r--r--src/lib/evas/common3d/primitives/primitive_common.c203
-rw-r--r--src/lib/evas/common3d/primitives/primitive_common.h62
-rw-r--r--src/lib/evas/common3d/primitives/solids_of_revolution/cone.c140
-rw-r--r--src/lib/evas/common3d/primitives/solids_of_revolution/cylinder.c136
-rw-r--r--src/lib/evas/common3d/primitives/solids_of_revolution/meson.build6
-rw-r--r--src/lib/evas/common3d/primitives/solids_of_revolution/sphere.c189
-rw-r--r--src/lib/evas/common3d/primitives/solids_of_revolution/torus.c67
-rw-r--r--src/lib/evas/common3d/primitives/surfaces/meson.build4
-rw-r--r--src/lib/evas/common3d/primitives/surfaces/surface.c91
-rw-r--r--src/lib/evas/common3d/primitives/surfaces/terrain.c86
-rw-r--r--src/lib/evas/common3d/primitives/tabulated_primitives/cube.c57
-rw-r--r--src/lib/evas/common3d/primitives/tabulated_primitives/meson.build4
-rw-r--r--src/lib/evas/common3d/primitives/tabulated_primitives/square.c18
-rw-r--r--src/lib/evas/common3d/save_load/evas_model_load.c82
-rw-r--r--src/lib/evas/common3d/save_load/evas_model_load_save_common.c230
-rw-r--r--src/lib/evas/common3d/save_load/evas_model_load_save_common.h62
-rw-r--r--src/lib/evas/common3d/save_load/evas_model_save.c34
-rw-r--r--src/lib/evas/common3d/save_load/meson.build6
-rw-r--r--src/lib/evas/filters/evas_filter.c2
-rw-r--r--src/lib/evas/filters/evas_filter_parser.c46
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture.c23
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture.eo17
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_custom.c25
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_custom.eo32
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_double_tap.c13
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_double_tap.eo3
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_events.eo13
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_flick.c13
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_flick.eo3
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_long_press.c5
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_long_press.eo11
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_long_tap.c23
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_long_tap.eo15
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_manager.c592
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_manager.eo25
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_momentum.c13
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_momentum.eo3
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_private.h111
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer.c139
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer.eo37
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_custom.c37
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_custom.eo28
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_double_tap.c175
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_double_tap.eo14
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_flick.c289
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_flick.eo2
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_long_press.c143
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_long_press.eo13
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_long_tap.c176
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_long_tap.eo26
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_momentum.c273
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_momentum.eo2
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_rotate.c269
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_rotate.eo12
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_tap.c92
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_tap.eo2
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_triple_tap.c174
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_triple_tap.eo14
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_zoom.c255
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_recognizer_zoom.eo2
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_rotate.c17
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_rotate.eo28
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_tap.c13
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_tap.eo3
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_touch.c110
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_touch.eo35
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_triple_tap.c13
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_triple_tap.eo3
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_types.eot51
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_zoom.c18
-rw-r--r--src/lib/evas/gesture/efl_canvas_gesture_zoom.eo4
-rw-r--r--src/lib/evas/gesture/meson.build16
-rw-r--r--src/lib/evas/include/evas_3d_utils.h1698
-rw-r--r--src/lib/evas/include/evas_common_private.h3
-rw-r--r--src/lib/evas/include/evas_inline.x2
-rw-r--r--src/lib/evas/include/evas_private.h513
-rw-r--r--src/lib/evas/meson.build25
-rw-r--r--src/lib/evas/vg/evas_vg_cache.c10
-rw-r--r--src/lib/evil/evil_locale.h2
-rw-r--r--src/lib/evil/evil_main.h2
-rw-r--r--src/lib/evil/evil_mman.h2
-rw-r--r--src/lib/evil/evil_time.h4
-rw-r--r--src/lib/evil/evil_util.c28
-rw-r--r--src/lib/evil/evil_util.h18
-rw-r--r--src/modules/ecore/meson.build2
-rw-r--r--src/modules/ecore/system/systemd/meson.build1
-rw-r--r--src/modules/ecore/system/tizen/meson.build1
-rw-r--r--src/modules/ecore/system/upower/meson.build1
-rw-r--r--src/modules/ecore_buffer/shm/meson.build3
-rw-r--r--src/modules/ecore_buffer/x11_dri2/meson.build3
-rw-r--r--src/modules/ecore_buffer/x11_dri3/meson.build3
-rw-r--r--src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c142
-rw-r--r--src/modules/ecore_evas/engines/sdl/ecore_evas_sdl.c3
-rw-r--r--src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c481
-rw-r--r--src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h16
-rw-r--r--src/modules/ecore_evas/engines/win32/ecore_evas_win32.c309
-rw-r--r--src/modules/ecore_evas/engines/x/ecore_evas_x.c861
-rw-r--r--src/modules/ecore_imf/ibus/meson.build3
-rw-r--r--src/modules/ecore_imf/scim/meson.build3
-rw-r--r--src/modules/ecore_imf/wayland/meson.build3
-rw-r--r--src/modules/ecore_imf/xim/meson.build3
-rw-r--r--src/modules/ecore_wl2/engines/dmabuf/meson.build3
-rw-r--r--src/modules/eeze/sensor/fake/meson.build1
-rw-r--r--src/modules/eeze/sensor/udev/meson.build1
-rw-r--r--src/modules/elementary/access_output/meson.build3
-rw-r--r--src/modules/elementary/prefs/meson.build3
-rw-r--r--src/modules/elementary/test_entry/meson.build3
-rw-r--r--src/modules/elementary/test_map/meson.build3
-rw-r--r--src/modules/elementary/web/none/meson.build3
-rw-r--r--src/modules/emotion/generic/Emotion_Generic_Plugin.h148
-rw-r--r--src/modules/emotion/generic/README79
-rw-r--r--src/modules/emotion/generic/emotion_generic.c1908
-rw-r--r--src/modules/emotion/generic/emotion_generic.h123
-rw-r--r--src/modules/emotion/generic/meson.build24
-rw-r--r--src/modules/emotion/gstreamer1/meson.build1
-rw-r--r--src/modules/emotion/libvlc/emotion_libvlc.c1555
-rw-r--r--src/modules/emotion/libvlc/meson.build14
-rw-r--r--src/modules/emotion/meson.build12
-rw-r--r--src/modules/emotion/xine/emotion_xine.c1707
-rw-r--r--src/modules/emotion/xine/emotion_xine.h118
-rw-r--r--src/modules/emotion/xine/emotion_xine_vo_out.c766
-rw-r--r--src/modules/emotion/xine/meson.build16
-rw-r--r--src/modules/ethumb/emotion/meson.build1
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_3d.c1494
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_3d_common.h40
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_3d_private.h183
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_3d_renderer.c428
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_3d_shader.c751
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_common.h3
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_define.h1
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_font.c4
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_image.c31
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_rectangle.c2
-rw-r--r--src/modules/evas/engines/gl_common/shader_3d/color_pick_frag.shd15
-rw-r--r--src/modules/evas/engines/gl_common/shader_3d/color_pick_vert.shd11
-rw-r--r--src/modules/evas/engines/gl_common/shader_3d/diffuse_frag.shd16
-rw-r--r--src/modules/evas/engines/gl_common/shader_3d/diffuse_vert.shd13
-rw-r--r--src/modules/evas/engines/gl_common/shader_3d/evas_gl_3d_shaders.x2198
-rw-r--r--src/modules/evas/engines/gl_common/shader_3d/flat_frag.shd64
-rw-r--r--src/modules/evas/engines/gl_common/shader_3d/flat_vert.shd92
-rwxr-xr-xsrc/modules/evas/engines/gl_common/shader_3d/gen_shaders_3d.sh68
-rw-r--r--src/modules/evas/engines/gl_common/shader_3d/include.shd254
-rw-r--r--src/modules/evas/engines/gl_common/shader_3d/normal_map_frag.shd147
-rw-r--r--src/modules/evas/engines/gl_common/shader_3d/normal_map_vert.shd128
-rw-r--r--src/modules/evas/engines/gl_common/shader_3d/parallax_occlusion_frag.shd240
-rw-r--r--src/modules/evas/engines/gl_common/shader_3d/parallax_occlusion_vert.shd88
-rw-r--r--src/modules/evas/engines/gl_common/shader_3d/phong_frag.shd103
-rw-r--r--src/modules/evas/engines/gl_common/shader_3d/phong_vert.shd51
-rw-r--r--src/modules/evas/engines/gl_common/shader_3d/post_processing_fxaa_frag.shd63
-rw-r--r--src/modules/evas/engines/gl_common/shader_3d/post_processing_fxaa_vert.shd12
-rw-r--r--src/modules/evas/engines/gl_common/shader_3d/shadow_map_frag.shd60
-rw-r--r--src/modules/evas/engines/gl_common/shader_3d/shadow_map_vert.shd21
-rw-r--r--src/modules/evas/engines/gl_common/shader_3d/vertex_color_frag.shd17
-rw-r--r--src/modules/evas/engines/gl_common/shader_3d/vertex_color_vert.shd24
-rw-r--r--src/modules/evas/engines/gl_drm/evas_engine.c2
-rw-r--r--src/modules/evas/engines/gl_generic/Evas_Engine_GL_Generic.h2
-rw-r--r--src/modules/evas/engines/gl_generic/evas_engine.c237
-rw-r--r--src/modules/evas/engines/gl_generic/filters/gl_filter_mask.c4
-rw-r--r--src/modules/evas/engines/gl_generic/meson.build5
-rw-r--r--src/modules/evas/engines/software_generic/evas_engine.c78
-rw-r--r--src/modules/evas/image_loaders/pmaps/evas_image_load_pmaps.c2
-rw-r--r--src/modules/evas/meson.build2
-rw-r--r--src/modules/evas/model_loaders/eet/evas_model_load_eet.c111
-rw-r--r--src/modules/evas/model_loaders/md2/evas_model_load_md2.c423
-rw-r--r--src/modules/evas/model_loaders/meson.build1
-rw-r--r--src/modules/evas/model_loaders/obj/evas_model_load_obj.c461
-rw-r--r--src/modules/evas/model_loaders/ply/evas_model_load_ply.c249
-rw-r--r--src/modules/evas/model_savers/eet/evas_model_save_eet.c205
-rw-r--r--src/modules/evas/model_savers/meson.build1
-rw-r--r--src/modules/evas/model_savers/obj/evas_model_save_obj.c241
-rw-r--r--src/modules/evas/model_savers/ply/evas_model_save_ply.c91
-rw-r--r--src/static_libs/lz4/lz4.c445
-rw-r--r--src/static_libs/lz4/lz4.h142
-rw-r--r--src/static_libs/lz4/lz4frame.c28
-rw-r--r--src/static_libs/lz4/lz4frame.h9
-rw-r--r--src/static_libs/lz4/lz4hc.c122
-rw-r--r--src/static_libs/lz4/lz4hc.h3
-rw-r--r--src/static_libs/vg_common/vg_common_json.c63
-rw-r--r--src/tests/ecore/ecore_suite.c1
-rw-r--r--src/tests/ecore/ecore_suite.h1
-rw-r--r--src/tests/ecore/ecore_test_ecore_evas.c44
-rw-r--r--src/tests/ecore/ecore_test_ecore_evas_selection.c89
-rw-r--r--src/tests/ecore/efl_app_test_promise.c29
-rw-r--r--src/tests/ecore/meson.build1
-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_ecore_wl2.c11
-rw-r--r--src/tests/ecore_wl2/ecore_wl2_test_input.c56
-rw-r--r--src/tests/ecore_wl2/ecore_wl2_test_output.c33
-rw-r--r--src/tests/ecore_wl2/ecore_wl2_test_window.c20
-rw-r--r--src/tests/ecore_wl2/meson.build3
-rw-r--r--src/tests/efl/efl_test_composite_model.c27
-rw-r--r--src/tests/efl_check.h11
-rw-r--r--src/tests/efl_js/benchmark_object.eo5
-rw-r--r--src/tests/efl_mono/Eina.cs261
-rw-r--r--src/tests/efl_mono/EinaTestData.cs30
-rw-r--r--src/tests/efl_mono/Eo.cs66
-rw-r--r--src/tests/efl_mono/Events.cs35
-rw-r--r--src/tests/efl_mono/Model.cs4
-rw-r--r--src/tests/efl_mono/Parts.cs8
-rw-r--r--src/tests/efl_mono/StructHelpers.cs157
-rw-r--r--src/tests/efl_mono/Structs.cs76
-rw-r--r--src/tests/efl_mono/Value.cs504
-rw-r--r--src/tests/efl_mono/dummy_child.eo4
-rw-r--r--src/tests/efl_mono/dummy_hidden_object.eo1
-rw-r--r--src/tests/efl_mono/dummy_inherit_helper.eo4
-rw-r--r--src/tests/efl_mono/dummy_inherit_iface.eo1
-rw-r--r--src/tests/efl_mono/dummy_numberwrapper.eo1
-rw-r--r--src/tests/efl_mono/dummy_part_holder.eo1
-rw-r--r--src/tests/efl_mono/dummy_test_object.c58
-rw-r--r--src/tests/efl_mono/dummy_test_object.eo147
-rw-r--r--src/tests/eina/eina_suite.c1
-rw-r--r--src/tests/eina/eina_suite.h1
-rw-r--r--src/tests/eina/eina_test_abstract_content.c223
-rw-r--r--src/tests/eina/eina_test_file.c33
-rw-r--r--src/tests/eina/eina_test_inarray.c2
-rw-r--r--src/tests/eina/eina_test_iterator.c44
-rw-r--r--src/tests/eina/eina_test_matrix.c123
-rw-r--r--src/tests/eina/eina_test_safepointer.c2
-rw-r--r--src/tests/eina/eina_test_value.c43
-rw-r--r--src/tests/eina/eina_test_vpath.c24
-rw-r--r--src/tests/eina/meson.build3
-rw-r--r--src/tests/eina_cxx/eina_simple.eo4
-rw-r--r--src/tests/eio/eio_test_map.c10
-rw-r--r--src/tests/elementary/custom_gesture.c19
-rw-r--r--src/tests/elementary/custom_gesture.eo26
-rw-r--r--src/tests/elementary/custom_gesture.h16
-rw-r--r--src/tests/elementary/custom_recognizer.c56
-rw-r--r--src/tests/elementary/custom_recognizer.eo11
-rw-r--r--src/tests/elementary/custom_recognizer2.c41
-rw-r--r--src/tests/elementary/custom_recognizer2.eo10
-rw-r--r--src/tests/elementary/efl_ui_suite.c1
-rw-r--r--src/tests/elementary/efl_ui_suite.h1
-rw-r--r--src/tests/elementary/efl_ui_test_collection_view.c4
-rw-r--r--src/tests/elementary/efl_ui_test_focus.c18
-rw-r--r--src/tests/elementary/efl_ui_test_focus_common.h2
-rw-r--r--src/tests/elementary/efl_ui_test_gesture.c769
-rw-r--r--src/tests/elementary/efl_ui_test_layout.c26
-rw-r--r--src/tests/elementary/efl_ui_test_spin_button.c55
-rw-r--r--src/tests/elementary/efl_ui_test_text.c53
-rw-r--r--src/tests/elementary/efl_ui_test_vg_animation.c8
-rw-r--r--src/tests/elementary/efl_ui_test_widget.c124
-rw-r--r--src/tests/elementary/efl_ui_window_cnp_dnd_slave.c191
-rw-r--r--src/tests/elementary/elm_test_entry.c23
-rw-r--r--src/tests/elementary/elm_test_hover.c48
-rw-r--r--src/tests/elementary/elm_test_icon.c26
-rw-r--r--src/tests/elementary/elm_test_image.c103
-rw-r--r--src/tests/elementary/meson.build12
-rw-r--r--src/tests/elementary/spec/efl_test_basics.c7
-rw-r--r--src/tests/elementary/suite_helpers.c251
-rw-r--r--src/tests/elementary/suite_helpers.h34
-rw-r--r--src/tests/eo/suite/eo_test_call_errors.c2
-rw-r--r--src/tests/eo/suite/eo_test_general.c1
-rw-r--r--src/tests/eolian/data/base.eo1
-rw-r--r--src/tests/eolian/data/class_funcs.eo1
-rw-r--r--src/tests/eolian/data/class_requires.eo1
-rw-r--r--src/tests/eolian/data/class_simple.eo4
-rw-r--r--src/tests/eolian/data/class_simple_ref_eo.h10
-rw-r--r--src/tests/eolian/data/complex_type.eo4
-rw-r--r--src/tests/eolian/data/consts.eo1
-rw-r--r--src/tests/eolian/data/ctor_dtor.eo1
-rw-r--r--src/tests/eolian/data/docs_ref.h18
-rw-r--r--src/tests/eolian/data/enum.eo9
-rw-r--r--src/tests/eolian/data/eo_docs.eo10
-rw-r--r--src/tests/eolian/data/error.eo2
-rw-r--r--src/tests/eolian/data/events.eo1
-rw-r--r--src/tests/eolian/data/extern.eo13
-rw-r--r--src/tests/eolian/data/free_func.eo7
-rw-r--r--src/tests/eolian/data/function_as_argument.eo1
-rw-r--r--src/tests/eolian/data/function_as_argument_ref.h6
-rw-r--r--src/tests/eolian/data/iface.eo1
-rw-r--r--src/tests/eolian/data/import.eo3
-rw-r--r--src/tests/eolian/data/mixins_require.eo1
-rw-r--r--src/tests/eolian/data/nmsp1_class1.eo4
-rw-r--r--src/tests/eolian/data/nmsp1_nmsp11_class2.eo4
-rw-r--r--src/tests/eolian/data/nmsp2_class1.eo4
-rw-r--r--src/tests/eolian/data/no_nmsp.eo4
-rw-r--r--src/tests/eolian/data/object_impl.eo15
-rw-r--r--src/tests/eolian/data/object_impl_add.eo2
-rw-r--r--src/tests/eolian/data/object_impl_add_ref.c2
-rw-r--r--src/tests/eolian/data/object_impl_ref.c2
-rw-r--r--src/tests/eolian/data/override.eo1
-rw-r--r--src/tests/eolian/data/scope.eo1
-rw-r--r--src/tests/eolian/data/struct.eo6
-rw-r--r--src/tests/eolian/data/struct_ref.h26
-rw-r--r--src/tests/eolian/data/struct_ref_stub.h18
-rw-r--r--src/tests/eolian/data/typedef.eo15
-rw-r--r--src/tests/eolian/data/typedef_ref.h38
-rw-r--r--src/tests/eolian/data/typedef_ref_stub.h26
-rw-r--r--src/tests/eolian/data/unimpl.eo1
-rw-r--r--src/tests/eolian/data/var.eo3
-rw-r--r--src/tests/eolian/data_aux/aux_a.eo1
-rw-r--r--src/tests/eolian/data_aux/aux_b.eo1
-rw-r--r--src/tests/eolian/data_aux/aux_c.eo1
-rw-r--r--src/tests/eolian/eolian_generation.c1
-rw-r--r--src/tests/eolian/eolian_parsing.c6
-rw-r--r--src/tests/eolian/generated_future.eo4
-rw-r--r--src/tests/eolian_cxx/a.eo4
-rw-r--r--src/tests/eolian_cxx/b.eo4
-rw-r--r--src/tests/eolian_cxx/c.eo4
-rw-r--r--src/tests/eolian_cxx/callback.eo8
-rw-r--r--src/tests/eolian_cxx/complex.eo56
-rw-r--r--src/tests/eolian_cxx/cyclic1.eo4
-rw-r--r--src/tests/eolian_cxx/cyclic2.eo4
-rw-r--r--src/tests/eolian_cxx/docs.eo15
-rw-r--r--src/tests/eolian_cxx/eolian_cxx_test_binding.cc13
-rw-r--r--src/tests/eolian_cxx/eolian_cxx_test_documentation.cc26
-rw-r--r--src/tests/eolian_cxx/generic.c13
-rw-r--r--src/tests/eolian_cxx/generic.eo39
-rw-r--r--src/tests/eolian_cxx/generic_interface.eo4
-rw-r--r--src/tests/eolian_cxx/name_name.eo1
-rw-r--r--src/tests/eolian_cxx/ns_name.eo1
-rw-r--r--src/tests/eolian_cxx/ns_name_other.eo1
-rw-r--r--src/tests/eolian_cxx/property_holder.eo4
-rw-r--r--src/tests/eolian_cxx/simple.eo4
-rw-r--r--src/tests/eolian_js/constructor_method_class.eo4
-rw-r--r--src/tests/eolian_js/test_object.eo3
-rw-r--r--src/tests/evas/evas_suite.c5
-rw-r--r--src/tests/evas/evas_suite.h5
-rw-r--r--src/tests/evas/evas_test_image.c89
-rw-r--r--src/tests/evas/evas_test_matrix.c42
-rw-r--r--src/tests/evas/evas_test_mesh.c202
-rw-r--r--src/tests/evas/evas_test_textblock.c52
-rw-r--r--src/tests/evas/meshes/md2/sonic.md2bin660576 -> 0 bytes
-rw-r--r--src/tests/evas/meshes/obj/man_mesh.obj2493
-rw-r--r--src/tests/evas/meshes/obj/sweet_home.obj107
-rw-r--r--src/tests/evas/meshes/ply/NoNormal_NoUVs_Colors.ply1679
-rw-r--r--src/tests/evas/meshes/ply/NoNormal_NoUVs_NoColors.ply1676
-rw-r--r--src/tests/evas/meshes/ply/NoNormal_UVs_Colors.ply1681
-rw-r--r--src/tests/evas/meshes/ply/NoNormal_UVs_NoColors.ply1678
-rw-r--r--src/tests/evas/meshes/ply/Normal_NoUVs_Colors.ply1682
-rw-r--r--src/tests/evas/meshes/ply/Normal_NoUVs_NoColors.ply1679
-rw-r--r--src/tests/evas/meshes/ply/Normal_UVs_Colors.ply1684
-rw-r--r--src/tests/evas/meshes/ply/Normal_UVs_NoColors.ply1681
-rw-r--r--src/tests/evas/meson.build2
914 files changed, 29473 insertions, 107412 deletions
diff --git a/src/benchmarks/eina/eina_bench.h b/src/benchmarks/eina/eina_bench.h
index a38d70433e..747ac6f39f 100644
--- a/src/benchmarks/eina/eina_bench.h
+++ b/src/benchmarks/eina/eina_bench.h
@@ -21,7 +21,7 @@
21 21
22#include "eina_benchmark.h" 22#include "eina_benchmark.h"
23 23
24int key_size; 24extern int key_size;
25 25
26void eina_bench_hash(Eina_Benchmark *bench); 26void eina_bench_hash(Eina_Benchmark *bench);
27void eina_bench_crc_hash_short(Eina_Benchmark *bench); 27void eina_bench_crc_hash_short(Eina_Benchmark *bench);
diff --git a/src/benchmarks/eina/eina_bench_crc_hash.c b/src/benchmarks/eina/eina_bench_crc_hash.c
index b6734489a3..7750233ed4 100644
--- a/src/benchmarks/eina/eina_bench_crc_hash.c
+++ b/src/benchmarks/eina/eina_bench_crc_hash.c
@@ -26,6 +26,7 @@
26uint64_t CityHash64(const char *buf, size_t len); 26uint64_t CityHash64(const char *buf, size_t len);
27#endif 27#endif
28 28
29int key_size;
29char *key_str=NULL; 30char *key_str=NULL;
30 31
31void repchar(int n) 32void repchar(int n)
diff --git a/src/bin/edje/edje_cc.c b/src/bin/edje/edje_cc.c
index 1963dae341..dff3fd7a3e 100644
--- a/src/bin/edje/edje_cc.c
+++ b/src/bin/edje/edje_cc.c
@@ -25,7 +25,6 @@ Eina_List *snd_dirs = NULL;
25Eina_List *mo_dirs = NULL; 25Eina_List *mo_dirs = NULL;
26Eina_List *vibration_dirs = NULL; 26Eina_List *vibration_dirs = NULL;
27Eina_List *img_dirs = NULL; 27Eina_List *img_dirs = NULL;
28Eina_List *model_dirs = NULL;
29Eina_List *fnt_dirs = NULL; 28Eina_List *fnt_dirs = NULL;
30Eina_List *data_dirs = NULL; 29Eina_List *data_dirs = NULL;
31Eina_List *defines = NULL; 30Eina_List *defines = NULL;
@@ -174,8 +173,6 @@ main(int argc, char **argv)
174 173
175 img_dirs = eina_list_append(img_dirs, "."); 174 img_dirs = eina_list_append(img_dirs, ".");
176 175
177 model_dirs = eina_list_append(model_dirs, ".");
178
179 /* add defines to epp so edc files can detect edje_cc version */ 176 /* add defines to epp so edc files can detect edje_cc version */
180 defines = eina_list_append(defines, mem_strdup("-DEDJE_VERSION_12=12")); 177 defines = eina_list_append(defines, mem_strdup("-DEDJE_VERSION_12=12"));
181 178
@@ -224,11 +221,6 @@ main(int argc, char **argv)
224 i++; 221 i++;
225 img_dirs = eina_list_append(img_dirs, argv[i]); 222 img_dirs = eina_list_append(img_dirs, argv[i]);
226 } 223 }
227 else if ((!strcmp(argv[i], "-mod") || !strcmp(argv[i], "--model_dir")) && (i < (argc - 1)))
228 {
229 i++;
230 model_dirs = eina_list_append(model_dirs, argv[i]);
231 }
232 else if ((!strcmp(argv[i], "-fd") || !strcmp(argv[i], "--font_dir")) && (i < (argc - 1))) 224 else if ((!strcmp(argv[i], "-fd") || !strcmp(argv[i], "--font_dir")) && (i < (argc - 1)))
233 { 225 {
234 i++; 226 i++;
@@ -458,6 +450,7 @@ main(int argc, char **argv)
458 eina_prefix_free(pfx); 450 eina_prefix_free(pfx);
459 pfx = NULL; 451 pfx = NULL;
460 452
453 ecore_evas_shutdown();
461 edje_shutdown(); 454 edje_shutdown();
462 eina_log_domain_unregister(_edje_cc_log_dom); 455 eina_log_domain_unregister(_edje_cc_log_dom);
463 eina_shutdown(); 456 eina_shutdown();
diff --git a/src/bin/edje/edje_cc.h b/src/bin/edje/edje_cc.h
index afb7a99c03..580c44fe6d 100644
--- a/src/bin/edje/edje_cc.h
+++ b/src/bin/edje/edje_cc.h
@@ -230,13 +230,8 @@ void copied_program_anonymous_lookup_delete(Edje_Part_Collection *pc, int *de
230void data_queue_anonymous_lookup(Edje_Part_Collection *pc, Edje_Program *ep, int *dest); 230void data_queue_anonymous_lookup(Edje_Part_Collection *pc, Edje_Program *ep, int *dest);
231void data_queue_copied_anonymous_lookup(Edje_Part_Collection *pc, int *src, int *dest); 231void data_queue_copied_anonymous_lookup(Edje_Part_Collection *pc, int *src, int *dest);
232void data_queue_image_lookup(char *name, int *dest, Eina_Bool *set); 232void data_queue_image_lookup(char *name, int *dest, Eina_Bool *set);
233void data_queue_model_lookup(char *name, int *dest, Eina_Bool *set);
234void data_queue_copied_image_lookup(int *src, int *dest, Eina_Bool *set); 233void data_queue_copied_image_lookup(int *src, int *dest, Eina_Bool *set);
235void data_queue_image_remove(int *dest, Eina_Bool *set); 234void data_queue_image_remove(int *dest, Eina_Bool *set);
236void data_queue_copied_model_lookup(int *src, int *dest, Eina_Bool *set);
237void data_queue_model_remove(int *dest, Eina_Bool *set);
238void data_queue_spectrum_lookup(char *name, int *dest);
239void data_queue_spectrum_slave_lookup(int *master, int *slave);
240void data_process_lookups(void); 235void data_process_lookups(void);
241void data_process_scripts(void); 236void data_process_scripts(void);
242void data_process_script_lookups(void); 237void data_process_script_lookups(void);
@@ -308,7 +303,6 @@ void script_rewrite(Code *code);
308/* global vars */ 303/* global vars */
309extern Eina_List *ext_dirs; 304extern Eina_List *ext_dirs;
310extern Eina_List *img_dirs; 305extern Eina_List *img_dirs;
311extern Eina_List *model_dirs;
312extern Eina_List *fnt_dirs; 306extern Eina_List *fnt_dirs;
313extern Eina_List *snd_dirs; 307extern Eina_List *snd_dirs;
314extern Eina_List *mo_dirs; 308extern Eina_List *mo_dirs;
diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index 8353d260a3..ba1edbd8c7 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -220,8 +220,6 @@ static void st_images_set_image_size(void);
220static void st_images_set_image_border(void); 220static void st_images_set_image_border(void);
221static void st_images_set_image_border_scale_by(void); 221static void st_images_set_image_border_scale_by(void);
222 222
223static void st_models_model(void);
224
225static void st_fonts_font(void); 223static void st_fonts_font(void);
226 224
227static void st_data_item(void); 225static void st_data_item(void);
@@ -272,7 +270,6 @@ static void st_collections_group_script_recursion(void);
272static void st_collections_group_alias(void); 270static void st_collections_group_alias(void);
273static void st_collections_group_min(void); 271static void st_collections_group_min(void);
274static void st_collections_group_max(void); 272static void st_collections_group_max(void);
275static void st_collections_group_scene_size(void);
276static void st_collections_group_broadcast_signal(void); 273static void st_collections_group_broadcast_signal(void);
277static void st_collections_group_data_item(void); 274static void st_collections_group_data_item(void);
278static void st_collections_group_orientation(void); 275static void st_collections_group_orientation(void);
@@ -437,34 +434,7 @@ static void st_collections_group_parts_part_description_table_padding(void
437static void st_collections_group_parts_part_description_table_min(void); 434static void st_collections_group_parts_part_description_table_min(void);
438static void st_collections_group_parts_part_description_proxy_source_visible(void); 435static void st_collections_group_parts_part_description_proxy_source_visible(void);
439static void st_collections_group_parts_part_description_proxy_source_clip(void); 436static void st_collections_group_parts_part_description_proxy_source_clip(void);
440static void st_collections_group_parts_part_description_position_point(void);
441static void st_collections_group_parts_part_description_position_space(void);
442static void st_collections_group_parts_part_description_camera_properties(void);
443static void st_collections_group_parts_part_description_properties_ambient(void);
444static void st_collections_group_parts_part_description_properties_diffuse(void);
445static void st_collections_group_parts_part_description_properties_specular(void);
446static void st_collections_group_parts_part_description_properties_material(void);
447static void st_collections_group_parts_part_description_properties_normal(void);
448static void st_collections_group_parts_part_description_properties_shininess(void);
449static void st_collections_group_parts_part_description_properties_shade(void);
450static void st_collections_group_parts_part_description_orientation_angle_axis(void);
451static void st_collections_group_parts_part_description_orientation_look1(void);
452static void st_collections_group_parts_part_description_orientation_look2(void);
453static void st_collections_group_parts_part_description_orientation_look_to(void);
454static void st_collections_group_parts_part_description_orientation_angle_axis(void);
455static void st_collections_group_parts_part_description_orientation_quaternion(void);
456static void st_collections_group_parts_part_description_scale(void);
457static void st_collections_group_parts_part_description_offset_scale(void); 437static void st_collections_group_parts_part_description_offset_scale(void);
458static void st_collections_group_parts_part_description_mesh_primitive(void);
459static void ob_collections_group_parts_part_description_texture(void);
460static void st_collections_group_parts_part_description_texture_image(void);
461static void st_collections_group_parts_part_description_texture_wrap1(void);
462static void st_collections_group_parts_part_description_texture_wrap2(void);
463static void st_collections_group_parts_part_description_texture_filter1(void);
464static void st_collections_group_parts_part_description_texture_filter2(void);
465static void st_collections_group_parts_part_description_mesh_assembly(void);
466static void st_collections_group_parts_part_description_mesh_geometry(void);
467static void st_collections_group_parts_part_description_mesh_frame(void);
468static void st_collections_group_parts_part_description_filter_code(void); 438static void st_collections_group_parts_part_description_filter_code(void);
469static void st_collections_group_parts_part_description_filter_source(void); 439static void st_collections_group_parts_part_description_filter_source(void);
470static void st_collections_group_parts_part_description_filter_data(void); 440static void st_collections_group_parts_part_description_filter_data(void);
@@ -516,6 +486,9 @@ static void st_collections_group_parts_part_description_params_bool(void);
516static void st_collections_group_parts_part_description_params_choice(void); 486static void st_collections_group_parts_part_description_params_choice(void);
517static void st_collections_group_parts_part_description_params_smart(void); 487static void st_collections_group_parts_part_description_params_smart(void);
518 488
489/* vector part parameter */
490static void st_collections_group_parts_part_description_vector_frame(void);
491
519static void ob_collections_group_programs_program(void); 492static void ob_collections_group_programs_program(void);
520static void st_collections_group_programs_program_name(void); 493static void st_collections_group_programs_program_name(void);
521static void st_collections_group_programs_program_signal(void); 494static void st_collections_group_programs_program_signal(void);
@@ -641,70 +614,6 @@ static void _handle_vector_image(void);
641 PROGRAM_BASE(PREFIX) \ 614 PROGRAM_BASE(PREFIX) \
642 PROGRAM_BASE(PREFIX ".programs") 615 PROGRAM_BASE(PREFIX ".programs")
643 616
644#define SET_LOOK1(Type, type_node) \
645 Edje_Part_Description_##Type * ed; \
646 ed = (Edje_Part_Description_##Type *)current_desc; \
647 \
648 if (ed->type_node.orientation.type <= EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_AT) \
649 { \
650 ed->type_node.orientation.data[0] = FROM_DOUBLE(parse_float(0)); \
651 ed->type_node.orientation.data[1] = FROM_DOUBLE(parse_float(1)); \
652 ed->type_node.orientation.data[2] = FROM_DOUBLE(parse_float(2)); \
653 ed->type_node.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_AT; \
654 }
655
656#define SET_LOOK2(Type, type_node) \
657 Edje_Part_Description_##Type * ed; \
658 ed = (Edje_Part_Description_##Type *)current_desc; \
659 \
660 if (ed->type_node.orientation.type <= EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_AT) \
661 { \
662 ed->type_node.orientation.data[3] = FROM_DOUBLE(parse_float(0)); \
663 ed->type_node.orientation.data[4] = FROM_DOUBLE(parse_float(1)); \
664 ed->type_node.orientation.data[5] = FROM_DOUBLE(parse_float(2)); \
665 ed->type_node.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_AT; \
666 }
667
668#define SET_LOOK_TO(list, Type, type_node) \
669 Edje_Part_Description_##Type * ed; \
670 char *name; \
671 \
672 ed = (Edje_Part_Description_##Type *)current_desc; \
673 \
674 if (ed->type_node.orientation.type <= EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_TO) \
675 { \
676 name = parse_str(0); \
677 data_queue_part_lookup(list, name, &(ed->type_node.orientation.look_to)); \
678 free(name); \
679 ed->type_node.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_LOOK_TO; \
680 }
681
682#define SET_ANGLE_AXIS(Type, type_node) \
683 Edje_Part_Description_##Type * ed; \
684 ed = (Edje_Part_Description_##Type *)current_desc; \
685 \
686 if (ed->type_node.orientation.type <= EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_ANGLE_AXIS) \
687 { \
688 ed->type_node.orientation.data[0] = FROM_DOUBLE(parse_float(0)); \
689 ed->type_node.orientation.data[1] = FROM_DOUBLE(parse_float(1)); \
690 ed->type_node.orientation.data[2] = FROM_DOUBLE(parse_float(2)); \
691 ed->type_node.orientation.data[3] = FROM_DOUBLE(parse_float(3)); \
692 ed->type_node.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_ANGLE_AXIS; \
693 }
694
695#define SET_QUATERNION(Type, type_node) \
696 Edje_Part_Description_##Type * ed; \
697 ed = (Edje_Part_Description_##Type *)current_desc; \
698 \
699 if (ed->type_node.orientation.type <= EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_QUATERNION) \
700 { \
701 ed->type_node.orientation.data[1] = FROM_DOUBLE(parse_float(0)); \
702 ed->type_node.orientation.data[2] = FROM_DOUBLE(parse_float(1)); \
703 ed->type_node.orientation.data[3] = FROM_DOUBLE(parse_float(2)); \
704 ed->type_node.orientation.data[0] = FROM_DOUBLE(parse_float(3)); \
705 ed->type_node.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_QUATERNION; \
706 }
707
708#define FILTERS_STATEMENTS(PREFIX) \ 617#define FILTERS_STATEMENTS(PREFIX) \
709 {PREFIX "filters.filter.file", st_filters_filter_file}, \ 618 {PREFIX "filters.filter.file", st_filters_filter_file}, \
710 {PREFIX "filters.filter.name", st_filters_filter_name}, 619 {PREFIX "filters.filter.name", st_filters_filter_name},
@@ -770,7 +679,6 @@ New_Statement_Handler statement_handlers[] =
770 {"collections.group.alias", st_collections_group_alias}, 679 {"collections.group.alias", st_collections_group_alias},
771 {"collections.group.min", st_collections_group_min}, 680 {"collections.group.min", st_collections_group_min},
772 {"collections.group.max", st_collections_group_max}, 681 {"collections.group.max", st_collections_group_max},
773 {"collections.group.scene_size", st_collections_group_scene_size},
774 {"collections.group.broadcast_signal", st_collections_group_broadcast_signal}, 682 {"collections.group.broadcast_signal", st_collections_group_broadcast_signal},
775 {"collections.group.orientation", st_collections_group_orientation}, 683 {"collections.group.orientation", st_collections_group_orientation},
776 {"collections.group.mouse_events", st_collections_group_mouse_events}, 684 {"collections.group.mouse_events", st_collections_group_mouse_events},
@@ -782,9 +690,6 @@ New_Statement_Handler statement_handlers[] =
782 {"collections.group.programs.target_group", st_collections_group_target_group}, /* dup */ 690 {"collections.group.programs.target_group", st_collections_group_target_group}, /* dup */
783 IMAGE_SET_STATEMENTS("collections.group") 691 IMAGE_SET_STATEMENTS("collections.group")
784 IMAGE_STATEMENTS("collections.group.") 692 IMAGE_STATEMENTS("collections.group.")
785 {
786 "collections.group.models.model", st_models_model
787 },
788 {"collections.group.font", st_fonts_font}, /* dup */ 693 {"collections.group.font", st_fonts_font}, /* dup */
789 FONT_STYLE_CC_STATEMENTS("collections.group.") 694 FONT_STYLE_CC_STATEMENTS("collections.group.")
790 TEXT_CLASS_STATEMENTS("collections.group.") 695 TEXT_CLASS_STATEMENTS("collections.group.")
@@ -976,31 +881,6 @@ New_Statement_Handler statement_handlers[] =
976 {"collections.group.parts.part.description.table.min", st_collections_group_parts_part_description_table_min}, 881 {"collections.group.parts.part.description.table.min", st_collections_group_parts_part_description_table_min},
977 {"collections.group.parts.part.description.proxy.source_visible", st_collections_group_parts_part_description_proxy_source_visible}, 882 {"collections.group.parts.part.description.proxy.source_visible", st_collections_group_parts_part_description_proxy_source_visible},
978 {"collections.group.parts.part.description.proxy.source_clip", st_collections_group_parts_part_description_proxy_source_clip}, 883 {"collections.group.parts.part.description.proxy.source_clip", st_collections_group_parts_part_description_proxy_source_clip},
979 {"collections.group.parts.part.description.position.point", st_collections_group_parts_part_description_position_point},
980 {"collections.group.parts.part.description.position.space", st_collections_group_parts_part_description_position_space},
981 {"collections.group.parts.part.description.properties.perspective", st_collections_group_parts_part_description_camera_properties},
982 {"collections.group.parts.part.description.properties.ambient", st_collections_group_parts_part_description_properties_ambient},
983 {"collections.group.parts.part.description.properties.diffuse", st_collections_group_parts_part_description_properties_diffuse},
984 {"collections.group.parts.part.description.properties.specular", st_collections_group_parts_part_description_properties_specular},
985 {"collections.group.parts.part.description.properties.material", st_collections_group_parts_part_description_properties_material},
986 {"collections.group.parts.part.description.properties.normal", st_collections_group_parts_part_description_properties_normal},
987 {"collections.group.parts.part.description.properties.shininess", st_collections_group_parts_part_description_properties_shininess},
988 {"collections.group.parts.part.description.properties.shade", st_collections_group_parts_part_description_properties_shade},
989 {"collections.group.parts.part.description.mesh.primitive", st_collections_group_parts_part_description_mesh_primitive},
990 {"collections.group.parts.part.description.orientation.look1", st_collections_group_parts_part_description_orientation_look1},
991 {"collections.group.parts.part.description.orientation.look2", st_collections_group_parts_part_description_orientation_look2},
992 {"collections.group.parts.part.description.orientation.look_to", st_collections_group_parts_part_description_orientation_look_to},
993 {"collections.group.parts.part.description.orientation.angle_axis", st_collections_group_parts_part_description_orientation_angle_axis},
994 {"collections.group.parts.part.description.orientation.quaternion", st_collections_group_parts_part_description_orientation_quaternion},
995 {"collections.group.parts.part.description.scale", st_collections_group_parts_part_description_scale},
996 {"collections.group.parts.part.description.texture.image", st_collections_group_parts_part_description_texture_image},
997 {"collections.group.parts.part.description.texture.wrap1", st_collections_group_parts_part_description_texture_wrap1},
998 {"collections.group.parts.part.description.texture.wrap2", st_collections_group_parts_part_description_texture_wrap2},
999 {"collections.group.parts.part.description.texture.filter1", st_collections_group_parts_part_description_texture_filter1},
1000 {"collections.group.parts.part.description.texture.filter2", st_collections_group_parts_part_description_texture_filter2},
1001 {"collections.group.parts.part.description.mesh.assembly", st_collections_group_parts_part_description_mesh_assembly},
1002 {"collections.group.parts.part.description.mesh.geometry", st_collections_group_parts_part_description_mesh_geometry},
1003 {"collections.group.parts.part.description.mesh.frame", st_collections_group_parts_part_description_mesh_frame},
1004 {"collections.group.parts.part.description.filter.code", st_collections_group_parts_part_description_filter_code}, 884 {"collections.group.parts.part.description.filter.code", st_collections_group_parts_part_description_filter_code},
1005 {"collections.group.parts.part.description.filter.source", st_collections_group_parts_part_description_filter_source}, 885 {"collections.group.parts.part.description.filter.source", st_collections_group_parts_part_description_filter_source},
1006 {"collections.group.parts.part.description.filter.data", st_collections_group_parts_part_description_filter_data}, 886 {"collections.group.parts.part.description.filter.data", st_collections_group_parts_part_description_filter_data},
@@ -1047,6 +927,7 @@ New_Statement_Handler statement_handlers[] =
1047 {"collections.group.parts.part.description.params.bool", st_collections_group_parts_part_description_params_bool}, 927 {"collections.group.parts.part.description.params.bool", st_collections_group_parts_part_description_params_bool},
1048 {"collections.group.parts.part.description.params.choice", st_collections_group_parts_part_description_params_choice}, 928 {"collections.group.parts.part.description.params.choice", st_collections_group_parts_part_description_params_choice},
1049 {"collections.group.parts.part.description.params.*", st_collections_group_parts_part_description_params_smart}, 929 {"collections.group.parts.part.description.params.*", st_collections_group_parts_part_description_params_smart},
930 {"collections.group.parts.part.description.vector.frame", st_collections_group_parts_part_description_vector_frame},
1050 IMAGE_STATEMENTS("collections.group.parts.part.description.") 931 IMAGE_STATEMENTS("collections.group.parts.part.description.")
1051 { 932 {
1052 "collections.group.parts.part.description.font", st_fonts_font 933 "collections.group.parts.part.description.font", st_fonts_font
@@ -1495,7 +1376,6 @@ New_Object_Handler object_handlers[] =
1495 {"collections.group.set", ob_images_set}, /* dup */ 1376 {"collections.group.set", ob_images_set}, /* dup */
1496 {"collections.group.set.image", ob_images_set_image}, /* dup */ 1377 {"collections.group.set.image", ob_images_set_image}, /* dup */
1497 {"collections.group.images", NULL}, /* dup */ 1378 {"collections.group.images", NULL}, /* dup */
1498 {"collections.group.models", NULL}, /* dup */
1499 {"collections.group.images.set", ob_images_set}, /* dup */ 1379 {"collections.group.images.set", ob_images_set}, /* dup */
1500 {"collections.group.images.set.image", ob_images_set_image}, /* dup */ 1380 {"collections.group.images.set.image", ob_images_set_image}, /* dup */
1501 {"collections.group.fonts", NULL}, /* dup */ 1381 {"collections.group.fonts", NULL}, /* dup */
@@ -1572,11 +1452,6 @@ New_Object_Handler object_handlers[] =
1572 {"collections.group.parts.part.description.styles.style", ob_styles_style}, /* dup */ 1452 {"collections.group.parts.part.description.styles.style", ob_styles_style}, /* dup */
1573 {"collections.group.parts.part.description.box", NULL}, 1453 {"collections.group.parts.part.description.box", NULL},
1574 {"collections.group.parts.part.description.table", NULL}, 1454 {"collections.group.parts.part.description.table", NULL},
1575 {"collections.group.parts.part.description.position", NULL},
1576 {"collections.group.parts.part.description.properties", NULL},
1577 {"collections.group.parts.part.description.orientation", NULL},
1578 {"collections.group.parts.part.description.texture", ob_collections_group_parts_part_description_texture},
1579 {"collections.group.parts.part.description.mesh", NULL},
1580 {"collections.group.parts.part.description.filter", NULL}, 1455 {"collections.group.parts.part.description.filter", NULL},
1581 {"collections.group.parts.part.description.proxy", NULL}, 1456 {"collections.group.parts.part.description.proxy", NULL},
1582#ifdef HAVE_EPHYSICS 1457#ifdef HAVE_EPHYSICS
@@ -1590,6 +1465,7 @@ New_Object_Handler object_handlers[] =
1590 {"collections.group.parts.part.description.map.zoom", NULL}, 1465 {"collections.group.parts.part.description.map.zoom", NULL},
1591 {"collections.group.parts.part.description.perspective", NULL}, 1466 {"collections.group.parts.part.description.perspective", NULL},
1592 {"collections.group.parts.part.description.params", NULL}, 1467 {"collections.group.parts.part.description.params", NULL},
1468 {"collections.group.parts.part.description.vector", NULL},
1593 {"collections.group.parts.part.description.color_classes", NULL}, /* dup */ 1469 {"collections.group.parts.part.description.color_classes", NULL}, /* dup */
1594 {"collections.group.parts.part.description.color_classes.color_class", ob_color_class}, /* dup */ 1470 {"collections.group.parts.part.description.color_classes.color_class", ob_color_class}, /* dup */
1595 {"collections.group.parts.part.description.text_classes", NULL}, /* dup */ 1471 {"collections.group.parts.part.description.text_classes", NULL}, /* dup */
@@ -1888,160 +1764,6 @@ _edje_part_description_alloc(unsigned char type, const char *collection, const c
1888 break; 1764 break;
1889 } 1765 }
1890 1766
1891 case EDJE_PART_TYPE_MESH_NODE:
1892 {
1893 Edje_Part_Description_Mesh_Node *ed;
1894
1895 ed = mem_alloc(SZ(Edje_Part_Description_Mesh_Node));
1896
1897 ed->mesh_node.mesh.id = -1;
1898 ed->mesh_node.mesh.primitive = 0;
1899 ed->mesh_node.mesh.assembly = 1;
1900 ed->mesh_node.mesh.frame = 0;
1901
1902 ed->mesh_node.texture.id = -1;
1903 ed->mesh_node.texture.wrap1 = 0;
1904 ed->mesh_node.texture.wrap2 = 0;
1905 ed->mesh_node.texture.filter1 = 0;
1906 ed->mesh_node.texture.filter2 = 0;
1907
1908 ed->mesh_node.properties.shade = EVAS_CANVAS3D_SHADER_MODE_VERTEX_COLOR;
1909 ed->mesh_node.properties.ambient.r = 50;
1910 ed->mesh_node.properties.ambient.g = 50;
1911 ed->mesh_node.properties.ambient.b = 50;
1912 ed->mesh_node.properties.ambient.a = 255;
1913 ed->mesh_node.properties.diffuse.r = 255;
1914 ed->mesh_node.properties.diffuse.g = 255;
1915 ed->mesh_node.properties.diffuse.b = 255;
1916 ed->mesh_node.properties.diffuse.a = 255;
1917 ed->mesh_node.properties.specular.r = 255;
1918 ed->mesh_node.properties.specular.g = 255;
1919 ed->mesh_node.properties.specular.b = 255;
1920 ed->mesh_node.properties.specular.a = 255;
1921
1922 ed->mesh_node.properties.material_attrib = 1;
1923 ed->mesh_node.properties.normal = 1;
1924 ed->mesh_node.properties.shininess = 50;
1925
1926 ed->mesh_node.aabb1.relative.x = -1.0;
1927 ed->mesh_node.aabb1.relative.y = -1.0;
1928 ed->mesh_node.aabb1.relative.z = -1.0;
1929 ed->mesh_node.aabb1.offset.x = 0;
1930 ed->mesh_node.aabb1.offset.y = 0;
1931 ed->mesh_node.aabb1.offset.z = 0;
1932 ed->mesh_node.aabb1.rel_to = -1;
1933 ed->mesh_node.aabb2.relative.x = 1.0;
1934 ed->mesh_node.aabb2.relative.y = 1.0;
1935 ed->mesh_node.aabb2.relative.z = 1.0;
1936 ed->mesh_node.aabb2.offset.x = 0;
1937 ed->mesh_node.aabb2.offset.y = 0;
1938 ed->mesh_node.aabb2.offset.z = 0;
1939 ed->mesh_node.aabb2.rel_to = -1;
1940
1941 ed->mesh_node.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_NONE;
1942 /* x1 is angle for angle_axis and cosine of half angle for quternion,
1943 x2, x3, x4 define axis for angle_axis and quaternion,
1944 x1, x2, x3 are coordinates of point to look at for look_at,
1945 x4, x5, x6 define a vector that indicates the angle at which
1946 the subject is looking at the target for look_at and look_to */
1947 ed->mesh_node.orientation.data[0] = 1.0;
1948 ed->mesh_node.orientation.data[1] = 0.0;
1949 ed->mesh_node.orientation.data[2] = 0.0;
1950 ed->mesh_node.orientation.data[3] = 0.0;
1951 ed->mesh_node.orientation.data[4] = 1.0;
1952 ed->mesh_node.orientation.data[5] = 0.0;
1953 ed->mesh_node.orientation.look_to = -1;
1954
1955 ed->mesh_node.scale_3d.x = 1.0;
1956 ed->mesh_node.scale_3d.y = 1.0;
1957 ed->mesh_node.scale_3d.z = 1.0;
1958
1959 ed->mesh_node.position.point.x = 0.0;
1960 ed->mesh_node.position.point.y = 0.0;
1961 ed->mesh_node.position.point.z = 0.0;
1962 ed->mesh_node.position.space = EVAS_CANVAS3D_SPACE_PARENT;
1963
1964 result = &ed->common;
1965 break;
1966 }
1967
1968 case EDJE_PART_TYPE_LIGHT:
1969 {
1970 Edje_Part_Description_Light *ed;
1971
1972 ed = mem_alloc(SZ(Edje_Part_Description_Light));
1973
1974 ed->light.properties.ambient.r = 50;
1975 ed->light.properties.ambient.g = 50;
1976 ed->light.properties.ambient.b = 50;
1977 ed->light.properties.ambient.a = 255;
1978 ed->light.properties.diffuse.r = 255;
1979 ed->light.properties.diffuse.g = 255;
1980 ed->light.properties.diffuse.b = 255;
1981 ed->light.properties.diffuse.a = 255;
1982 ed->light.properties.specular.r = 255;
1983 ed->light.properties.specular.g = 255;
1984 ed->light.properties.specular.b = 255;
1985 ed->light.properties.specular.a = 255;
1986
1987 ed->light.position.point.x = 0.0;
1988 ed->light.position.point.y = 0.0;
1989 ed->light.position.point.z = 1.0;
1990 ed->light.position.space = EVAS_CANVAS3D_SPACE_PARENT;
1991
1992 ed->light.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_NONE;
1993 /* x1 is angle for angle_axis and cosine of half angle for quternion,
1994 x2, x3, x4 define axis for angle_axis and quaternion,
1995 x1, x2, x3 are coordinates of point to look at for look_at,
1996 x4, x5, x6 define a vector that indicates the angle at which
1997 the subject is looking at the target for look_at and look_to */
1998 ed->light.orientation.data[0] = 1.0;
1999 ed->light.orientation.data[1] = 0.0;
2000 ed->light.orientation.data[2] = 0.0;
2001 ed->light.orientation.data[3] = 0.0;
2002 ed->light.orientation.data[4] = 1.0;
2003 ed->light.orientation.data[5] = 0.0;
2004 ed->light.orientation.look_to = -1;
2005
2006 result = &ed->common;
2007 break;
2008 }
2009
2010 case EDJE_PART_TYPE_CAMERA:
2011 {
2012 Edje_Part_Description_Camera *ed;
2013
2014 ed = mem_alloc(SZ(Edje_Part_Description_Camera));
2015
2016 ed->camera.camera.fovy = 60.0;
2017 ed->camera.camera.aspect = 1.0;
2018 ed->camera.camera.frustum_near = 2.0;
2019 ed->camera.camera.frustum_far = 50.0;
2020
2021 ed->camera.position.point.x = 0.0;
2022 ed->camera.position.point.y = 0.0;
2023 ed->camera.position.point.z = 5.0;
2024
2025 ed->camera.position.space = EVAS_CANVAS3D_SPACE_PARENT;
2026
2027 ed->camera.orientation.type = EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_NONE;
2028 /* x1 is angle for angle_axis and cosine of half angle for quternion,
2029 x2, x3, x4 define axis for angle_axis and quaternion,
2030 x1, x2, x3 are coordinates of point to look at for look_at,
2031 x4, x5, x6 define a vector that indicates the angle at which
2032 the subject is looking at the target for look_at and look_to */
2033 ed->camera.orientation.data[0] = 1.0;
2034 ed->camera.orientation.data[1] = 0.0;
2035 ed->camera.orientation.data[2] = 0.0;
2036 ed->camera.orientation.data[3] = 0.0;
2037 ed->camera.orientation.data[4] = 1.0;
2038 ed->camera.orientation.data[5] = 0.0;
2039 ed->camera.orientation.look_to = -1;
2040
2041 result = &ed->common;
2042 break;
2043 }
2044
2045 case EDJE_PART_TYPE_VECTOR: 1767 case EDJE_PART_TYPE_VECTOR:
2046 { 1768 {
2047 Edje_Part_Description_Vector *ed; 1769 Edje_Part_Description_Vector *ed;
@@ -2545,6 +2267,7 @@ _handle_vector_image(void)
2545 { 2267 {
2546 ed->vg.set = EINA_TRUE; 2268 ed->vg.set = EINA_TRUE;
2547 ed->vg.id = edje_file->image_dir->vectors[i].id; 2269 ed->vg.id = edje_file->image_dir->vectors[i].id;
2270 ed->vg.type = edje_file->image_dir->vectors[i].type;
2548 break; 2271 break;
2549 } 2272 }
2550 } 2273 }
@@ -2555,7 +2278,7 @@ _handle_vector_image(void)
2555 free(name); 2278 free(name);
2556} 2279}
2557 2280
2558/** @edcsubsection{toplevel_images, 2281/** @edcsubsection{toplevel_images2,
2559 * Images} */ 2282 * Images} */
2560 2283
2561/** 2284/**
@@ -2587,6 +2310,7 @@ st_images_vector(void)
2587 Edje_Vector_Directory_Entry *vector; 2310 Edje_Vector_Directory_Entry *vector;
2588 const char *tmp; 2311 const char *tmp;
2589 unsigned int i; 2312 unsigned int i;
2313 size_t entry_len;
2590 2314
2591 check_min_arg_count(1); 2315 check_min_arg_count(1);
2592 2316
@@ -2618,74 +2342,16 @@ st_images_vector(void)
2618 2342
2619 vector->entry = tmp; 2343 vector->entry = tmp;
2620 vector->id = edje_file->image_dir->vectors_count - 1; 2344 vector->id = edje_file->image_dir->vectors_count - 1;
2621}
2622
2623/**
2624 @edcsubsection{toplevel_models,model}
2625 */
2626
2627/**
2628 @page edcref
2629
2630 @block
2631 models
2632 @context
2633 models {
2634 model: "filename1.ext";
2635 model: "filename2.ext";
2636 model: "filename2.ext" 50;
2637 ..
2638 }
2639 @description
2640 The "models" block is used to list each model file that will be used in
2641 the theme.
2642 @endblock
2643
2644 @property
2645 model
2646 @parameters
2647 [model file]
2648 @effect
2649 Used to include each model file.
2650 @endproperty
2651 */
2652static void
2653st_models_model(void)
2654{
2655 Edje_Model_Directory_Entry *mdl;
2656 const char *tmp;
2657 unsigned int i;
2658
2659 check_min_arg_count(1);
2660
2661 if (!edje_file->model_dir)
2662 edje_file->model_dir = mem_alloc(SZ(Edje_Model_Directory));
2663
2664 tmp = parse_str(0);
2665 2345
2666 for (i = 0; i < edje_file->model_dir->entries_count; ++i) 2346 entry_len = strlen(vector->entry);
2667 if (!strcmp(edje_file->model_dir->entries[i].entry, tmp)) 2347 if ((entry_len > 5) && !strncmp(vector->entry + entry_len - 5, ".json", 5))
2668 {
2669 free((char *)tmp);
2670 return;
2671 }
2672
2673 edje_file->model_dir->entries_count++;
2674 mdl = realloc(edje_file->model_dir->entries,
2675 sizeof (Edje_Model_Directory_Entry) * edje_file->model_dir->entries_count);
2676 if (!mdl)
2677 { 2348 {
2678 ERR("No enough memory."); 2349 vector->type = EDJE_VECTOR_FILE_TYPE_LOTTIE;
2679 exit(-1); 2350 }
2351 else
2352 {
2353 vector->type = EDJE_VECTOR_FILE_TYPE_SVG;
2680 } 2354 }
2681 edje_file->model_dir->entries = mdl;
2682 memset(edje_file->model_dir->entries + edje_file->model_dir->entries_count - 1,
2683 0, sizeof (Edje_Model_Directory_Entry));
2684
2685 mdl = edje_file->model_dir->entries + edje_file->model_dir->entries_count - 1;
2686
2687 mdl->entry = tmp;
2688 mdl->id = edje_file->model_dir->entries_count - 1;
2689} 2355}
2690 2356
2691/** @edcsubsection{toplevel_images_set, 2357/** @edcsubsection{toplevel_images_set,
@@ -3831,7 +3497,7 @@ st_size_class_max(void)
3831 3497
3832/** @edcsection{collections,Collections Blocks} */ 3498/** @edcsection{collections,Collections Blocks} */
3833 3499
3834/** @edcsubsection{collections, 3500/** @edcsubsection{sub_collections,
3835 * Collections} */ 3501 * Collections} */
3836 3502
3837/** 3503/**
@@ -4458,9 +4124,6 @@ ob_collections_group(void)
4458 pcp->default_mouse_events = 1; 4124 pcp->default_mouse_events = 1;
4459 pcp->inherit_script = EINA_FALSE; 4125 pcp->inherit_script = EINA_FALSE;
4460 4126
4461 pc->scene_size.width = 0;
4462 pc->scene_size.height = 0;
4463
4464#ifdef HAVE_EPHYSICS 4127#ifdef HAVE_EPHYSICS
4465 pc->physics.world.gravity.x = 0; 4128 pc->physics.world.gravity.x = 0;
4466 pc->physics.world.gravity.y = 294; 4129 pc->physics.world.gravity.y = 294;
@@ -4545,7 +4208,7 @@ st_collections_group_name(void)
4545 This property can be inherited. 4208 This property can be inherited.
4546 Defaults: 0 4209 Defaults: 0
4547 4210
4548 @warning Your edc file should always wrap this keyword with #ifdef HAVE_SKIP_NAMESPACE_VALIDATION 4211 @warning Your edc file should always wrap this keyword with <tt>\#ifdef HAVE_SKIP_NAMESPACE_VALIDATION</tt>
4549 @since 1.21 4212 @since 1.21
4550 @endproperty 4213 @endproperty
4551 */ 4214 */
@@ -4649,18 +4312,6 @@ _parts_count_update(unsigned int type, int inc)
4649 current_de->count.PROXY += inc; 4312 current_de->count.PROXY += inc;
4650 break; 4313 break;
4651 4314
4652 case EDJE_PART_TYPE_MESH_NODE:
4653 current_de->count.MESH_NODE += inc;
4654 break;
4655
4656 case EDJE_PART_TYPE_LIGHT:
4657 current_de->count.LIGHT += inc;
4658 break;
4659
4660 case EDJE_PART_TYPE_CAMERA:
4661 current_de->count.CAMERA += inc;
4662 break;
4663
4664 case EDJE_PART_TYPE_SPACER: 4315 case EDJE_PART_TYPE_SPACER:
4665 current_de->count.SPACER += inc; 4316 current_de->count.SPACER += inc;
4666 break; 4317 break;
@@ -5515,30 +5166,6 @@ st_collections_group_max(void)
5515} 5166}
5516 5167
5517/** 5168/**
5518 @page edcref
5519 @property
5520 scene_size
5521 @parameters
5522 [width] [height]
5523 @effect
5524 Size of scene.
5525
5526 Defaults: 0.0 0.0
5527 @endproperty
5528 */
5529static void
5530st_collections_group_scene_size(void)
5531{
5532 Edje_Part_Collection *pc;
5533
5534 check_arg_count(2);
5535
5536 pc = eina_list_data_get(eina_list_last(edje_collections));
5537 pc->scene_size.width = parse_float(0);
5538 pc->scene_size.height = parse_float(1);
5539}
5540
5541/**
5542 @page edcref 5169 @page edcref
5543 @property 5170 @property
5544 broadcast_signal 5171 broadcast_signal
@@ -6856,9 +6483,6 @@ st_collections_group_parts_part_name(void)
6856 @li BOX 6483 @li BOX
6857 @li TABLE 6484 @li TABLE
6858 @li EXTERNAL 6485 @li EXTERNAL
6859 @li MESH_NODE
6860 @li CAMERA
6861 @li LIGHT
6862 @li PROXY 6486 @li PROXY
6863 @li SPACER 6487 @li SPACER
6864 @li SNAPSHOT 6488 @li SNAPSHOT
@@ -6870,9 +6494,6 @@ static void
6870st_collections_group_parts_part_type(void) 6494st_collections_group_parts_part_type(void)
6871{ 6495{
6872 unsigned int type; 6496 unsigned int type;
6873 unsigned int i = 0;
6874
6875 Edje_Part_Collection *pc;
6876 6497
6877 check_arg_count(1); 6498 check_arg_count(1);
6878 6499
@@ -6888,29 +6509,11 @@ st_collections_group_parts_part_type(void)
6888 "TABLE", EDJE_PART_TYPE_TABLE, 6509 "TABLE", EDJE_PART_TYPE_TABLE,
6889 "EXTERNAL", EDJE_PART_TYPE_EXTERNAL, 6510 "EXTERNAL", EDJE_PART_TYPE_EXTERNAL,
6890 "PROXY", EDJE_PART_TYPE_PROXY, 6511 "PROXY", EDJE_PART_TYPE_PROXY,
6891 "MESH_NODE", EDJE_PART_TYPE_MESH_NODE,
6892 "LIGHT", EDJE_PART_TYPE_LIGHT,
6893 "CAMERA", EDJE_PART_TYPE_CAMERA,
6894 "SPACER", EDJE_PART_TYPE_SPACER, 6512 "SPACER", EDJE_PART_TYPE_SPACER,
6895 "SNAPSHOT", EDJE_PART_TYPE_SNAPSHOT, 6513 "SNAPSHOT", EDJE_PART_TYPE_SNAPSHOT,
6896 "VECTOR", EDJE_PART_TYPE_VECTOR, 6514 "VECTOR", EDJE_PART_TYPE_VECTOR,
6897 NULL); 6515 NULL);
6898 6516
6899 pc = eina_list_data_get(eina_list_last(edje_collections));
6900
6901 if (type == EDJE_PART_TYPE_CAMERA)
6902 {
6903 for (i = 0; i < (pc->parts_count - 1); i++)
6904 {
6905 if (pc->parts[i]->type == EDJE_PART_TYPE_CAMERA)
6906 {
6907 WRN("parse error %s:%i. more then one part of type CAMERA in scene.",
6908 file_in, line - 1);
6909 exit(-1);
6910 }
6911 }
6912 }
6913
6914 _part_type_set(type); 6517 _part_type_set(type);
6915} 6518}
6916 6519
@@ -8628,9 +8231,6 @@ ob_collections_group_parts_part_description(void)
8628 ed->minmul.have = 1; 8231 ed->minmul.have = 1;
8629 ed->minmul.w = FROM_DOUBLE(1.0); 8232 ed->minmul.w = FROM_DOUBLE(1.0);
8630 ed->minmul.h = FROM_DOUBLE(1.0); 8233 ed->minmul.h = FROM_DOUBLE(1.0);
8631 ed->align_3d.x = FROM_DOUBLE(0.5);
8632 ed->align_3d.y = FROM_DOUBLE(0.5);
8633 ed->align_3d.z = FROM_DOUBLE(0.5);
8634} 8234}
8635 8235
8636static void 8236static void
@@ -8912,54 +8512,14 @@ st_collections_group_parts_part_description_inherit(void)
8912 break; 8512 break;
8913 } 8513 }
8914 8514
8915 case EDJE_PART_TYPE_CAMERA:
8916 {
8917 Edje_Part_Description_Camera *ced = (Edje_Part_Description_Camera *)ed;
8918 Edje_Part_Description_Camera *cparent = (Edje_Part_Description_Camera *)parent;
8919
8920 ced->camera = cparent->camera;
8921
8922 data_queue_copied_part_lookup(pc, &(cparent->camera.orientation.look_to), &(ced->camera.orientation.look_to));
8923
8924 break;
8925 }
8926
8927 case EDJE_PART_TYPE_LIGHT:
8928 {
8929 Edje_Part_Description_Light *led = (Edje_Part_Description_Light *)ed;
8930 Edje_Part_Description_Light *lparent = (Edje_Part_Description_Light *)parent;
8931
8932 led->light = lparent->light;
8933
8934 data_queue_copied_part_lookup(pc, &(lparent->light.orientation.look_to), &(led->light.orientation.look_to));
8935
8936 break;
8937 }
8938
8939 case EDJE_PART_TYPE_MESH_NODE:
8940 {
8941 Edje_Part_Description_Mesh_Node *med = (Edje_Part_Description_Mesh_Node *)ed;
8942 Edje_Part_Description_Mesh_Node *mparent = (Edje_Part_Description_Mesh_Node *)parent;
8943
8944 med->mesh_node = mparent->mesh_node;
8945
8946 data_queue_model_remove(&med->mesh_node.mesh.id, &med->mesh_node.mesh.set);
8947 data_queue_copied_model_lookup(&mparent->mesh_node.mesh.id, &med->mesh_node.mesh.id, &med->mesh_node.mesh.set);
8948
8949 data_queue_image_remove(&med->mesh_node.texture.id, &med->mesh_node.texture.set);
8950 data_queue_copied_model_lookup(&mparent->mesh_node.texture.id, &med->mesh_node.texture.id, &med->mesh_node.texture.set);
8951
8952 data_queue_copied_part_lookup(pc, &(mparent->mesh_node.orientation.look_to), &(med->mesh_node.orientation.look_to));
8953
8954 break;
8955 }
8956
8957 case EDJE_PART_TYPE_VECTOR: 8515 case EDJE_PART_TYPE_VECTOR:
8958 { 8516 {
8959 Edje_Part_Description_Vector *ied = (Edje_Part_Description_Vector *)ed; 8517 Edje_Part_Description_Vector *ied = (Edje_Part_Description_Vector *)ed;
8960 Edje_Part_Description_Vector *iparent = (Edje_Part_Description_Vector *)parent; 8518 Edje_Part_Description_Vector *iparent = (Edje_Part_Description_Vector *)parent;
8961 ied->vg.set = iparent->vg.set; 8519 ied->vg.set = iparent->vg.set;
8962 ied->vg.id = iparent->vg.id; 8520 ied->vg.id = iparent->vg.id;
8521 ied->vg.type = iparent->vg.type;
8522 ied->vg.frame = iparent->vg.frame;
8963 break; 8523 break;
8964 } 8524 }
8965 } 8525 }
@@ -9238,7 +8798,7 @@ st_collections_group_parts_part_description_limit(void)
9238 @property 8798 @property
9239 align 8799 align
9240 @parameters 8800 @parameters
9241 [X axis] [Y axis] ([Z axis]) 8801 [X axis] [Y axis]
9242 @effect 8802 @effect
9243 When the displayed object's size is smaller (or bigger) than 8803 When the displayed object's size is smaller (or bigger) than
9244 its container, this property moves it relatively along both 8804 its container, this property moves it relatively along both
@@ -9246,27 +8806,18 @@ st_collections_group_parts_part_description_limit(void)
9246 the object touching container's respective ones, while @c 8806 the object touching container's respective ones, while @c
9247 "1.0" stands for right/bottom edges of the object (on 8807 "1.0" stands for right/bottom edges of the object (on
9248 horizontal/vertical axis, respectively). 8808 horizontal/vertical axis, respectively).
9249 There is one more parameter for Z axis in case of MESH_NODE.
9250 8809
9251 Defaults: 0.5 0.5 (0.5) 8810 Defaults: 0.5 0.5
9252 @endproperty 8811 @endproperty
9253 */ 8812 */
9254static void 8813static void
9255st_collections_group_parts_part_description_align(void) 8814st_collections_group_parts_part_description_align(void)
9256{ 8815{
9257 check_has_anchors(); 8816 check_has_anchors();
8817 check_arg_count(2);
9258 8818
9259 if (get_arg_count() == 2) 8819 current_desc->align.x = FROM_DOUBLE(parse_float_range(0, 0.0, 1.0));
9260 { 8820 current_desc->align.y = FROM_DOUBLE(parse_float_range(1, 0.0, 1.0));
9261 current_desc->align.x = FROM_DOUBLE(parse_float_range(0, 0.0, 1.0));
9262 current_desc->align.y = FROM_DOUBLE(parse_float_range(1, 0.0, 1.0));
9263 }
9264 else if (get_arg_count() == 3)
9265 {
9266 current_desc->align_3d.x = FROM_DOUBLE(parse_float_range(0, 0.0, 1.0));
9267 current_desc->align_3d.y = FROM_DOUBLE(parse_float_range(1, 0.0, 1.0));
9268 current_desc->align_3d.z = FROM_DOUBLE(parse_float_range(2, 0.0, 1.0));
9269 }
9270} 8821}
9271 8822
9272/** 8823/**
@@ -9293,6 +8844,8 @@ st_collections_group_parts_part_description_fixed(void)
9293 8844
9294 current_desc->fixed.w = parse_bool(0); 8845 current_desc->fixed.w = parse_bool(0);
9295 current_desc->fixed.h = parse_bool(1); 8846 current_desc->fixed.h = parse_bool(1);
8847
8848 current_desc->user_set.fixed = EINA_TRUE;
9296} 8849}
9297 8850
9298/** 8851/**
@@ -10926,7 +10479,7 @@ st_collections_group_parts_part_description_image_scale_hint(void)
10926 The fill method is an optional block that defines the way an IMAGE or 10479 The fill method is an optional block that defines the way an IMAGE or
10927 PROXY part is going to be displayed inside its container. 10480 PROXY part is going to be displayed inside its container.
10928 It can be used for tiling (repeating the image) or displaying only 10481 It can be used for tiling (repeating the image) or displaying only
10929 part of an image. See @ref evas_object_image_fill_set() documentation 10482 part of an image. See evas_object_image_fill_set() documentation
10930 for more details. 10483 for more details.
10931 @endblock 10484 @endblock
10932 10485
@@ -11730,7 +11283,7 @@ st_collections_group_parts_part_description_text_fit_size_array(void)
11730 for (n = 0, argc = get_arg_count(); n < argc; n++) 11283 for (n = 0, argc = get_arg_count(); n < argc; n++)
11731 { 11284 {
11732 unsigned int *value = malloc(sizeof(unsigned int)); 11285 unsigned int *value = malloc(sizeof(unsigned int));
11733 *value = (unsigned int) parse_int(n); 11286 if (value) *value = (unsigned int) parse_int(n);
11734 ed->text.fit_size_array = eina_list_append(ed->text.fit_size_array, value); 11287 ed->text.fit_size_array = eina_list_append(ed->text.fit_size_array, value);
11735 } 11288 }
11736} 11289}
@@ -12379,1302 +11932,6 @@ st_collections_group_parts_part_description_proxy_source_visible(void)
12379 ed->proxy.source_visible = parse_bool(0); 11932 ed->proxy.source_visible = parse_bool(0);
12380} 11933}
12381 11934
12382/**
12383 @edcsubsection{collections_group_parts_description_position,
12384 Group.Parts.Part.Description.Position}
12385 */
12386
12387/**
12388 @page edcref
12389
12390 @block
12391 position
12392 @context
12393 part {
12394 description {
12395 ..
12396 position {
12397 point: x y z;
12398 space: LOCAL/PARENT/WORLD;
12399 }
12400 ..
12401 }
12402 }
12403 @description
12404 A position block defines position of CAMERA,
12405 LIGHT or MESH_NODE at the scene.
12406 @endblock
12407
12408 @property
12409 point
12410 @parameters
12411 [x] [y] [z]
12412 @effect
12413 Sets the point of CAMERA, LIGHT or MESH_NODE centre.
12414 @endproperty
12415 */
12416static void
12417st_collections_group_parts_part_description_position_point(void)
12418{
12419 check_arg_count(3);
12420
12421 switch (current_part->type)
12422 {
12423 case EDJE_PART_TYPE_CAMERA:
12424 {
12425 Edje_Part_Description_Camera *ed;
12426
12427 ed = (Edje_Part_Description_Camera *)current_desc;
12428
12429 ed->camera.position.point.x = FROM_DOUBLE(parse_float(0));
12430 ed->camera.position.point.y = FROM_DOUBLE(parse_float(1));
12431 ed->camera.position.point.z = FROM_DOUBLE(parse_float(2));
12432 break;
12433 }
12434
12435 case EDJE_PART_TYPE_LIGHT:
12436 {
12437 Edje_Part_Description_Light *ed;
12438
12439 ed = (Edje_Part_Description_Light *)current_desc;
12440
12441 ed->light.position.point.x = FROM_DOUBLE(parse_float(0));
12442 ed->light.position.point.y = FROM_DOUBLE(parse_float(1));
12443 ed->light.position.point.z = FROM_DOUBLE(parse_float(2));
12444 break;
12445 }
12446
12447 case EDJE_PART_TYPE_MESH_NODE:
12448 {
12449 Edje_Part_Description_Mesh_Node *ed;
12450
12451 ed = (Edje_Part_Description_Mesh_Node *)current_desc;
12452
12453 ed->mesh_node.position.point.x = FROM_DOUBLE(parse_float(0));
12454 ed->mesh_node.position.point.y = FROM_DOUBLE(parse_float(1));
12455 ed->mesh_node.position.point.z = FROM_DOUBLE(parse_float(2));
12456 break;
12457 }
12458
12459 default:
12460 {
12461 ERR("parse error %s:%i. camera and light attributes in non-CAMERA, non-LIGHT, and non-MESH_NODE part.",
12462 file_in, line - 1);
12463 exit(-1);
12464 }
12465 }
12466}
12467
12468/**
12469 @page edcref
12470
12471 @property
12472 space
12473 @parameters
12474 [SPACE]
12475 @effect
12476 Explains in which relative coordinates the location of LIGHT
12477 or CAMERA considers. Valid space types:
12478 @li LOCAL
12479 @li PARENT
12480 @li WORLD
12481 @endproperty
12482 */
12483static void
12484st_collections_group_parts_part_description_position_space(void)
12485{
12486 unsigned int space;
12487
12488 check_arg_count(1);
12489
12490 space = parse_enum(0,
12491 "LOCAL", EVAS_CANVAS3D_SPACE_LOCAL,
12492 "PARENT", EVAS_CANVAS3D_SPACE_PARENT,
12493 "WORLD", EVAS_CANVAS3D_SPACE_WORLD,
12494 NULL);
12495
12496 switch (current_part->type)
12497 {
12498 case EDJE_PART_TYPE_CAMERA:
12499 {
12500 Edje_Part_Description_Camera *ed;
12501
12502 ed = (Edje_Part_Description_Camera *)current_desc;
12503
12504 ed->camera.position.space = space;
12505 break;
12506 }
12507
12508 case EDJE_PART_TYPE_LIGHT:
12509 {
12510 Edje_Part_Description_Light *ed;
12511
12512 ed = (Edje_Part_Description_Light *)current_desc;
12513
12514 ed->light.position.space = space;
12515 break;
12516 }
12517
12518 case EDJE_PART_TYPE_MESH_NODE:
12519 {
12520 Edje_Part_Description_Mesh_Node *ed;
12521
12522 ed = (Edje_Part_Description_Mesh_Node *)current_desc;
12523
12524 ed->mesh_node.position.space = space;
12525 break;
12526 }
12527
12528 default:
12529 {
12530 ERR("parse error %s:%i. camera and light attributes in non-CAMERA, non-LIGHT, and non-MESH_NODE part.",
12531 file_in, line - 1);
12532 exit(-1);
12533 }
12534 }
12535}
12536
12537/**
12538 @edcsubsection{collections_group_parts_description_camera,
12539 Group.Parts.Part.Description.Properties}
12540 */
12541
12542/**
12543 @page edcref
12544
12545 @block
12546 properties
12547 @context
12548 part { type: CAMERA;
12549 description {
12550 ..
12551 properties {
12552 perspective: fovy aspect near far;
12553 }
12554 ..
12555 }
12556 }
12557 @description
12558 @endblock
12559
12560 @property
12561 properties
12562 @parameters
12563 [fovy] [aspect] [near] [far]
12564 @effect
12565 Specifies the basic attributes of the camera.
12566 @endproperty
12567 */
12568static void
12569st_collections_group_parts_part_description_camera_properties(void)
12570{
12571 check_arg_count(4);
12572
12573 if (current_part->type == EDJE_PART_TYPE_CAMERA)
12574 {
12575 Edje_Part_Description_Camera *ed;
12576
12577 ed = (Edje_Part_Description_Camera *)current_desc;
12578
12579 ed->camera.camera.fovy = FROM_DOUBLE(parse_float(0));
12580 ed->camera.camera.aspect = FROM_DOUBLE(parse_float(1));
12581 ed->camera.camera.frustum_near = FROM_DOUBLE(parse_float(2));
12582 ed->camera.camera.frustum_far = FROM_DOUBLE(parse_float(3));
12583 }
12584 else if (current_part->type == EDJE_PART_TYPE_LIGHT)
12585 {
12586 Edje_Part_Description_Light *ed;
12587
12588 ed = (Edje_Part_Description_Light *)current_desc;
12589
12590 ed->light.light.fovy = FROM_DOUBLE(parse_float(0));
12591 ed->light.light.aspect = FROM_DOUBLE(parse_float(1));
12592 ed->light.light.frustum_near = FROM_DOUBLE(parse_float(2));
12593 ed->light.light.frustum_far = FROM_DOUBLE(parse_float(3));
12594 }
12595 else
12596 {
12597 ERR("parse error %s:%i. camera attributes in non-CAMERA and non-LIGHT part.",
12598 file_in, line - 1);
12599 exit(-1);
12600 }
12601}
12602
12603/**
12604 @edcsubsection{collections_group_parts_description_properties,
12605 Group.Parts.Part.Description.Properties}
12606 */
12607
12608/**
12609 @page edcref
12610
12611 @block
12612 properties
12613 @context
12614 part { type: [LIGHT or MESH_NODE];
12615 description {
12616 ..
12617 properties {
12618 ambient: red green blue alpha;
12619 diffuse: red green blue alpha;
12620 specular: red green blue alpha;
12621 shade: PHONG;
12622 material: AMBIENT;
12623 normal: 1;
12624 shininess: 50.0;
12625 }
12626 ..
12627 }
12628 }
12629 @description
12630 A properties block defines main lighting attributes of LIGHT and MESH_NODE.
12631 @endblock
12632
12633 @property
12634 ambient
12635 @parameters
12636 [red] [green] [blue] [alpha] or "#[RR][GG][BB](AA)" or "#[R][G][B](A)"
12637 @effect
12638 Sets the components of the ambient color.
12639
12640 Format:
12641 @li [red] [green] [blue] [alpha]: one integer [0-255] for each
12642 RGBA channel, i.e. 255 0 0 255
12643 @li "#[RR][GG][BB](AA)": string with two hex values per RGBA channel,
12644 i.e "#FF0000FF" or "#FF0000"
12645 @li "#[R][G][B](A)": string with one hex value per RGBA channel,
12646 i.e "#F00F" or "#F00".\n
12647 In string format you can omit alpha channel and it will be set to FF.
12648
12649 Defaults: 50 50 50 255
12650 @endproperty
12651 */
12652static void
12653st_collections_group_parts_part_description_properties_ambient(void)
12654{
12655 check_arg_count(4);
12656
12657 switch (current_part->type)
12658 {
12659 case EDJE_PART_TYPE_LIGHT:
12660 {
12661 Edje_Part_Description_Light *ed;
12662
12663 ed = (Edje_Part_Description_Light *)current_desc;
12664
12665 parse_color(0, &(ed->light.properties.ambient));
12666 break;
12667 }
12668
12669 case EDJE_PART_TYPE_MESH_NODE:
12670 {
12671 Edje_Part_Description_Mesh_Node *ed;
12672
12673 ed = (Edje_Part_Description_Mesh_Node *)current_desc;
12674
12675 parse_color(0, &(ed->mesh_node.properties.ambient));
12676 break;
12677 }
12678
12679 default:
12680 {
12681 ERR("parse error %s:%i. light and mesh_node attributes in non-LIGHT and non-MESH_NODE part.",
12682 file_in, line - 1);
12683 exit(-1);
12684 }
12685 }
12686}
12687
12688/**
12689 @page edcref
12690 @property
12691 diffuse
12692 @parameters
12693 [red] [green] [blue] [alpha] or "#[RR][GG][BB](AA)" or "#[R][G][B](A)"
12694 @effect
12695 Sets the components of the diffuse color.
12696
12697 Format:
12698 @li [red] [green] [blue] [alpha]: one integer [0-255] for each
12699 RGBA channel, i.e. 255 0 0 255
12700 @li "#[RR][GG][BB](AA)": string with two hex values per RGBA channel,
12701 i.e "#FF0000FF" or "#FF0000"
12702 @li "#[R][G][B](A)": string with one hex value per RGBA channel,
12703 i.e "#F00F" or "#F00".\n
12704 In string format you can omit alpha channel and it will be set to FF.
12705
12706 Defaults: 255 255 255 255
12707 @endproperty
12708 */
12709static void
12710st_collections_group_parts_part_description_properties_diffuse(void)
12711{
12712 check_arg_count(4);
12713
12714 switch (current_part->type)
12715 {
12716 case EDJE_PART_TYPE_LIGHT:
12717 {
12718 Edje_Part_Description_Light *ed;
12719
12720 ed = (Edje_Part_Description_Light *)current_desc;
12721
12722 parse_color(0, &(ed->light.properties.diffuse));
12723 break;
12724 }
12725
12726 case EDJE_PART_TYPE_MESH_NODE:
12727 {
12728 Edje_Part_Description_Mesh_Node *ed;
12729
12730 ed = (Edje_Part_Description_Mesh_Node *)current_desc;
12731
12732 parse_color(0, &(ed->mesh_node.properties.diffuse));
12733 break;
12734 }
12735
12736 default:
12737 {
12738 ERR("parse error %s:%i. light and mesh_node attributes in non-LIGHT and non-MESH_NODE part.",
12739 file_in, line - 1);
12740 exit(-1);
12741 }
12742 }
12743}
12744
12745/**
12746 @page edcref
12747 @property
12748 specular
12749 @parameters
12750 [red] [green] [blue] [alpha] or "#[RR][GG][BB](AA)" or "#[R][G][B](A)"
12751 @effect
12752 Sets the components of the specular color.
12753
12754 Format:
12755 @li [red] [green] [blue] [alpha]: one integer [0-255] for each
12756 RGBA channel, i.e. 255 0 0 255
12757 @li "#[RR][GG][BB](AA)": string with two hex values per RGBA channel,
12758 i.e "#FF0000FF" or "#FF0000"
12759 @li "#[R][G][B](A)": string with one hex value per RGBA channel,
12760 i.e "#F00F" or "#F00".\n
12761 In string format you can omit alpha channel and it will be set to FF.
12762
12763 Defaults: 255 255 255 255
12764 @endproperty
12765 */
12766static void
12767st_collections_group_parts_part_description_properties_specular(void)
12768{
12769 check_arg_count(4);
12770
12771 switch (current_part->type)
12772 {
12773 case EDJE_PART_TYPE_LIGHT:
12774 {
12775 Edje_Part_Description_Light *ed;
12776
12777 ed = (Edje_Part_Description_Light *)current_desc;
12778
12779 parse_color(0, &(ed->light.properties.specular));
12780 break;
12781 }
12782
12783 case EDJE_PART_TYPE_MESH_NODE:
12784 {
12785 Edje_Part_Description_Mesh_Node *ed;
12786
12787 ed = (Edje_Part_Description_Mesh_Node *)current_desc;
12788
12789 parse_color(0, &(ed->mesh_node.properties.specular));
12790 break;
12791 }
12792
12793 default:
12794 {
12795 ERR("parse error %s:%i. light and mesh_node attributes in non-LIGHT and non-MESH_NODE part.",
12796 file_in, line - 1);
12797 exit(-1);
12798 }
12799 }
12800}
12801
12802/**
12803 @page edcref
12804 @property
12805 material
12806 @parameters
12807 [MATERIAL]
12808 @effect
12809 Sets the color mode for the lighting. Valid color modes:
12810 @li AMBIENT
12811 @li DIFFUSE
12812 @li SPECULAR
12813 @li EMISSION
12814 @li NORMAL
12815 @endproperty
12816 */
12817static void
12818st_collections_group_parts_part_description_properties_material(void)
12819{
12820 unsigned int material_attrib;
12821
12822 check_arg_count(1);
12823
12824 material_attrib = parse_enum(0,
12825 "AMBIENT", EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT,
12826 "DIFFUSE", EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE,
12827 "SPECULAR", EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR,
12828 "EMISSION", EVAS_CANVAS3D_MATERIAL_ATTRIB_EMISSION,
12829 "NORMAL", EVAS_CANVAS3D_MATERIAL_ATTRIB_NORMAL,
12830 NULL);
12831
12832 if (current_part->type == EDJE_PART_TYPE_MESH_NODE)
12833 {
12834 Edje_Part_Description_Mesh_Node *ed;
12835
12836 ed = (Edje_Part_Description_Mesh_Node *)current_desc;
12837
12838 ed->mesh_node.properties.material_attrib = material_attrib;
12839 }
12840 else
12841 {
12842 ERR("parse error %s:%i. mesh_node attributes in non-MESH_NODE part.",
12843 file_in, line - 1);
12844 exit(-1);
12845 }
12846}
12847
12848/**
12849 @page edcref
12850 @property
12851 normal
12852 @parameters
12853 [0 or 1]
12854 @effect
12855 Sets the material attribute enable flag of the given material.
12856 @endproperty
12857 */
12858static void
12859st_collections_group_parts_part_description_properties_normal(void)
12860{
12861 check_arg_count(1);
12862
12863 if (current_part->type == EDJE_PART_TYPE_MESH_NODE)
12864 {
12865 Edje_Part_Description_Mesh_Node *ed;
12866
12867 ed = (Edje_Part_Description_Mesh_Node *)current_desc;
12868
12869 ed->mesh_node.properties.normal = parse_bool(0);
12870 }
12871 else
12872 {
12873 ERR("parse error %s:%i. mesh_node attributes in non-MESH_NODE part.",
12874 file_in, line - 1);
12875 exit(-1);
12876 }
12877}
12878
12879/**
12880 @page edcref
12881 @property
12882 shininess
12883 @parameters
12884 [shininess]
12885 @effect
12886 Sets the shininess of the given material.
12887 @endproperty
12888 */
12889static void
12890st_collections_group_parts_part_description_properties_shininess(void)
12891{
12892 check_arg_count(1);
12893
12894 if (current_part->type == EDJE_PART_TYPE_MESH_NODE)
12895 {
12896 Edje_Part_Description_Mesh_Node *ed;
12897
12898 ed = (Edje_Part_Description_Mesh_Node *)current_desc;
12899
12900 ed->mesh_node.properties.shininess = FROM_DOUBLE(parse_float(0));
12901 }
12902 else
12903 {
12904 ERR("parse error %s:%i. mesh_node attributes in non-MESH_NODE part.",
12905 file_in, line - 1);
12906 exit(-1);
12907 }
12908}
12909
12910/**
12911 @page edcref
12912 @property
12913 shade
12914 @parameters
12915 [SHADE]
12916 @effect
12917 Sets the shade mode for MESH_NODE. Valid shade modes:
12918 @li COLOR
12919 @li DIFFUSE
12920 @li FLAT
12921 @li PHONG
12922 @li MAP
12923 @li RENDER
12924 @endproperty
12925 */
12926
12927static void
12928st_collections_group_parts_part_description_properties_shade(void)
12929{
12930 unsigned int shade;
12931
12932 check_arg_count(1);
12933
12934 shade = parse_enum(0,
12935 "VERTEX_COLOR", EVAS_CANVAS3D_SHADER_MODE_VERTEX_COLOR,
12936 "PARENT", EVAS_CANVAS3D_SHADER_MODE_DIFFUSE,
12937 "WORLD", EVAS_CANVAS3D_SHADER_MODE_FLAT,
12938 "PHONG", EVAS_CANVAS3D_SHADER_MODE_PHONG,
12939 "NORMAL_MAP", EVAS_CANVAS3D_SHADER_MODE_NORMAL_MAP,
12940 "RENDER", EVAS_CANVAS3D_SHADER_MODE_SHADOW_MAP_RENDER,
12941 NULL);
12942
12943 if (current_part->type == EDJE_PART_TYPE_MESH_NODE)
12944 {
12945 Edje_Part_Description_Mesh_Node *ed;
12946
12947 ed = (Edje_Part_Description_Mesh_Node *)current_desc;
12948
12949 ed->mesh_node.properties.shade = shade;
12950 }
12951 else
12952 {
12953 ERR("parse error %s:%i. mesh_node attributes in non-MESH_NODE part.",
12954 file_in, line - 1);
12955 exit(-1);
12956 }
12957}
12958
12959/**
12960 @edcsubsection{collections_group_parts_description_orientation,
12961 Group.Parts.Part.Description.Orientation}
12962 */
12963
12964/**
12965 @page edcref
12966
12967 @block
12968 orientation
12969 @context
12970 part { type: [CAMERA or MESH_NODE or LIGHT];
12971 description {
12972 ..
12973 orientation {
12974 look1: [x] [y] [z];
12975 look2: [x] [y] [z];
12976 look_to: [another part's name];
12977 angle_axis: [w] [x] [y] [z];
12978 quaternion: [x] [y] [z] [w];
12979 }
12980 ..
12981 }
12982 }
12983 @description
12984 The orientation block defines an orientation of CAMERA, LIGHT or MESH_NODE in the scene.
12985 @endblock
12986
12987 @property
12988 look1
12989 @parameters
12990 [x] [y] [z]
12991 @effect
12992 Indicates a target point for CAMERA and MESH_NODE or for LIGHT to see or
12993 to illuminate.
12994 @endproperty
12995 */
12996static void
12997st_collections_group_parts_part_description_orientation_look1(void)
12998{
12999 check_arg_count(3);
13000
13001 switch (current_part->type)
13002 {
13003 case EDJE_PART_TYPE_CAMERA:
13004 {
13005 SET_LOOK1(Camera, camera);
13006 break;
13007 }
13008
13009 case EDJE_PART_TYPE_LIGHT:
13010 {
13011 SET_LOOK1(Light, light);
13012 break;
13013 }
13014
13015 case EDJE_PART_TYPE_MESH_NODE:
13016 {
13017 SET_LOOK1(Mesh_Node, mesh_node);
13018 break;
13019 }
13020
13021 default:
13022 {
13023 ERR("parse error %s:%i. camera, light and mesh_node attributes in non-CAMERA, non-LIGHT and non-MESH_NODE part.",
13024 file_in, line - 1);
13025 exit(-1);
13026 }
13027 }
13028}
13029
13030/**
13031 @page edcref
13032 @property
13033 look2
13034 @parameters
13035 [x] [y] [z]
13036 @effect
13037 Specifies the angle at which the target point will be caught.
13038 @endproperty
13039 */
13040static void
13041st_collections_group_parts_part_description_orientation_look2(void)
13042{
13043 check_arg_count(3);
13044
13045 switch (current_part->type)
13046 {
13047 case EDJE_PART_TYPE_CAMERA:
13048 {
13049 SET_LOOK2(Camera, camera);
13050 break;
13051 }
13052
13053 case EDJE_PART_TYPE_LIGHT:
13054 {
13055 SET_LOOK2(Light, light);
13056 break;
13057 }
13058
13059 case EDJE_PART_TYPE_MESH_NODE:
13060 {
13061 SET_LOOK2(Mesh_Node, mesh_node);
13062 break;
13063 }
13064
13065 default:
13066 {
13067 ERR("parse error %s:%i. camera, light and mesh_node attributes in non-CAMERA, non-LIGHT and non-MESH_NODE part.",
13068 file_in, line - 1);
13069 exit(-1);
13070 }
13071 }
13072}
13073
13074/**
13075 @page edcref
13076 @property
13077 look_to
13078 @parameters
13079 [another part's name]
13080 @effect
13081 Indicates another part to make target of CAMERA, LIGHT or MESH_NODE
13082 or LIGHT.
13083 @endproperty
13084 */
13085static void
13086st_collections_group_parts_part_description_orientation_look_to(void)
13087{
13088 Edje_Part_Collection *pc;
13089
13090 check_arg_count(1);
13091
13092 pc = eina_list_data_get(eina_list_last(edje_collections));
13093
13094 switch (current_part->type)
13095 {
13096 case EDJE_PART_TYPE_CAMERA:
13097 {
13098 SET_LOOK_TO(pc, Camera, camera);
13099 break;
13100 }
13101
13102 case EDJE_PART_TYPE_LIGHT:
13103 {
13104 SET_LOOK_TO(pc, Light, light);
13105 break;
13106 }
13107
13108 case EDJE_PART_TYPE_MESH_NODE:
13109 {
13110 SET_LOOK_TO(pc, Mesh_Node, mesh_node);
13111 break;
13112 }
13113
13114 default:
13115 {
13116 ERR("parse error %s:%i. camera, light and mesh_node attributes in non-CAMERA, non-LIGHT and non-MESH_NODE part.",
13117 file_in, line - 1);
13118 exit(-1);
13119 }
13120 }
13121}
13122
13123/**
13124 @page edcref
13125 @property
13126 angle_axis
13127 @parameters
13128 [x] [y] [z] [w]
13129 @effect
13130 Specifies the angle and indicates what proportions the MESH_NODE rotates in.
13131 @endproperty
13132 */
13133static void
13134st_collections_group_parts_part_description_orientation_angle_axis(void)
13135{
13136 check_arg_count(4);
13137
13138 if (current_part->type == EDJE_PART_TYPE_CAMERA)
13139 {
13140 SET_ANGLE_AXIS(Camera, camera)
13141 }
13142 else if (current_part->type == EDJE_PART_TYPE_LIGHT)
13143 {
13144 SET_ANGLE_AXIS(Light, light)
13145 }
13146 else if (current_part->type == EDJE_PART_TYPE_MESH_NODE)
13147 {
13148 SET_ANGLE_AXIS(Mesh_Node, mesh_node)
13149 }
13150 else
13151 {
13152 ERR("parse error %s:%i. camera, light and mesh_node attributes in non-CAMERA, non-LIGHT and non-MESH_NODE part.",
13153 file_in, line - 1);
13154 exit(-1);
13155 }
13156}
13157
13158/**
13159 @page edcref
13160 @property
13161 quaternion
13162 @parameters
13163 [x] [y] [z] [w]
13164 @effect
13165 Specifies the axis and arccosinus of half angle to rotate on the MESH_NODE, CAMERA or LIGHT.
13166 @endproperty
13167 */
13168static void
13169st_collections_group_parts_part_description_orientation_quaternion(void)
13170{
13171 check_arg_count(4);
13172
13173 if (current_part->type == EDJE_PART_TYPE_CAMERA)
13174 {
13175 SET_QUATERNION(Camera, camera)
13176 }
13177 else if (current_part->type == EDJE_PART_TYPE_LIGHT)
13178 {
13179 SET_QUATERNION(Light, light)
13180 }
13181 else if (current_part->type == EDJE_PART_TYPE_MESH_NODE)
13182 {
13183 SET_QUATERNION(Mesh_Node, mesh_node)
13184 }
13185 else
13186 {
13187 ERR("parse error %s:%i. camera, light and mesh_node attributes in non-CAMERA, non-LIGHT and non-MESH_NODE part.",
13188 file_in, line - 1);
13189 exit(-1);
13190 }
13191}
13192
13193/**
13194 @page edcref
13195 @property
13196 scale
13197 @parameters
13198 [scale_x] [scale_y] [scale_z]
13199 @effect
13200 Specifies the scale parameter for MESH_NODE.
13201 @endproperty
13202 */
13203static void
13204st_collections_group_parts_part_description_scale(void)
13205{
13206 if (current_part->type == EDJE_PART_TYPE_MESH_NODE)
13207 {
13208 Edje_Part_Description_Mesh_Node *ed;
13209
13210 ed = (Edje_Part_Description_Mesh_Node *)current_desc;
13211
13212 ed->mesh_node.scale_3d.x = FROM_DOUBLE(parse_float_range(0, 0.0, 1000.0));
13213 ed->mesh_node.scale_3d.y = FROM_DOUBLE(parse_float_range(1, 0.0, 1000.0));
13214 ed->mesh_node.scale_3d.z = FROM_DOUBLE(parse_float_range(2, 0.0, 1000.0));
13215 }
13216 else
13217 {
13218 ERR("parse error %s:%i. mesh_node attributes in non-MESH_NODE part.",
13219 file_in, line - 1);
13220 exit(-1);
13221 }
13222}
13223
13224/**
13225 @edcsubsection{collections_group_parts_description_texture,
13226 Group.Parts.Part.Description.Texture}
13227 */
13228
13229/**
13230 @page edcref
13231
13232 @block
13233 texture
13234 @context
13235 part {
13236 description {
13237 ..
13238 texture {
13239 image: "file_name";
13240 wrap1: REPEAT;
13241 wrap2: REPEAT;
13242 filter1: NEAREST;
13243 filter2: NEAREST;
13244 }
13245 ..
13246 }
13247 }
13248 @description
13249 A texture block is used to set texture, this texture will be imposed on
13250 MESH_NODE model.
13251 @endblock
13252 */
13253
13254static void
13255ob_collections_group_parts_part_description_texture(void)
13256{
13257 Edje_Part_Description_Mesh_Node *ed;
13258
13259 if (current_part->type == EDJE_PART_TYPE_MESH_NODE)
13260 {
13261 ed = (Edje_Part_Description_Mesh_Node *)current_desc;
13262
13263 ed->mesh_node.texture.need_texture = EINA_TRUE;
13264 }
13265 else
13266 {
13267 ERR("parse error %s:%i. "
13268 "mesh_node attributes in non-MESH_NODE part.",
13269 file_in, line - 1);
13270 exit(-1);
13271 }
13272}
13273
13274/**
13275 @page edcref
13276 @property
13277 shade
13278 image
13279 @parameters
13280 [SHADE]
13281 [texture's filename]
13282 @effect
13283 Sets the shade mode for MESH_NODE. Valid shade modes:
13284 @li COLOR
13285 @li DIFFUSE
13286 @li FLAT
13287 @li PHONG
13288 @li MAP
13289 @li RENDER
13290 Name of image to be used as previously declared in the image block.
13291 It's required in any mesh_node part.
13292 @endproperty
13293 */
13294static void
13295st_collections_group_parts_part_description_texture_image(void)
13296{
13297 Edje_Part_Description_Mesh_Node *ed;
13298
13299 check_arg_count(1);
13300
13301 if (current_part->type == EDJE_PART_TYPE_MESH_NODE)
13302 {
13303 char *name;
13304 ed = (Edje_Part_Description_Mesh_Node *)current_desc;
13305
13306 ed->mesh_node.texture.textured = EINA_TRUE;
13307
13308 name = parse_str(0);
13309 data_queue_image_remove(&(ed->mesh_node.texture.id), &(ed->mesh_node.texture.set));
13310 data_queue_image_lookup(name, &(ed->mesh_node.texture.id), &(ed->mesh_node.texture.set));
13311 free(name);
13312 }
13313 else
13314 {
13315 ERR("parse error %s:%i. "
13316 "mesh_node attributes in non-MESH_NODE part.",
13317 file_in, line - 1);
13318 exit(-1);
13319 }
13320}
13321
13322/**
13323 @page edcref
13324 @property
13325 wrap1
13326 @parameters
13327 [WRAP]
13328 @effect
13329 Sets the wrap mode for S-axis. Valid wrap modes:
13330 @li CLAMP
13331 @li REPEAT
13332 @li REFLECT
13333 @endproperty
13334 */
13335static void
13336st_collections_group_parts_part_description_texture_wrap1(void)
13337{
13338 unsigned int wrap1;
13339
13340 check_arg_count(1);
13341
13342 wrap1 = parse_enum(0,
13343 "CLAMP", EVAS_CANVAS3D_WRAP_MODE_CLAMP,
13344 "REPEAT", EVAS_CANVAS3D_WRAP_MODE_REPEAT,
13345 "REFLECT", EVAS_CANVAS3D_WRAP_MODE_REFLECT,
13346 NULL);
13347
13348 if (current_part->type == EDJE_PART_TYPE_MESH_NODE)
13349 {
13350 Edje_Part_Description_Mesh_Node *ed;
13351
13352 ed = (Edje_Part_Description_Mesh_Node *)current_desc;
13353
13354 ed->mesh_node.texture.wrap1 = wrap1;
13355 }
13356 else
13357 {
13358 ERR("parse error %s:%i. mesh_node attributes in non-MESH_NODE part.",
13359 file_in, line - 1);
13360 exit(-1);
13361 }
13362}
13363
13364/**
13365 @page edcref
13366 @property
13367 wrap2
13368 @parameters
13369 [SHADE]
13370 @effect
13371 Sets the wrap mode for T-axis. Valid wrap modes:
13372 @li CLAMP
13373 @li REPEAT
13374 @li REFLECT
13375 @endproperty
13376 */
13377static void
13378st_collections_group_parts_part_description_texture_wrap2(void)
13379{
13380 unsigned int wrap2;
13381
13382 check_arg_count(1);
13383
13384 wrap2 = parse_enum(0,
13385 "CLAMP", EVAS_CANVAS3D_WRAP_MODE_CLAMP,
13386 "REPEAT", EVAS_CANVAS3D_WRAP_MODE_REPEAT,
13387 "REFLECT", EVAS_CANVAS3D_WRAP_MODE_REFLECT,
13388 NULL);
13389
13390 if (current_part->type == EDJE_PART_TYPE_MESH_NODE)
13391 {
13392 Edje_Part_Description_Mesh_Node *ed;
13393
13394 ed = (Edje_Part_Description_Mesh_Node *)current_desc;
13395
13396 ed->mesh_node.texture.wrap2 = wrap2;
13397 }
13398 else
13399 {
13400 ERR("parse error %s:%i. mesh_node attributes in non-MESH_NODE part.",
13401 file_in, line - 1);
13402 exit(-1);
13403 }
13404}
13405
13406/**
13407 @page edcref
13408 @property
13409 filter1
13410 @parameters
13411 [FILTER]
13412 @effect
13413 Sets the minification filter used when down-scrolling. Valid filter types:
13414 @li NEAREST
13415 @li LINEAR
13416 @li NEAREST_MIPMAP_NEAREST
13417 @li LINEAR_MIPMAP_NEAREST
13418 @li NEAREST_MIPMAP_LINEAR
13419 @endproperty
13420 */
13421static void
13422st_collections_group_parts_part_description_texture_filter1(void)
13423{
13424 unsigned int filter1;
13425
13426 check_arg_count(1);
13427
13428 filter1 = parse_enum(0,
13429 "NEAREST", EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST,
13430 "LINEAR", EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR,
13431 "NEAREST_NEAREST", EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST_MIPMAP_NEAREST,
13432 "LINEAR_NEAREST", EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR_MIPMAP_NEAREST,
13433 "NEAREST_LINEAR", EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST_MIPMAP_LINEAR,
13434 "LINEAR_LINEAR", EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR_MIPMAP_LINEAR,
13435 NULL);
13436
13437 if (current_part->type == EDJE_PART_TYPE_MESH_NODE)
13438 {
13439 Edje_Part_Description_Mesh_Node *ed;
13440
13441 ed = (Edje_Part_Description_Mesh_Node *)current_desc;
13442
13443 ed->mesh_node.texture.filter1 = filter1;
13444 }
13445 else
13446 {
13447 ERR("parse error %s:%i. mesh_node attributes in non-MESH_NODE part.",
13448 file_in, line - 1);
13449 exit(-1);
13450 }
13451}
13452
13453/**
13454 @page edcref
13455 @property
13456 filter2
13457 @parameters
13458 [FILTER]
13459 @effect
13460 Sets the magnification filter used when down-scrolling. Valid filter types:
13461 @li NEAREST
13462 @li LINEAR
13463 @li NEAREST_MIPMAP_NEAREST
13464 @li LINEAR_MIPMAP_NEAREST
13465 @li NEAREST_MIPMAP_LINEAR
13466 @endproperty
13467 */
13468static void
13469st_collections_group_parts_part_description_texture_filter2(void)
13470{
13471 unsigned int filter2;
13472
13473 check_arg_count(1);
13474
13475 filter2 = parse_enum(0,
13476 "NEAREST", EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST,
13477 "LINEAR", EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR,
13478 "NEAREST_NEAREST", EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST_MIPMAP_NEAREST,
13479 "LINEAR_NEAREST", EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR_MIPMAP_NEAREST,
13480 "NEAREST_LINEAR", EVAS_CANVAS3D_TEXTURE_FILTER_NEAREST_MIPMAP_LINEAR,
13481 "LINEAR_LINEAR", EVAS_CANVAS3D_TEXTURE_FILTER_LINEAR_MIPMAP_LINEAR,
13482 NULL);
13483
13484 if (current_part->type == EDJE_PART_TYPE_MESH_NODE)
13485 {
13486 Edje_Part_Description_Mesh_Node *ed;
13487
13488 ed = (Edje_Part_Description_Mesh_Node *)current_desc;
13489
13490 ed->mesh_node.texture.filter2 = filter2;
13491 }
13492 else
13493 {
13494 ERR("parse error %s:%i. mesh_node attributes in non-MESH_NODE part.",
13495 file_in, line - 1);
13496 exit(-1);
13497 }
13498}
13499
13500/**
13501 @edcsubsection{collections_group_parts_description_mesh,Mesh}
13502 */
13503
13504/**
13505 @page edcref
13506
13507 @block
13508 mesh
13509 @context
13510 part {
13511 description {
13512 ..
13513 mesh {
13514 geometry: "file_name";
13515 primitive: CUBE;
13516 assembly: LINEAR;
13517 }
13518 ..
13519 }
13520 }
13521 @description
13522 @endblock
13523
13524 @property
13525 primitive
13526 @parameters
13527 [PRIMITIVE]
13528 @effect
13529 Specifies the type of primitive model to be used.
13530 Valid primitives:
13531 @li NONE
13532 @li CUBE
13533 @li SPHERE
13534 @endproperty
13535 */
13536static void
13537st_collections_group_parts_part_description_mesh_primitive(void)
13538{
13539 unsigned int primitive;
13540
13541 check_arg_count(1);
13542
13543 primitive = parse_enum(0,
13544 "NONE", EVAS_CANVAS3D_MESH_PRIMITIVE_NONE,
13545 "CUBE", EVAS_CANVAS3D_MESH_PRIMITIVE_CUBE,
13546 "SPHERE", EVAS_CANVAS3D_MESH_PRIMITIVE_SPHERE,
13547 NULL);
13548
13549 if (current_part->type == EDJE_PART_TYPE_MESH_NODE)
13550 {
13551 Edje_Part_Description_Mesh_Node *ed;
13552
13553 ed = (Edje_Part_Description_Mesh_Node *)current_desc;
13554
13555 ed->mesh_node.mesh.primitive = primitive;
13556 }
13557 else
13558 {
13559 ERR("parse error %s:%i. mesh_node attributes in non-MESH_NODE part.",
13560 file_in, line - 1);
13561 exit(-1);
13562 }
13563}
13564
13565/**
13566 @page edcref
13567 @property
13568 assembly
13569 @parameters
13570 [ASSEMBLY]
13571 @effect
13572 Sets the vertex assembly of the mesh. Valid assemblies:
13573 @li POINTS
13574 @li LINES
13575 @li LINE_STRIP
13576 @li LINE_LOOP
13577 @li TRIANGLES
13578 @li TRIANGLE_STRIP
13579 @li TRIANGLE_FAN
13580 @endproperty
13581 */
13582static void
13583st_collections_group_parts_part_description_mesh_assembly(void)
13584{
13585 unsigned int assembly;
13586
13587 check_arg_count(1);
13588
13589 assembly = parse_enum(0,
13590 "POINTS", EVAS_CANVAS3D_VERTEX_ASSEMBLY_POINTS,
13591 "LINES", EVAS_CANVAS3D_VERTEX_ASSEMBLY_LINES,
13592 "LINE_STRIP", EVAS_CANVAS3D_VERTEX_ASSEMBLY_LINE_STRIP,
13593 "LINE_LOOP", EVAS_CANVAS3D_VERTEX_ASSEMBLY_LINE_LOOP,
13594 "TRIANGLES", EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLES,
13595 "TRIANGLE_STRIP", EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLE_STRIP,
13596 "TRIANGLE_FAN", EVAS_CANVAS3D_VERTEX_ASSEMBLY_TRIANGLE_FAN,
13597 NULL);
13598
13599 if (current_part->type == EDJE_PART_TYPE_MESH_NODE)
13600 {
13601 Edje_Part_Description_Mesh_Node *ed;
13602
13603 ed = (Edje_Part_Description_Mesh_Node *)current_desc;
13604
13605 ed->mesh_node.mesh.assembly = assembly;
13606 }
13607 else
13608 {
13609 ERR("parse error %s:%i. mesh_node attributes in non-MESH_NODE part.",
13610 file_in, line - 1);
13611 exit(-1);
13612 }
13613}
13614
13615/**
13616 @page edcref
13617 @property
13618 geometry
13619 @parameters
13620 [model's filename]
13621 @effect
13622 Name of model to be used as previously declared in the model block.
13623 It's required in any mesh_node part.
13624 @endproperty
13625 */
13626static void
13627st_collections_group_parts_part_description_mesh_geometry(void)
13628{
13629 Edje_Part_Description_Mesh_Node *ed;
13630
13631 check_arg_count(1);
13632
13633 if (current_part->type == EDJE_PART_TYPE_MESH_NODE)
13634 {
13635 char *name;
13636 ed = (Edje_Part_Description_Mesh_Node *)current_desc;
13637
13638 name = parse_str(0);
13639 if (!ecore_file_exists(name))
13640 {
13641 ERR("Unable to load model \"%s\". Check if path to file is correct (both directory and file name).",
13642 name);
13643 exit(-1);
13644 }
13645 data_queue_model_remove(&(ed->mesh_node.mesh.id), &(ed->mesh_node.mesh.set));
13646 data_queue_model_lookup(name, &(ed->mesh_node.mesh.id), &(ed->mesh_node.mesh.set));
13647 free(name);
13648 }
13649 else
13650 {
13651 ERR("parse error %s:%i. "
13652 "image attributes in non-MESH_NODE part.",
13653 file_in, line - 1);
13654 exit(-1);
13655 }
13656}
13657
13658static void
13659st_collections_group_parts_part_description_mesh_frame(void)