Merge branch 'master' into devs/hermet/lottie

This commit is contained in:
Hermet Park 2019-03-11 16:05:08 +09:00
commit 43e122d1de
1325 changed files with 86861 additions and 24790 deletions

View File

@ -519,6 +519,7 @@ pkgbuild::
clean-local:
rm -rf benchmark coverage
@find . -name '*eo.legacy.c' -delete
DISTCLEANFILES= \
./src/lib/emile/Makefile \

92
NEWS
View File

@ -1,7 +1,97 @@
==========
EFL 1.21.0
EFL 1.22.0
==========
Changes since 1.21.0:
---------------------
Features:
* evas textblock: add/apply cursor cluster APIs based on grapheme cluster
* efl_ui_spin_button: Addded direction feature.
* scroller: refactory a momentum scroll animator
* elementary textpath: support legacy APIs
* elementary transit: add a convenient API.
* elementary transit: add a new api - elm_transit_progress_value_set()
* Text: add markup_range_get
* Canvas layout: support more Efl.Text.* with efl_part
* efl: Add support to elput for using elogind instead of systemd
* eina: add locale-independent eina_convert_strtod_c function
* elm perf tool - bring one back to efl
* eina: add locale-independent eina_convert_strtod_c function
* elm perf tool - bring one back to efl
* efl gfx_path: introduce efl_gfx_path_reserve()
* efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED
* efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED
* gfx: Add size hint fill (EO) (T3912)
* efl_app: add "standby" event (T5494)
* edje_cc: fail upon detecting invalid part description references in programs (T7016)
* elput: Add API to allow settings tap-to-click on pointer device
* ecore_drm2: Add API to allow settings tap-to-click on pointer device
* efl_ui_win: add 'exit_on_all_windows_closed' class property and unit test (T5494)
* efl_ui_win: add 'exit_on_close' property and unit test (T5494)
* eo: implement class overriding (+unit tests) (T7516)
* eolian gen: initial support for reflection api
* efl_ui_relative_layout: introduce new relative container (T5487)
* eolian: introduce typed slice types
* eolian: add support for inlist structs
Fixes:
* ecore_wl2_dmabuf: Link with ecore_wl2 (T7327)
* ecore_wl2_dmabuf: Depend on ecore_wl2 (T7327)
* efl selection manager - avoid multiple selection get callbacks for req
* evas image: fix a bug in image preloading.
* evas canvas: fix null possibility of evas_object_above_get().
* edje: Remove hack code
* efl gfx_path: prevent buffer overflow.
* ecore_main: fix the invalid return value
* eina_vpath: fix the memory leak
* elementary: remove meaningless memory allocation and leaking
* elementary: fix memory leak from Efl.Ui.Layout.Object
* evas gl: fix invalid image size.
* elementary entry: apply scale to all edje objects
* eina debug: fix a double unlock issue
* elm_theme: fix return value when default style fallback is done
* evas vg: fix memory leak.
* devas vg: return default root node if possible.
* evas vg: fix memory leak at gradient.
* evas filter: remove critical messages from Evas Filter
* elementary transit: fix wrong pausing time calculation.
* Canvas text: fix line_jump_by logic
* cxx: explicitly require c++11 and fix tests to conform
* edje: fix an overflow issue for state values
* evas textblock: remove white space after line-break by a next item
* evas ector: fix memory leaks.
* evas vg: update render properly.
* ector software: make a pair of ref/unref.
* evas gl: recover current program state.
* ecore_evas - fix aninmator based frame render ticking to full framerate
* ecore evas - buffer - init ecore event evas as many times as shutdown
* eina: fix a build failure caused by missing 'locale_t' from OSX
* ecore_con: handle timeout of the attempt to connect.
* ecore_evas - fix aninmator based frame render ticking to full framerate
* ecore evas - buffer - init ecore event evas as many times as shutdown
* eina: fix a build failure caused by missing 'locale_t' from OSX
* ecore_con: handle timeout of the attempt to connect.
* evas gl - make GLintptr etc. also ndefed for GL_VERSION_1_5 fix typedef (T7502)
* ecore-drm2: Fix drmModeSetCrtc call during fb flip
* textblock: Fix crash with filters
* edje - stop trying to access ready deleted exrt/group swallow objects
* evas: remove memory leaks from deleted Textblock objects
* elm - dnd - restore to working as drop targets
* elm_config: Free data returned from eet_read
* ui/flip: fix efl_pack usage
* elm_entry: make file loading succeed on 0-sized files (T6562)
* theme: fix odd state setting on some items for list/genlist/gengrid
* theme: correct part name in program for elm/hover/base/main_menu_submenu/default (T6219)
* theme: remove a ton of invalid part description references in various programs (T6873)
* ecore-evas/extn: use evas from events when updating key masks (T5536)
* edje: apply maps to textblock cursors and backgrounds (T4977)
* ecore drm2 - work around kms/drm bug seemingly when no flip event comes
* elm textpath: reduces differences between actual pos and modified pos
* elm_map: Make more robust elm_map (T7443)
Changes since 1.20.0:
---------------------

View File

@ -1,5 +1,5 @@
EFL_VERSION([1], [21], [99], [dev])
AC_INIT([efl], [efl_version], [enlightenment-devel@lists.sourceforge.net])
EFL_VERSION([1], [22], [0], [release])
AC_INIT([efl], [efl_version-alpha1], [enlightenment-devel@lists.sourceforge.net])
AC_PREREQ([2.60])
AC_CONFIG_SRCDIR([configure.ac])
@ -804,7 +804,7 @@ EFL_SELECT_WINDOWS_VERSION
### Checks for libraries
EFL_ADD_LIBS([EVIL], [-lpsapi -lole32 -lws2_32 -lsecur32 -luuid -lmsvcr100])
EFL_ADD_LIBS([EVIL], [-lpsapi -lole32 -lws2_32 -lsecur32 -luuid])
### Checks for header files
@ -1465,7 +1465,6 @@ if test "x${have_windows}" = "xyes"; then
else
EVIL_DL_MONO="dl"
fi
ECORE_EVAS_DL_MONO="${DLIB_PREFIX_MONO}ecore_evas${DLIB_SUFFIX_MONO}"
EDJE_DL_MONO="${DLIB_PREFIX_MONO}edje${DLIB_SUFFIX_MONO}"
ELEMENTARY_DL_MONO="${DLIB_PREFIX_MONO}elementary${DLIB_SUFFIX_MONO}"
ELDBUS_DL_MONO="${DLIB_PREFIX_MONO}eldbus${DLIB_SUFFIX_MONO}"
@ -1477,7 +1476,6 @@ AC_SUBST([EINA_DL_MONO])
AC_SUBST([EO_DL_MONO])
AC_SUBST([EVAS_DL_MONO])
AC_SUBST([EVIL_DL_MONO])
AC_SUBST([ECORE_EVAS_DL_MONO])
AC_SUBST([EDJE_DL_MONO])
AC_SUBST([ELEMENTARY_DL_MONO])
AC_SUBST([ELDBUS_DL_MONO])

View File

@ -1,5 +1,5 @@
group "Elm_Config" struct {
value "config_version" int: 131092;
value "config_version" int: 131093;
value "entry_select_allow" uchar: 1;
value "engine" string: "";
value "vsync" uchar: 0;
@ -3153,5 +3153,106 @@ group "Elm_Config" struct {
}
}
}
group "Elm_Config_Bindings_Widget" struct {
value "name" string: "Efl.Ui.Scroller";
group "key_bindings" list {
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "Left";
value "action" string: "move";
value "params" string: "left";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_Left";
value "action" string: "move";
value "params" string: "left";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "Right";
value "action" string: "move";
value "params" string: "right";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_Right";
value "action" string: "move";
value "params" string: "right";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "Up";
value "action" string: "move";
value "params" string: "up";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_Up";
value "action" string: "move";
value "params" string: "up";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "Down";
value "action" string: "move";
value "params" string: "down";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_Down";
value "action" string: "move";
value "params" string: "down";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "Home";
value "action" string: "move";
value "params" string: "first";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_Home";
value "action" string: "move";
value "params" string: "first";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "End";
value "action" string: "move";
value "params" string: "last";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_End";
value "action" string: "move";
value "params" string: "last";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "Prior";
value "action" string: "move";
value "params" string: "prior";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_Prior";
value "action" string: "move";
value "params" string: "prior";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "Next";
value "action" string: "move";
value "params" string: "next";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_Next";
value "action" string: "move";
value "params" string: "next";
}
}
}
}
}

View File

@ -1,5 +1,5 @@
group "Elm_Config" struct {
value "config_version" int: 131092;
value "config_version" int: 131093;
value "entry_select_allow" uchar: 1;
value "engine" string: "";
value "vsync" uchar: 0;
@ -3139,5 +3139,106 @@ group "Elm_Config" struct {
}
}
}
group "Elm_Config_Bindings_Widget" struct {
value "name" string: "Efl.Ui.Scroller";
group "key_bindings" list {
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "Left";
value "action" string: "move";
value "params" string: "left";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_Left";
value "action" string: "move";
value "params" string: "left";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "Right";
value "action" string: "move";
value "params" string: "right";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_Right";
value "action" string: "move";
value "params" string: "right";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "Up";
value "action" string: "move";
value "params" string: "up";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_Up";
value "action" string: "move";
value "params" string: "up";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "Down";
value "action" string: "move";
value "params" string: "down";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_Down";
value "action" string: "move";
value "params" string: "down";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "Home";
value "action" string: "move";
value "params" string: "first";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_Home";
value "action" string: "move";
value "params" string: "first";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "End";
value "action" string: "move";
value "params" string: "last";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_End";
value "action" string: "move";
value "params" string: "last";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "Prior";
value "action" string: "move";
value "params" string: "prior";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_Prior";
value "action" string: "move";
value "params" string: "prior";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "Next";
value "action" string: "move";
value "params" string: "next";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_Next";
value "action" string: "move";
value "params" string: "next";
}
}
}
}
}

View File

@ -1,5 +1,5 @@
group "Elm_Config" struct {
value "config_version" int: 131092;
value "config_version" int: 131093;
value "entry_select_allow" uchar: 1;
value "engine" string: "";
value "vsync" uchar: 0;
@ -3136,5 +3136,106 @@ group "Elm_Config" struct {
}
}
}
group "Elm_Config_Bindings_Widget" struct {
value "name" string: "Efl.Ui.Scroller";
group "key_bindings" list {
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "Left";
value "action" string: "move";
value "params" string: "left";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_Left";
value "action" string: "move";
value "params" string: "left";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "Right";
value "action" string: "move";
value "params" string: "right";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_Right";
value "action" string: "move";
value "params" string: "right";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "Up";
value "action" string: "move";
value "params" string: "up";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_Up";
value "action" string: "move";
value "params" string: "up";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "Down";
value "action" string: "move";
value "params" string: "down";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_Down";
value "action" string: "move";
value "params" string: "down";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "Home";
value "action" string: "move";
value "params" string: "first";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_Home";
value "action" string: "move";
value "params" string: "first";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "End";
value "action" string: "move";
value "params" string: "last";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_End";
value "action" string: "move";
value "params" string: "last";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "Prior";
value "action" string: "move";
value "params" string: "prior";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_Prior";
value "action" string: "move";
value "params" string: "prior";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "Next";
value "action" string: "move";
value "params" string: "next";
}
group "Elm_Config_Binding_Key" struct {
value "context" int: 0;
value "key" string: "KP_Next";
value "action" string: "move";
value "params" string: "next";
}
}
}
}
}

View File

@ -1,4 +1,6 @@
apiRules:
- exclude:
uidRegex: ^.*NativeInherit
- include:
uidRegex: ^Efl
- include:

View File

@ -57,6 +57,19 @@ header_checks = [
'crt_externs.h'
]
#### The below is logically broken
#### the declaration of symbol + headers when you look the symbols up
#### in man pages you'll find that, for example, kevent needs you to
#### include ALL of the headers listed below. same for setxattr,
#### listxattr, pthread_getcpuclockid ... i stopped looking at this
#### point because it seems this is the pattern, but the foreach below
#### does not do this. it includes one header at a time from the list
#### then checks to see if the symbol exists. this leads to failures
#### in the checks (specifically i noticed kevent on bsd). so the whole
#### construct for this is wrong. it needs a rethink. i'm putting this
#### comment here as a note that this is the case for now as i'm just
#### trying to fix the meson build on freebsd for now
function_checks = [
# function name | headers that are needed | libraries to include | Defines that are needed
['alloca', ['alloca.h']],
@ -191,10 +204,13 @@ if jpeg.found() == false
jpeg = cc.find_library('jpeg')
endif
if config_h.has('HAVE_KEVENT')
if sys_bsd == true
config_h.set('HAVE_NOTIFY_KEVENT', '1')
endif
if sys_osx == true
config_h.set('HAVE_NOTIFY_COCOA', '1')
endif
config_h.set('SIZEOF_INT', cc.sizeof('int'))
config_h.set('SIZEOF_LONG', cc.sizeof('long'))

View File

@ -1,6 +1,6 @@
project('efl', ['c','cpp'],
version: '1.21.99',
default_options : ['buildtype=plain', 'cpp_std=c++11'],
version: '1.22.0',
default_options : ['buildtype=release', 'cpp_std=c++11'],
meson_version : '>=0.47'
)

View File

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/sh
original_loader=$1
filename="$(basename $original_loader)"
@ -8,11 +8,12 @@ loader_dir="$(dirname $original_loader)"
loader="$(basename $original_loader)"
loader_name="$(echo $original_name | cut -f 1 -d '.')"
if [ ${original_loader: -3} == "$ext" ]
if [ `echo -n ${original_loader} | tail -c 3` == "$ext" ]
then
mv "$DESTDIR"/"$original_loader" "$DESTDIR"/"$loader_dir"/"$original_name"
fi
for x in "${@:2}"; do
shift
for x in "$@"; do
ln -sf "$original_name" "$DESTDIR"/"$loader_dir"/"$loader_name"."$x"
done

View File

@ -14,7 +14,7 @@ if get_option('nls')
config_h.set('HAVE_GETTEXT', '1')
config_h.set('ENABLE_NLS', '1')
intl = cc.find_library('intl', required : false)
if cc.has_header('libintl.h', dependencies : intl) == false
if cc.compiles('#include <libintl.h>', dependencies : intl) == false
error('libintl.h not found')
endif
else

View File

@ -161,7 +161,6 @@ dist-hook:
@mkdir -p $(distdir)/static_libs/http-parser/contrib $(distdir)/bindings/luajit/eina
@mkdir -p $(distdir)/wayland_protocol $(distdir)/lib/efl_wl/
@mkdir -p $(distdir)/modules/evas/engines/software_generic/filters/blur
@mkdir -p $(distdir)/bindings/mono/ecore_evas_mono
@mkdir -p $(distdir)/bindings/mono/efl_mono
@mkdir -p $(distdir)/bindings/mono/eina_mono
@mkdir -p $(distdir)/bindings/mono/eldbus_mono

View File

@ -1,12 +1,9 @@
### Library
ecore_eolian_files_legacy = \
lib/ecore/ecore_exe.eo \
ecore_eolian_files_priv = \
lib/ecore/ecore_event_message.eo \
lib/ecore/ecore_event_message_handler.eo \
lib/ecore/efl_loop_timer.eo \
tests/ecore/ecore_audio_out_test.eo
lib/ecore/ecore_event_message_handler.eo
ecore_eolian_files_public = \
lib/ecore/efl_app.eo \
@ -18,6 +15,7 @@ ecore_eolian_files_public = \
lib/ecore/efl_loop_message_handler.eo \
lib/ecore/efl_loop_message_future.eo \
lib/ecore/efl_loop_message_future_handler.eo \
lib/ecore/efl_loop_timer.eo \
lib/ecore/efl_exe.eo \
lib/ecore/efl_thread.eo \
lib/ecore/efl_threadio.eo \
@ -45,7 +43,6 @@ ecore_eolian_files_public = \
lib/ecore/efl_loop_model.eo \
lib/ecore/efl_generic_model.eo \
lib/ecore/efl_container_model.eo \
lib/ecore/efl_container_model_item.eo \
lib/ecore/efl_boolean_model.eo \
lib/ecore/efl_select_model.eo \
lib/ecore/efl_composite_model.eo \
@ -55,29 +52,43 @@ ecore_eolian_files_public = \
lib/ecore/efl_core_command_line.eo
ecore_test_eolian_files = \
tests/ecore/efl_app_test_cml.eo
tests/ecore/efl_app_test_cml.eo \
tests/ecore/ecore_audio_out_test.eo
ecore_eolian_files = \
$(ecore_eolian_files_legacy) \
$(ecore_eolian_files_public)
ecore_eolian_c = $(ecore_eolian_files:%.eo=%.eo.c)
ecore_eolian_h = $(ecore_eolian_files:%.eo=%.eo.h) \
$(ecore_eolian_files_legacy:%.eo=%.eo.legacy.h)
ecore_eolian_h = $(ecore_eolian_files:%.eo=%.eo.h)
ecore_test_c = $(ecore_test_eolian_files:%.eo=%.eo.c)
ecore_test_h = $(ecore_test_eolian_files:%.eo=%.eo.h)
ecore_priv_c = $(ecore_eolian_files_priv:%.eo=%.eo.c)
ecore_priv_h = $(ecore_eolian_files_priv:%.eo=%.eo.h)
BUILT_SOURCES += \
$(ecore_eolian_c) \
$(ecore_eolian_h) \
$(ecore_test_c) \
$(ecore_test_h)
$(ecore_test_h) \
$(ecore_priv_c) \
$(ecore_priv_h)
ecoreeolianfilesdir = $(datadir)/eolian/include/ecore-@VMAJ@
ecoreeolianfiles_DATA = $(ecore_eolian_files_public) lib/ecore/efl_loop_timer.eo
ecore_legacy_eo_c = \
lib/ecore/ecore_exe_eo.c \
lib/ecore/ecore_exe_eo.h
ecore_legacy_eo_h = \
lib/ecore/ecore_exe_eo.legacy.h \
lib/ecore/efl_loop_timer_eo.legacy.h
EXTRA_DIST2 += $(ecore_eolian_files)
EXTRA_DIST2 += $(ecore_eolian_files_priv)
EXTRA_DIST2 += $(ecore_test_eolian_files)
EXTRA_DIST2 += $(ecore_legacy_eo_c)
lib_LTLIBRARIES += lib/ecore/libecore.la
@ -89,7 +100,8 @@ lib/ecore/Ecore_Legacy.h \
lib/ecore/Ecore_Eo.h \
lib/ecore/Efl_Core.h \
lib/ecore/efl_general.h \
lib/ecore/Ecore_Getopt.h
lib/ecore/Ecore_Getopt.h \
$(ecore_legacy_eo_h)
nodist_installed_ecoremainheaders_DATA = \
$(ecore_eolian_h)
@ -135,8 +147,6 @@ lib/ecore/efl_io_buffered_stream.c \
lib/ecore/efl_loop_model.c \
lib/ecore/efl_generic_model.c \
lib/ecore/efl_container_model.c \
lib/ecore/efl_container_model_item.c \
lib/ecore/efl_container_model_private.h \
lib/ecore/efl_composite_model.c \
lib/ecore/efl_boolean_model.c \
lib/ecore/efl_select_model.c \

View File

@ -28,10 +28,7 @@ ecore_con_eolian_files = \
lib/ecore_con/efl_net_control_technology.eo \
lib/ecore_con/efl_net_control_manager.eo \
lib/ecore_con/efl_net_session.eo \
lib/ecore_con/efl_net_ip_address.eo \
lib/ecore_con/ecore_con_eet_base.eo \
lib/ecore_con/ecore_con_eet_server_obj.eo \
lib/ecore_con/ecore_con_eet_client_obj.eo
lib/ecore_con/efl_net_ip_address.eo
if HAVE_WINDOWS
ecore_con_eolian_files += \
@ -53,8 +50,7 @@ ecore_con_eolian_type_files = \
ecore_con_eolian_c = $(ecore_con_eolian_files:%.eo=%.eo.c)
ecore_con_eolian_h = $(ecore_con_eolian_files:%.eo=%.eo.h) \
$(ecore_con_eolian_type_files:%.eot=%.eot.h) \
$(ecore_con_eolian_files:%.eo=%.eo.legacy.h)
$(ecore_con_eolian_type_files:%.eot=%.eot.h)
BUILT_SOURCES += \
$(ecore_con_eolian_c) \
@ -77,7 +73,14 @@ lib/ecore_con/Ecore_Con.h \
lib/ecore_con/Efl_Net.h \
lib/ecore_con/Ecore_Con_Eet.h \
lib/ecore_con/Ecore_Con_Eet_Legacy.h \
lib/ecore_con/Ecore_Con_Eet_Eo.h
lib/ecore_con/Ecore_Con_Eet_Eo.h \
lib/ecore_con/ecore_con_eet_base_eo.h \
lib/ecore_con/ecore_con_eet_base_eo.legacy.h \
lib/ecore_con/ecore_con_eet_client_obj_eo.h \
lib/ecore_con/ecore_con_eet_client_obj_eo.legacy.h \
lib/ecore_con/ecore_con_eet_server_obj_eo.h \
lib/ecore_con/ecore_con_eet_server_obj_eo.legacy.h
nodist_installed_ecoreconmainheaders_DATA = \
$(ecore_con_eolian_h)
@ -145,6 +148,10 @@ endif
# object Private Data and allows functions to
# be all static
EXTRA_DIST2 += \
lib/ecore_con/ecore_con_eet_base_eo.c \
lib/ecore_con/ecore_con_eet_base_eo.legacy.c \
lib/ecore_con/ecore_con_eet_client_obj_eo.c \
lib/ecore_con/ecore_con_eet_server_obj_eo.c \
lib/ecore_con/efl_net_ssl_conn-openssl.c \
lib/ecore_con/efl_net_ssl_conn-gnutls.c \
lib/ecore_con/efl_net_ssl_conn-none.c \

View File

@ -11,8 +11,7 @@ edje_eolian_files = \
lib/edje/efl_canvas_layout_part_external.eo \
lib/edje/efl_canvas_layout_part_swallow.eo \
lib/edje/efl_canvas_layout_part_table.eo \
lib/edje/efl_canvas_layout_part_text.eo \
lib/edje/edje_edit.eo
lib/edje/efl_canvas_layout_part_text.eo
edje_eolian_type_files = \
lib/edje/edje_types.eot
@ -66,7 +65,16 @@ lib/edje/Edje.h \
lib/edje/Edje_Common.h \
lib/edje/Edje_Eo.h \
lib/edje/Edje_Legacy.h \
lib/edje/Edje_Edit.h
lib/edje/Edje_Edit.h \
lib/edje/edje_edit_eo.h \
lib/edje/edje_edit_eo.legacy.h \
lib/edje/efl_canvas_layout_eo.legacy.h \
lib/edje/efl_layout_group_eo.legacy.h
EXTRA_DIST2 += \
lib/edje/edje_edit_eo.c \
lib/edje/efl_canvas_layout_eo.legacy.c \
lib/edje/efl_layout_group_eo.legacy.c
nodist_installed_edjemainheaders_DATA = \
$(edje_eolian_h) \

View File

@ -97,17 +97,16 @@ efl_eolian_type_files = \
efl_eolian_files_h = $(efl_eolian_files:%.eo=%.eo.h) \
$(efl_eolian_type_files:%.eot=%.eot.h)
efl_eolian_files_c = $(efl_eolian_files:%.eo=%.eo.c)
efl_eolian_legacy_files_h = $(efl_eolian_legacy_files:%.eo=%.eo.legacy.h)
BUILT_SOURCES += \
$(efl_eolian_files_c) \
$(efl_eolian_files_h) \
$(efl_eolian_legacy_files_h)
$(efl_eolian_files_h)
EXTRA_DIST2 += \
lib/efl/Efl_Config.h \
lib/efl/Efl_Config.h.in \
lib/efl/Efl.h \
lib/efl/interfaces/efl_file.h \
lib/efl/interfaces/efl_common_internal.h \
$(efl_eolian_files) \
$(efl_eolian_type_files)
@ -152,7 +151,7 @@ dist_installed_eflheaders_DATA = \
installed_eflinterfacesdir = $(includedir)/efl-@VMAJ@/interfaces
nodist_installed_eflinterfaces_DATA = \
$(efl_eolian_files_h) \
$(efl_eolian_legacy_files_h)
lib/efl/interfaces/efl_file.h
if HAVE_LUA_BINDINGS

View File

@ -4,8 +4,25 @@ efl_custom_exports_mono_files = \
efl_eo_mono_files = \
bindings/mono/eo_mono/iwrapper.cs \
bindings/mono/eo_mono/FunctionWrapper.cs \
bindings/mono/eo_mono/NativeModule.cs \
bindings/mono/eo_mono/workaround.cs
if HAVE_WIN32
efl_eo_mono_files += \
bindings/mono/eo_mono/FunctionWrapper_Windows.cs \
bindings/mono/eo_mono/NativeModule_Windows.cs
else
efl_eo_mono_files += \
bindings/mono/eo_mono/FunctionWrapper_Unix.cs \
bindings/mono/eo_mono/NativeModule_Unix.cs
endif
efl_eina_mono_files = \
bindings/mono/eina_mono/eina_config.cs \
bindings/mono/eina_mono/eina_array.cs \
@ -36,9 +53,6 @@ efl_eldbus_mono_files = \
bindings/mono/eldbus_mono/eldbus_proxy.cs \
bindings/mono/eldbus_mono/eldbus_service.cs
efl_ecore_evas_mono_files = \
bindings/mono/ecore_evas_mono/ecore_evas.cs
# Static C# source files don't go into a _SOURCES var as the dll target
# is custom built instead of through _LTLIBRARIES/_LIBRARIES
lib_efl_mono_libefl_mono_dll_sources = \
@ -46,8 +60,7 @@ lib_efl_mono_libefl_mono_dll_sources = \
bindings/mono/efl_mono/efl_csharp_application.cs \
$(efl_eo_mono_files) \
$(efl_eina_mono_files) \
$(efl_eldbus_mono_files) \
$(efl_ecore_evas_mono_files)
$(efl_eldbus_mono_files)
efl_mono_test_files = \
tests/efl_mono/dummy_test_object.eo \
@ -86,6 +99,7 @@ bin_eolian_mono_eolian_mono_SOURCES = \
bin/eolian_mono/eolian/mono/part_definition.hh \
bin/eolian_mono/eolian/mono/struct_fields.hh \
bin/eolian_mono/eolian/mono/parameter.hh \
bin/eolian_mono/eolian/mono/variable_definition.hh \
bin/eolian_mono/eolian/mono/utils.hh \
bin/eolian_mono/eolian/mono/using_decl.hh \
bin/eolian_mono/eolian/mono/marshall_type.hh \
@ -155,15 +169,15 @@ eo_eolian_blacklisted_files = \
lib/eo/efl_object_override.eo.cs
elementary_eolian_blacklisted_files = \
lib/elementary/elm_web.eo.cs \
lib/elementary/elm_map.eo.cs \
lib/elementary/elm_web_eo.cs \
lib/elementary/elm_map_eo.cs \
lib/elementary/elm_combobox.eo.cs \
lib/elementary/elm_list.eo.cs \
lib/elementary/elm_genlist.eo.cs \
lib/elementary/elm_view_list.eo.cs \
lib/elementary/elm_genlist_item.eo.cs \
lib/elementary/elm_gengrid.eo.cs \
lib/elementary/elm_glview.eo.cs
lib/elementary/elm_list_eo.cs \
lib/elementary/elm_genlist_eo.cs \
lib/elementary/elm_view_list_eo.cs \
lib/elementary/elm_genlist_item_eo.cs \
lib/elementary/elm_gengrid_eo.cs \
lib/elementary/elm_glview_eo.cs
efl_mono_blacklisted_files = \
$(evas_eolian_blacklisted_files) \
@ -183,11 +197,7 @@ $(efl_eolian_type_files:%.eot=%.eot.cs) \
$(edje_eolian_type_files:%.eot=%.eot.cs) \
$(elm_eolian_type_files:%.eot=%.eot.cs) \
$(filter-out $(evas_eolian_blacklisted_files),$(evas_canvas_eolian_pub_files:%.eo=%.eo.cs)) \
lib/evas/canvas/evas_box.eo.cs \
lib/evas/canvas/evas_image.eo.cs \
lib/evas/canvas/efl_canvas_image.eo.cs \
lib/evas/canvas/evas_table.eo.cs \
lib/evas/canvas/evas_text.eo.cs \
$(evas_canvas_eolian_type_files:%.eot=%.eot.cs) \
lib/eo/eina_types.eot.cs \
lib/ecore/efl_loop_timer.eo.cs
@ -300,7 +310,7 @@ msbuildcsprojs: ../libefl_mono.csproj
done
### Some hard-coded runtime dependencies for tests and examples
TEST_PATHS = $(abs_top_builddir)/src/lib/efl_mono:$(abs_top_builddir)/src/lib/efl_mono/.libs:$(abs_top_builddir)/src/lib/eina/.libs:$(abs_top_builddir)/src/lib/ecore/.libs:$(abs_top_builddir)/src/lib/ecore_evas/.libs:$(abs_top_builddir)/src/lib/eo/.libs:$(abs_top_builddir)/src/lib/evas/.libs:$(abs_top_builddir)/src/lib/emile/.libs:$(abs_top_builddir)/src/lib/eet/.libs:$(abs_top_builddir)/src/lib/efl/.libs:$(abs_top_builddir)/src/ecore-file/.libs:$(abs_top_builddir)/src/lib/efl-input/.libs:$(abs_top_builddir)/src/lib/edje/.libs:$(abs_top_builddir)/src/lib/ethumb/.libs:$(abs_top_builddir)/src/lib/ethumb-client/.libs:$(abs_top_builddir)/src/lib/emotion/.libs:$(abs_top_builddir)/src/lib/ecore-imf/.libs:$(abs_top_builddir)/src/lib/ecore-con/.libs:$(abs_top_builddir)/src/lib/eldbus/.libs:$(abs_top_builddir)/src/lib/efreet/.libs:$(abs_top_builddir)/src/lib/efreet-mime/.libs:$(abs_top_builddir)/src/lib/efreet-trash/.libs:$(abs_top_builddir)/src/lib/eio/.libs:$(abs_top_builddir)/src/lib/elocation/.libs:$(abs_top_builddir)/src/lib/elementary/.libs
TEST_PATHS = $(abs_top_builddir)/src/lib/efl_mono:$(abs_top_builddir)/src/lib/efl_mono/.libs:$(abs_top_builddir)/src/lib/eina/.libs:$(abs_top_builddir)/src/lib/ecore/.libs:$(abs_top_builddir)/src/lib/ecore_evas/.libs:$(abs_top_builddir)/src/lib/eo/.libs:$(abs_top_builddir)/src/lib/evas/.libs:$(abs_top_builddir)/src/lib/emile/.libs:$(abs_top_builddir)/src/lib/eet/.libs:$(abs_top_builddir)/src/lib/efl/.libs:$(abs_top_builddir)/src/ecore-file/.libs:$(abs_top_builddir)/src/lib/efl-input/.libs:$(abs_top_builddir)/src/lib/edje/.libs:$(abs_top_builddir)/src/lib/ethumb/.libs:$(abs_top_builddir)/src/lib/ethumb-client/.libs:$(abs_top_builddir)/src/lib/emotion/.libs:$(abs_top_builddir)/src/lib/ecore-imf/.libs:$(abs_top_builddir)/src/lib/ecore-con/.libs:$(abs_top_builddir)/src/lib/eldbus/.libs:$(abs_top_builddir)/src/lib/efreet/.libs:$(abs_top_builddir)/src/lib/efreet-mime/.libs:$(abs_top_builddir)/src/lib/efreet-trash/.libs:$(abs_top_builddir)/src/lib/eio/.libs:$(abs_top_builddir)/src/lib/elocation/.libs:$(abs_top_builddir)/src/lib/elementary/.libs:$(abs_top_builddir)/src/tests/efl_mono/.libs
WIN_ADD_TEST_PATHS = $(abs_top_builddir)/src/lib/evil/.libs:$(abs_top_builddir)/src/lib/ecore_win32/.libs:$(abs_top_builddir)/src/lib/ector/.libs:$(abs_top_builddir)/src/lib/ecore_con/.libs:$(abs_top_builddir)/src/lib/ecore_imf/.libs:$(abs_top_builddir)/src/lib/ecore_file/.libs:$(abs_top_builddir)/src/lib/ecore_input/.libs:$(abs_top_builddir)/src/ethumb_client/.libs:$(abs_top_builddir)/src/tests/efl_mono/.libs
@ -460,7 +470,6 @@ tests_efl_mono_efl_mono_SOURCES = \
tests/efl_mono/Eo.cs \
tests/efl_mono/EoPromises.cs \
tests/efl_mono/Errors.cs \
tests/efl_mono/Evas.cs \
tests/efl_mono/Events.cs \
tests/efl_mono/FunctionPointers.cs \
tests/efl_mono/FunctionPointerMarshalling.cs \

View File

@ -3,10 +3,11 @@
elm_public_eolian_files = \
lib/elementary/efl_ui_widget.eo \
lib/elementary/efl_ui_animation_view.eo \
lib/elementary/efl_ui_bg.eo \
lib/elementary/efl_ui_button.eo \
lib/elementary/efl_ui_calendar.eo \
lib/elementary/efl_ui_calendar_item.eo \
lib/elementary/efl_ui_calendar.eo \
lib/elementary/efl_ui_calendar_item.eo \
lib/elementary/efl_ui_check.eo \
lib/elementary/efl_ui_flip.eo \
lib/elementary/efl_ui_frame.eo \
@ -14,6 +15,7 @@ elm_public_eolian_files = \
lib/elementary/efl_ui_image.eo \
lib/elementary/efl_ui_image_zoomable.eo \
lib/elementary/efl_ui_layout.eo \
lib/elementary/efl_ui_layout_base.eo \
lib/elementary/efl_ui_nstate.eo \
lib/elementary/efl_ui_navigation_bar.eo \
lib/elementary/efl_ui_navigation_bar_part.eo \
@ -56,7 +58,6 @@ elm_public_eolian_files = \
lib/elementary/efl_ui_text_factory_emoticons.eo \
lib/elementary/efl_ui_text_factory_fallback.eo \
lib/elementary/efl_ui_textpath.eo \
lib/elementary/efl_ui_textpath_legacy.eo \
lib/elementary/efl_ui_l10n.eo \
lib/elementary/efl_ui_clock.eo \
lib/elementary/efl_ui_image_factory.eo \
@ -94,8 +95,6 @@ elm_public_eolian_files = \
lib/elementary/efl_ui_grid.eo \
lib/elementary/efl_ui_panes_part.eo \
lib/elementary/efl_ui_progressbar_part.eo \
lib/elementary/elm_slider.eo \
lib/elementary/elm_slider_part_indicator.eo \
lib/elementary/efl_ui_textpath_part.eo \
lib/elementary/efl_ui_widget_part.eo \
lib/elementary/efl_ui_widget_part_bg.eo \
@ -143,21 +142,11 @@ elm_public_eolian_files += \
lib/elementary/efl_ui_radio_legacy_part.eo \
lib/elementary/efl_ui_check_legacy_part.eo \
lib/elementary/efl_ui_progressbar_legacy_part.eo \
lib/elementary/elm_spinner.eo \
lib/elementary/elm_multibuttonentry.eo \
lib/elementary/elm_multibuttonentry_item.eo \
lib/elementary/elm_multibuttonentry_part.eo \
lib/elementary/elm_interface_scrollable.eo \
lib/elementary/elm_atspi_bridge.eo \
lib/elementary/elm_atspi_app_object.eo \
lib/elementary/efl_ui_image_zoomable_pan.eo \
lib/elementary/elm_pan.eo \
lib/elementary/elm_toolbar.eo \
lib/elementary/elm_toolbar_item.eo \
lib/elementary/elm_view_list.eo \
lib/elementary/elm_view_form.eo \
lib/elementary/elm_web.eo \
lib/elementary/elm_widget_item.eo \
$(NULL)
# Private classes (not exposed or shipped)
@ -168,7 +157,6 @@ elm_private_eolian_files = \
lib/elementary/efl_ui_win_part.eo \
lib/elementary/efl_ui_focus_parent_provider.eo \
lib/elementary/efl_ui_focus_parent_provider_standard.eo \
lib/elementary/efl_ui_focus_parent_provider_gen.eo \
lib/elementary/efl_ui_state_model.eo \
tests/elementary/focus_test.eo \
tests/elementary/focus_test_sub_main.eo \
@ -184,69 +172,7 @@ elm_private_eolian_files = \
# Legacy classes - not part of public EO API
elm_legacy_eolian_files = \
lib/elementary/efl_ui_button_legacy.eo \
lib/elementary/efl_ui_check_legacy.eo \
lib/elementary/efl_ui_radio_legacy.eo \
lib/elementary/efl_ui_bg_legacy.eo \
lib/elementary/efl_ui_video_legacy.eo \
lib/elementary/efl_ui_frame_legacy.eo \
lib/elementary/efl_ui_panes_legacy.eo \
lib/elementary/efl_ui_image_zoomable_legacy.eo \
lib/elementary/efl_ui_flip_legacy.eo \
lib/elementary/efl_ui_win_legacy.eo \
lib/elementary/efl_ui_image_legacy.eo \
lib/elementary/efl_ui_progressbar_legacy.eo \
lib/elementary/efl_ui_clock_legacy.eo \
lib/elementary/efl_ui_layout_legacy.eo \
lib/elementary/elm_code_widget_legacy.eo \
lib/elementary/efl_ui_win_socket_legacy.eo \
lib/elementary/efl_ui_win_inlined_legacy.eo \
lib/elementary/elm_interface_fileselector.eo \
lib/elementary/efl_ui_animation_view.eo \
lib/elementary/elm_calendar.eo \
lib/elementary/elm_calendar_item.eo \
lib/elementary/elm_clock.eo \
lib/elementary/elm_colorselector.eo \
lib/elementary/elm_conformant.eo \
lib/elementary/elm_ctxpopup.eo \
lib/elementary/elm_dayselector.eo \
lib/elementary/elm_entry.eo \
lib/elementary/elm_fileselector.eo \
lib/elementary/elm_gengrid.eo \
lib/elementary/elm_gengrid_pan.eo \
lib/elementary/elm_genlist.eo \
lib/elementary/elm_genlist_pan.eo \
lib/elementary/elm_gesture_layer.eo \
lib/elementary/elm_glview.eo \
lib/elementary/elm_hover.eo \
lib/elementary/elm_index.eo \
lib/elementary/elm_label.eo \
lib/elementary/elm_list.eo \
lib/elementary/elm_map.eo \
lib/elementary/elm_map_pan.eo \
lib/elementary/elm_menu.eo \
lib/elementary/elm_notify.eo \
lib/elementary/elm_panel.eo \
lib/elementary/elm_player.eo \
lib/elementary/elm_plug.eo \
lib/elementary/elm_popup.eo \
lib/elementary/elm_route.eo \
lib/elementary/elm_scroller.eo \
lib/elementary/elm_sys_notify_interface.eo \
lib/elementary/elm_sys_notify.eo \
lib/elementary/elm_sys_notify_dbus.eo \
lib/elementary/elm_systray.eo \
lib/elementary/elm_color_item.eo \
lib/elementary/elm_dayselector_item.eo \
lib/elementary/elm_flipselector_item.eo \
lib/elementary/elm_menu_item.eo \
lib/elementary/elm_ctxpopup_item.eo \
lib/elementary/elm_index_item.eo \
lib/elementary/elm_widget_item_static_focus.eo \
lib/elementary/elm_genlist_item.eo \
lib/elementary/elm_gengrid_item.eo \
lib/elementary/elm_list_item.eo \
lib/elementary/elm_popup_item.eo \
lib/elementary/elm_ctxpopup_part.eo \
lib/elementary/elm_dayselector_part.eo \
lib/elementary/elm_entry_part.eo \
@ -264,32 +190,6 @@ elm_legacy_eolian_files = \
lib/elementary/elm_actionslider_part.eo \
lib/elementary/elm_bubble_part.eo \
lib/elementary/elm_fileselector_part.eo \
lib/elementary/elm_access.eo \
lib/elementary/elm_actionslider.eo \
lib/elementary/elm_box.eo \
lib/elementary/elm_bubble.eo \
lib/elementary/elm_diskselector.eo \
lib/elementary/elm_diskselector_item.eo \
lib/elementary/elm_fileselector_button.eo \
lib/elementary/elm_fileselector_entry.eo \
lib/elementary/elm_flipselector.eo \
lib/elementary/elm_grid.eo \
lib/elementary/elm_hoversel.eo \
lib/elementary/elm_hoversel_item.eo \
lib/elementary/elm_icon.eo \
lib/elementary/elm_inwin.eo \
lib/elementary/elm_mapbuf.eo \
lib/elementary/elm_naviframe.eo \
lib/elementary/elm_naviframe_item.eo \
lib/elementary/elm_photo.eo \
lib/elementary/elm_prefs.eo \
lib/elementary/elm_segment_control.eo \
lib/elementary/elm_segment_control_item.eo \
lib/elementary/elm_separator.eo \
lib/elementary/elm_slideshow.eo \
lib/elementary/elm_slideshow_item.eo \
lib/elementary/elm_table.eo \
lib/elementary/elm_thumb.eo \
$(NULL)
elm_eolian_type_files = \
@ -325,14 +225,411 @@ elementaryeolianfiles_DATA = $(elm_public_eolian_files) $(elm_eolian_type_files)
noinst_DATA += $(elm_legacy_eolian_eo_h)
EXTRA_DIST2 += ${elementaryeolianfiles_DATA} $(elm_legacy_eolian_files) $(elm_private_eolian_files)
elm_legacy_eo_files = \
lib/elementary/efl_ui_bg_legacy_eo.c \
lib/elementary/efl_ui_button_legacy_eo.c \
lib/elementary/efl_ui_check_legacy_eo.c \
lib/elementary/efl_ui_flip_legacy_eo.c \
lib/elementary/efl_ui_frame_legacy_eo.c \
lib/elementary/efl_ui_image_legacy_eo.c \
lib/elementary/efl_ui_image_zoomable_eo.legacy.c \
lib/elementary/efl_ui_image_zoomable_legacy_eo.c \
lib/elementary/efl_ui_layout_legacy_eo.c \
lib/elementary/efl_ui_panes_eo.legacy.c \
lib/elementary/efl_ui_panes_legacy_eo.c \
lib/elementary/efl_ui_progressbar_legacy_eo.c \
lib/elementary/efl_ui_radio_eo.legacy.c \
lib/elementary/efl_ui_radio_legacy_eo.c \
lib/elementary/efl_ui_textpath_eo.legacy.c \
lib/elementary/efl_ui_textpath_legacy_eo.c \
lib/elementary/efl_ui_video_eo.legacy.c \
lib/elementary/efl_ui_video_legacy_eo.c \
lib/elementary/efl_ui_widget_eo.legacy.c \
lib/elementary/efl_ui_win_inlined_legacy_eo.c \
lib/elementary/efl_ui_win_legacy_eo.c \
lib/elementary/efl_ui_win_socket_legacy_eo.c \
lib/elementary/elm_access_eo.c \
lib/elementary/elm_access_eo.legacy.c \
lib/elementary/elm_actionslider_eo.c \
lib/elementary/elm_actionslider_eo.legacy.c \
lib/elementary/elm_box_eo.c \
lib/elementary/elm_box_eo.legacy.c \
lib/elementary/elm_bubble_eo.c \
lib/elementary/elm_bubble_eo.legacy.c \
lib/elementary/elm_calendar_eo.c \
lib/elementary/elm_calendar_eo.legacy.c \
lib/elementary/elm_calendar_item_eo.c \
lib/elementary/elm_clock_eo.c \
lib/elementary/elm_clock_eo.legacy.c \
lib/elementary/elm_code_widget_eo.legacy.c \
lib/elementary/elm_code_widget_legacy_eo.c \
lib/elementary/elm_color_item_eo.legacy.c \
lib/elementary/elm_color_item_eo.c \
lib/elementary/elm_colorselector_eo.legacy.c \
lib/elementary/elm_colorselector_eo.c \
lib/elementary/elm_conformant_eo.c \
lib/elementary/elm_ctxpopup_eo.legacy.c \
lib/elementary/elm_ctxpopup_eo.c \
lib/elementary/elm_ctxpopup_item_eo.legacy.c \
lib/elementary/elm_ctxpopup_item_eo.c \
lib/elementary/elm_dayselector_eo.legacy.c \
lib/elementary/elm_dayselector_eo.c \
lib/elementary/elm_dayselector_item_eo.c \
lib/elementary/elm_diskselector_eo.legacy.c \
lib/elementary/elm_diskselector_eo.c \
lib/elementary/elm_diskselector_item_eo.legacy.c \
lib/elementary/elm_diskselector_item_eo.c \
lib/elementary/elm_entry_eo.legacy.c \
lib/elementary/elm_entry_eo.c \
lib/elementary/elm_fileselector_button_eo.c \
lib/elementary/elm_fileselector_entry_eo.c \
lib/elementary/elm_fileselector_eo.legacy.c \
lib/elementary/elm_fileselector_eo.c \
lib/elementary/elm_flipselector_eo.legacy.c \
lib/elementary/elm_flipselector_eo.c \
lib/elementary/elm_flipselector_item_eo.legacy.c \
lib/elementary/elm_flipselector_item_eo.c \
lib/elementary/elm_gengrid_eo.legacy.c \
lib/elementary/elm_gengrid_eo.c \
lib/elementary/elm_gengrid_item_eo.legacy.c \
lib/elementary/elm_gengrid_item_eo.c \
lib/elementary/elm_gengrid_pan_eo.c \
lib/elementary/elm_genlist_eo.legacy.c \
lib/elementary/elm_genlist_eo.c \
lib/elementary/elm_genlist_item_eo.legacy.c \
lib/elementary/elm_genlist_item_eo.c \
lib/elementary/elm_genlist_pan_eo.c \
lib/elementary/elm_gesture_layer_eo.legacy.c \
lib/elementary/elm_gesture_layer_eo.c \
lib/elementary/elm_glview_eo.legacy.c \
lib/elementary/elm_glview_eo.c \
lib/elementary/elm_grid_eo.legacy.c \
lib/elementary/elm_grid_eo.c \
lib/elementary/elm_hover_eo.legacy.c \
lib/elementary/elm_hover_eo.c \
lib/elementary/elm_hoversel_eo.c \
lib/elementary/elm_hoversel_item_eo.c \
lib/elementary/elm_hoversel_item_eo.legacy.c \
lib/elementary/elm_icon_eo.c \
lib/elementary/elm_index_eo.c \
lib/elementary/elm_index_eo.legacy.c \
lib/elementary/elm_index_item_eo.c \
lib/elementary/elm_index_item_eo.legacy.c \
lib/elementary/elm_interface_fileselector_eo.c \
lib/elementary/elm_inwin_eo.c \
lib/elementary/elm_inwin_eo.legacy.c \
lib/elementary/elm_label_eo.c \
lib/elementary/elm_label_eo.legacy.c \
lib/elementary/elm_list_eo.c \
lib/elementary/elm_list_eo.legacy.c \
lib/elementary/elm_list_item_eo.c \
lib/elementary/elm_list_item_eo.legacy.c \
lib/elementary/elm_mapbuf_eo.c \
lib/elementary/elm_mapbuf_eo.legacy.c \
lib/elementary/elm_map_eo.c \
lib/elementary/elm_map_eo.legacy.c \
lib/elementary/elm_map_pan_eo.c \
lib/elementary/elm_menu_eo.c \
lib/elementary/elm_menu_eo.legacy.c \
lib/elementary/elm_menu_item_eo.c \
lib/elementary/elm_menu_item_eo.legacy.c \
lib/elementary/elm_multibuttonentry_eo.c \
lib/elementary/elm_multibuttonentry_eo.legacy.c \
lib/elementary/elm_multibuttonentry_item_eo.c \
lib/elementary/elm_multibuttonentry_item_eo.legacy.c \
lib/elementary/elm_naviframe_eo.c \
lib/elementary/elm_naviframe_eo.legacy.c \
lib/elementary/elm_naviframe_item_eo.c \
lib/elementary/elm_naviframe_item_eo.legacy.c \
lib/elementary/elm_notify_eo.c \
lib/elementary/elm_notify_eo.legacy.c \
lib/elementary/elm_panel_eo.c \
lib/elementary/elm_panel_eo.legacy.c \
lib/elementary/elm_pan_eo.c \
lib/elementary/elm_pan_eo.legacy.c \
lib/elementary/elm_photo_eo.c \
lib/elementary/elm_player_eo.c \
lib/elementary/elm_plug_eo.c \
lib/elementary/elm_plug_eo.legacy.c \
lib/elementary/elm_popup_eo.c \
lib/elementary/elm_popup_eo.legacy.c \
lib/elementary/elm_popup_item_eo.c \
lib/elementary/elm_prefs_eo.c \
lib/elementary/elm_prefs_eo.legacy.c \
lib/elementary/elm_route_eo.c \
lib/elementary/elm_route_eo.legacy.c \
lib/elementary/elm_scroller_eo.c \
lib/elementary/elm_scroller_eo.legacy.c \
lib/elementary/elm_segment_control_eo.c \
lib/elementary/elm_segment_control_eo.legacy.c \
lib/elementary/elm_segment_control_item_eo.c \
lib/elementary/elm_segment_control_item_eo.legacy.c \
lib/elementary/elm_separator_eo.c \
lib/elementary/elm_separator_eo.legacy.c \
lib/elementary/elm_slider_eo.c \
lib/elementary/elm_slider_part_indicator_eo.c \
lib/elementary/elm_slideshow_eo.c \
lib/elementary/elm_slideshow_eo.legacy.c \
lib/elementary/elm_slideshow_item_eo.c \
lib/elementary/elm_slideshow_item_eo.legacy.c \
lib/elementary/elm_spinner_eo.c \
lib/elementary/elm_spinner_eo.legacy.c \
lib/elementary/elm_sys_notify_dbus_eo.c \
lib/elementary/elm_sys_notify_eo.c \
lib/elementary/elm_sys_notify_eo.legacy.c \
lib/elementary/elm_sys_notify_interface_eo.c \
lib/elementary/elm_sys_notify_interface_eo.legacy.c \
lib/elementary/elm_systray_eo.c \
lib/elementary/elm_systray_eo.legacy.c \
lib/elementary/elm_table_eo.c \
lib/elementary/elm_table_eo.legacy.c \
lib/elementary/elm_thumb_eo.c \
lib/elementary/elm_toolbar_eo.c \
lib/elementary/elm_toolbar_eo.legacy.c \
lib/elementary/elm_toolbar_item_eo.c \
lib/elementary/elm_toolbar_item_eo.legacy.c \
lib/elementary/elm_view_form_eo.c \
lib/elementary/elm_view_list_eo.c \
lib/elementary/elm_web_eo.c \
lib/elementary/elm_web_eo.legacy.c \
lib/elementary/elm_widget_item_container_eo.c \
lib/elementary/elm_widget_item_eo.c \
lib/elementary/elm_widget_item_eo.legacy.c \
lib/elementary/elm_widget_item_static_focus_eo.c \
lib/elementary/efl_ui_focus_parent_provider_gen_eo.c \
$(NULL)
elm_legacy_eo_headers_pub = \
lib/elementary/efl_ui_bg_eo.legacy.h \
lib/elementary/efl_ui_bg_legacy_eo.legacy.h \
lib/elementary/efl_ui_button_eo.legacy.h \
lib/elementary/efl_ui_button_legacy_eo.legacy.h \
lib/elementary/efl_ui_check_eo.legacy.h \
lib/elementary/efl_ui_check_legacy_eo.legacy.h \
lib/elementary/efl_ui_flip_eo.legacy.h \
lib/elementary/efl_ui_flip_legacy_eo.legacy.h \
lib/elementary/efl_ui_frame_eo.legacy.h \
lib/elementary/efl_ui_frame_legacy_eo.legacy.h \
lib/elementary/efl_ui_image_legacy_eo.legacy.h \
lib/elementary/efl_ui_image_zoomable_eo.legacy.h \
lib/elementary/efl_ui_image_zoomable_legacy_eo.legacy.h \
lib/elementary/efl_ui_layout_legacy_eo.legacy.h \
lib/elementary/efl_ui_panes_eo.legacy.h \
lib/elementary/efl_ui_panes_legacy_eo.legacy.h \
lib/elementary/efl_ui_progressbar_legacy_eo.legacy.h \
lib/elementary/efl_ui_radio_eo.legacy.h \
lib/elementary/efl_ui_radio_legacy_eo.legacy.h \
lib/elementary/efl_ui_textpath_eo.legacy.h \
lib/elementary/efl_ui_textpath_legacy_eo.legacy.h \
lib/elementary/efl_ui_video_eo.legacy.h \
lib/elementary/efl_ui_video_legacy_eo.legacy.h \
lib/elementary/efl_ui_widget_eo.legacy.h \
lib/elementary/efl_ui_win_inlined_legacy_eo.legacy.h \
lib/elementary/efl_ui_win_legacy_eo.legacy.h \
lib/elementary/efl_ui_win_socket_legacy_eo.legacy.h \
lib/elementary/elm_access_eo.legacy.h \
lib/elementary/elm_actionslider_eo.legacy.h \
lib/elementary/elm_box_eo.legacy.h \
lib/elementary/elm_bubble_eo.legacy.h \
lib/elementary/elm_calendar_eo.legacy.h \
lib/elementary/elm_calendar_item_eo.legacy.h \
lib/elementary/elm_clock_eo.legacy.h \
lib/elementary/elm_code_widget_eo.legacy.h \
lib/elementary/elm_code_widget_legacy_eo.legacy.h \
lib/elementary/elm_color_item_eo.legacy.h \
lib/elementary/elm_colorselector_eo.legacy.h \
lib/elementary/elm_conformant_eo.legacy.h \
lib/elementary/elm_ctxpopup_eo.legacy.h \
lib/elementary/elm_ctxpopup_item_eo.legacy.h \
lib/elementary/elm_dayselector_eo.legacy.h \
lib/elementary/elm_dayselector_item_eo.legacy.h \
lib/elementary/elm_diskselector_eo.legacy.h \
lib/elementary/elm_diskselector_item_eo.legacy.h \
lib/elementary/elm_entry_eo.legacy.h \
lib/elementary/elm_fileselector_button_eo.legacy.h \
lib/elementary/elm_fileselector_entry_eo.legacy.h \
lib/elementary/elm_fileselector_eo.legacy.h \
lib/elementary/elm_flipselector_eo.legacy.h \
lib/elementary/elm_flipselector_item_eo.legacy.h \
lib/elementary/elm_gengrid_eo.legacy.h \
lib/elementary/elm_gengrid_item_eo.legacy.h \
lib/elementary/elm_gengrid_pan_eo.legacy.h \
lib/elementary/elm_genlist_eo.legacy.h \
lib/elementary/elm_genlist_item_eo.legacy.h \
lib/elementary/elm_genlist_pan_eo.legacy.h \
lib/elementary/elm_gesture_layer_eo.legacy.h \
lib/elementary/elm_glview_eo.legacy.h \
lib/elementary/elm_grid_eo.legacy.h \
lib/elementary/elm_hover_eo.legacy.h \
lib/elementary/elm_hoversel_eo.legacy.h \
lib/elementary/elm_hoversel_item_eo.legacy.h \
lib/elementary/elm_icon_eo.legacy.h \
lib/elementary/elm_index_eo.legacy.h \
lib/elementary/elm_index_item_eo.legacy.h \
lib/elementary/elm_interface_fileselector_eo.legacy.h \
lib/elementary/elm_inwin_eo.legacy.h \
lib/elementary/elm_label_eo.legacy.h \
lib/elementary/elm_list_eo.legacy.h \
lib/elementary/elm_list_item_eo.legacy.h \
lib/elementary/elm_mapbuf_eo.legacy.h \
lib/elementary/elm_map_eo.legacy.h \
lib/elementary/elm_map_pan_eo.legacy.h \
lib/elementary/elm_menu_eo.legacy.h \
lib/elementary/elm_menu_item_eo.legacy.h \
lib/elementary/elm_multibuttonentry_eo.legacy.h \
lib/elementary/elm_multibuttonentry_item_eo.legacy.h \
lib/elementary/elm_naviframe_eo.legacy.h \
lib/elementary/elm_naviframe_item_eo.legacy.h \
lib/elementary/elm_notify_eo.legacy.h \
lib/elementary/elm_panel_eo.legacy.h \
lib/elementary/elm_pan_eo.legacy.h \
lib/elementary/elm_photo_eo.legacy.h \
lib/elementary/elm_player_eo.legacy.h \
lib/elementary/elm_plug_eo.legacy.h \
lib/elementary/elm_popup_eo.legacy.h \
lib/elementary/elm_popup_item_eo.legacy.h \
lib/elementary/elm_prefs_eo.legacy.h \
lib/elementary/elm_route_eo.legacy.h \
lib/elementary/elm_scroller_eo.legacy.h \
lib/elementary/elm_segment_control_eo.legacy.h \
lib/elementary/elm_segment_control_item_eo.legacy.h \
lib/elementary/elm_separator_eo.legacy.h \
lib/elementary/elm_slider_eo.legacy.h \
lib/elementary/elm_slider_part_indicator_eo.legacy.h \
lib/elementary/elm_slideshow_eo.legacy.h \
lib/elementary/elm_slideshow_item_eo.legacy.h \
lib/elementary/elm_spinner_eo.legacy.h \
lib/elementary/elm_sys_notify_dbus_eo.legacy.h \
lib/elementary/elm_sys_notify_eo.legacy.h \
lib/elementary/elm_sys_notify_interface_eo.legacy.h \
lib/elementary/elm_systray_eo.legacy.h \
lib/elementary/elm_table_eo.legacy.h \
lib/elementary/elm_thumb_eo.legacy.h \
lib/elementary/elm_toolbar_eo.legacy.h \
lib/elementary/elm_toolbar_item_eo.legacy.h \
lib/elementary/elm_view_form_eo.legacy.h \
lib/elementary/elm_view_list_eo.legacy.h \
lib/elementary/elm_view_form_eo.h \
lib/elementary/elm_view_list_eo.h \
lib/elementary/elm_web_eo.legacy.h \
lib/elementary/elm_widget_item_container_eo.legacy.h \
lib/elementary/elm_widget_item_eo.legacy.h \
lib/elementary/elm_widget_item_static_focus_eo.legacy.h
elm_legacy_eo_headers_priv = \
lib/elementary/efl_ui_bg_legacy_eo.h \
lib/elementary/efl_ui_button_legacy_eo.h \
lib/elementary/efl_ui_check_legacy_eo.h \
lib/elementary/efl_ui_flip_legacy_eo.h \
lib/elementary/efl_ui_frame_legacy_eo.h \
lib/elementary/efl_ui_image_legacy_eo.h \
lib/elementary/efl_ui_image_zoomable_legacy_eo.h \
lib/elementary/efl_ui_layout_legacy_eo.h \
lib/elementary/efl_ui_panes_legacy_eo.h \
lib/elementary/efl_ui_progressbar_legacy_eo.h \
lib/elementary/efl_ui_radio_legacy_eo.h \
lib/elementary/efl_ui_textpath_legacy_eo.h \
lib/elementary/efl_ui_video_legacy_eo.h \
lib/elementary/efl_ui_win_inlined_legacy_eo.h \
lib/elementary/efl_ui_win_legacy_eo.h \
lib/elementary/efl_ui_win_socket_legacy_eo.h \
lib/elementary/elm_access_eo.h \
lib/elementary/elm_actionslider_eo.h \
lib/elementary/elm_box_eo.h \
lib/elementary/elm_bubble_eo.h \
lib/elementary/elm_calendar_eo.h \
lib/elementary/elm_calendar_item_eo.h \
lib/elementary/elm_clock_eo.h \
lib/elementary/elm_code_widget_legacy_eo.h \
lib/elementary/elm_color_item_eo.h \
lib/elementary/elm_colorselector_eo.h \
lib/elementary/elm_conformant_eo.h \
lib/elementary/elm_ctxpopup_eo.h \
lib/elementary/elm_ctxpopup_item_eo.h \
lib/elementary/elm_dayselector_eo.h \
lib/elementary/elm_dayselector_item_eo.h \
lib/elementary/elm_diskselector_eo.h \
lib/elementary/elm_diskselector_item_eo.h \
lib/elementary/elm_entry_eo.h \
lib/elementary/elm_fileselector_button_eo.h \
lib/elementary/elm_fileselector_entry_eo.h \
lib/elementary/elm_fileselector_eo.h \
lib/elementary/elm_flipselector_eo.h \
lib/elementary/elm_flipselector_item_eo.h \
lib/elementary/elm_gengrid_eo.h \
lib/elementary/elm_gengrid_item_eo.h \
lib/elementary/elm_gengrid_pan_eo.h \
lib/elementary/elm_gengrid_pan_eo.h \
lib/elementary/elm_genlist_eo.h \
lib/elementary/elm_genlist_item_eo.h \
lib/elementary/elm_genlist_pan_eo.h \
lib/elementary/elm_gesture_layer_eo.h \
lib/elementary/elm_glview_eo.h \
lib/elementary/elm_grid_eo.h \
lib/elementary/elm_hover_eo.h \
lib/elementary/elm_hoversel_eo.h \
lib/elementary/elm_hoversel_item_eo.h \
lib/elementary/elm_icon_eo.h \
lib/elementary/elm_index_eo.h \
lib/elementary/elm_index_item_eo.h \
lib/elementary/elm_interface_fileselector_eo.h \
lib/elementary/elm_inwin_eo.h \
lib/elementary/elm_label_eo.h \
lib/elementary/elm_list_eo.h \
lib/elementary/elm_list_item_eo.h \
lib/elementary/elm_mapbuf_eo.h \
lib/elementary/elm_map_eo.h \
lib/elementary/elm_map_pan_eo.h \
lib/elementary/elm_menu_eo.h \
lib/elementary/elm_menu_item_eo.h \
lib/elementary/elm_multibuttonentry_eo.h \
lib/elementary/elm_multibuttonentry_item_eo.h \
lib/elementary/elm_naviframe_eo.h \
lib/elementary/elm_naviframe_item_eo.h \
lib/elementary/elm_notify_eo.h \
lib/elementary/elm_panel_eo.h \
lib/elementary/elm_pan_eo.h \
lib/elementary/elm_photo_eo.h \
lib/elementary/elm_player_eo.h \
lib/elementary/elm_plug_eo.h \
lib/elementary/elm_popup_eo.h \
lib/elementary/elm_popup_item_eo.h \
lib/elementary/elm_prefs_eo.h \
lib/elementary/elm_route_eo.h \
lib/elementary/elm_scroller_eo.h \
lib/elementary/elm_segment_control_eo.h \
lib/elementary/elm_segment_control_item_eo.h \
lib/elementary/elm_separator_eo.h \
lib/elementary/elm_slider_eo.h \
lib/elementary/elm_slider_part_indicator_eo.h \
lib/elementary/elm_slideshow_eo.h \
lib/elementary/elm_slideshow_item_eo.h \
lib/elementary/elm_spinner_eo.h \
lib/elementary/elm_sys_notify_dbus_eo.h \
lib/elementary/elm_sys_notify_eo.h \
lib/elementary/elm_sys_notify_interface_eo.h \
lib/elementary/elm_systray_eo.h \
lib/elementary/elm_table_eo.h \
lib/elementary/elm_thumb_eo.h \
lib/elementary/elm_toolbar_eo.h \
lib/elementary/elm_toolbar_item_eo.h \
lib/elementary/elm_web_eo.h \
lib/elementary/elm_widget_item_container_eo.h \
lib/elementary/elm_widget_item_eo.h \
lib/elementary/elm_widget_item_static_focus_eo.h \
lib/elementary/efl_ui_focus_parent_provider_gen_eo.h \
$(NULL)
EXTRA_DIST2 += ${elementaryeolianfiles_DATA} $(elm_legacy_eolian_files) $(elm_private_eolian_files) $(elm_legacy_eo_files)
lib_LTLIBRARIES += lib/elementary/libelementary.la
includes_HEADERS = \
lib/elementary/Elementary.h \
lib/elementary/Elementary_Options.h \
lib/elementary/Elementary_Cursor.h
lib/elementary/Elementary_Cursor.h \
$(elm_legacy_eo_headers_pub)
includesdir = $(includedir)/elementary-@VMAJ@
includesunstable_HEADERS = \
@ -347,6 +644,7 @@ includesunstable_HEADERS = \
lib/elementary/elm_interface_scrollable.h \
lib/elementary/elm_interfaces.h \
lib/elementary/elm_widget.h \
lib/elementary/efl_ui_widget_common.h \
lib/elementary/elm_widget_actionslider.h \
lib/elementary/elm_widget_box.h \
lib/elementary/elm_widget_bubble.h \
@ -821,6 +1119,7 @@ lib_elementary_libelementary_la_SOURCES = \
lib/elementary/elm_view_form.c \
lib/elementary/elm_web2.c \
lib/elementary/efl_ui_widget.c \
lib/elementary/efl_ui_widget_common.c \
lib/elementary/efl_ui_win.c \
lib/elementary/efl_ui_win_inlined.c \
lib/elementary/efl_ui_win_socket.c \
@ -829,6 +1128,8 @@ lib_elementary_libelementary_la_SOURCES = \
lib/elementary/els_cursor.c \
lib/elementary/els_tooltip.c \
lib/elementary/elu_ews_wm.c \
lib/elementary/efl_ui_container_layout.c \
lib/elementary/efl_ui_container_layout.h \
lib/elementary/efl_ui_box.c \
lib/elementary/efl_ui_box_flow.c \
lib/elementary/efl_ui_box_stack.c \
@ -841,6 +1142,7 @@ lib_elementary_libelementary_la_SOURCES = \
lib/elementary/efl_ui_anchor_popup.c \
lib/elementary/efl_ui_table.c \
lib/elementary/efl_ui_table_static.c \
lib/elementary/efl_ui_table_layout.c \
lib/elementary/efl_ui_table_private.h \
lib/elementary/efl_ui_text.c \
lib/elementary/efl_ui_text_factory_images.c \
@ -1001,7 +1303,6 @@ bin/elementary/test_efl_anim_scale.c \
bin/elementary/test_efl_anim_translate.c \
bin/elementary/test_efl_anim_group_parallel.c \
bin/elementary/test_efl_anim_group_sequential.c \
bin/elementary/test_efl_anim_event_anim.c \
bin/elementary/test_efl_anim_pause.c \
bin/elementary/test_efl_anim_repeat.c \
bin/elementary/test_efl_anim_start_delay.c \
@ -1404,13 +1705,10 @@ moduleweb_nonepkg_LTLIBRARIES = modules/elementary/web/none/module.la
install_moduleweb_nonepkgLTLIBRARIES = install-moduleweb_nonepkgLTLIBRARIES
$(install_moduleweb_nonepkgLTLIBRARIES): install-libLTLIBRARIES
elm_web_none_eolian_files = modules/elementary/web/none/elm_web_none.eo
elm_web_none_eolian_c = $(elm_web_none_eolian_files:%.eo=%.eo.c)
elm_web_none_eolian_h = $(elm_web_none_eolian_files:%.eo=%.eo.h)
EXTRA_DIST2 += $(elm_web_none_eolian_files)
BUILT_SOURCES += $(elm_web_none_eolian_c) $(elm_web_none_eolian_h)
EXTRA_DIST2 += \
modules/elementary/web/none/elm_web_none_eo.c \
modules/elementary/web/none/elm_web_none_eo.h
modules_elementary_web_none_module_la_SOURCES = \
modules/elementary/web/none/elm_web_none.c
@ -1631,11 +1929,13 @@ tests_elementary_efl_ui_suite_SOURCES = \
tests/elementary/efl_ui_test_focus.c \
tests/elementary/efl_ui_test_focus_sub.c \
tests/elementary/efl_ui_test_box.c \
tests/elementary/efl_ui_test_table.c \
tests/elementary/efl_ui_test_relative_layout.c \
tests/elementary/efl_ui_test_grid.c \
tests/elementary/efl_ui_test_image.c \
tests/elementary/efl_ui_test_image_zoomable.c \
tests/elementary/efl_ui_test_layout.c \
tests/elementary/efl_ui_test_widget.c \
tests/elementary/efl_ui_suite.h \
tests/elementary/efl_ui_model.c

View File

@ -4,8 +4,7 @@ emotion_eolian_files = \
lib/emotion/efl_canvas_video.eo
emotion_eolian_c = $(emotion_eolian_files:%.eo=%.eo.c)
emotion_eolian_h = $(emotion_eolian_files:%.eo=%.eo.h) \
$(emotion_eolian_files:%.eo=%.eo.legacy.h)
emotion_eolian_h = $(emotion_eolian_files:%.eo=%.eo.h)
BUILT_SOURCES += \
$(emotion_eolian_c) \
@ -23,6 +22,7 @@ lib/emotion/libemotion.la
installed_emotionmainheadersdir = $(includedir)/emotion-@VMAJ@
dist_installed_emotionmainheaders_DATA = lib/emotion/Emotion.h \
lib/emotion/efl_canvas_video_eo.legacy.h \
lib/emotion/Emotion_Legacy.h \
lib/emotion/Emotion_Eo.h

View File

@ -63,17 +63,6 @@ evas_gesture_eolian_pub_files = \
lib/evas/gesture/efl_canvas_gesture_manager.eo \
$(NULL)
evas_eolian_legacy_files = \
lib/evas/canvas/evas_canvas.eo \
lib/evas/canvas/evas_line.eo \
lib/evas/canvas/evas_table.eo \
lib/evas/canvas/evas_grid.eo \
lib/evas/canvas/evas_box.eo\
lib/evas/canvas/evas_text.eo \
lib/evas/canvas/evas_textgrid.eo \
lib/evas/canvas/evas_image.eo \
$(NULL)
evas_canvas_eolian_priv_files = \
lib/evas/include/evas_ector_buffer.eo
@ -89,8 +78,7 @@ evas_gesture_eolian_type_files = \
lib/evas/gesture/efl_canvas_gesture_types.eot
evas_canvas_eolian_priv_c = $(evas_canvas_eolian_priv_files:%.eo=%.eo.c)
evas_canvas_eolian_priv_h = $(evas_canvas_eolian_priv_files:%.eo=%.eo.h) \
$(evas_eolian_legacy_files:%.eo=%.eo.h)
evas_canvas_eolian_priv_h = $(evas_canvas_eolian_priv_files:%.eo=%.eo.h)
evas_gesture_eolian_priv_c = $(evas_gesture_eolian_priv_files:%.eo=%.eo.c)
evas_gesture_eolian_priv_h = $(evas_gesture_eolian_priv_files:%.eo=%.eo.h)
@ -105,25 +93,19 @@ evas_gesture_eolian_pub_h = $(evas_gesture_eolian_pub_files:%.eo=%.eo.h) \
$(evas_gesture_eolian_pub_files:%.eo=%.eo.legacy.h) \
$(evas_gesture_eolian_type_files:%.eot=%.eot.h)
evas_eolian_legacy_c = $(evas_eolian_legacy_files:%.eo=%.eo.c)
evas_eolian_legacy_h = $(evas_eolian_legacy_files:%.eo=%.eo.legacy.h)
evas_eolian_files = $(evas_canvas_eolian_pub_files) \
$(evas_canvas_eolian_type_files) \
$(evas_gesture_eolian_pub_files) \
$(evas_gesture_eolian_type_files)
evas_eolian_internal_files = $(evas_canvas_eolian_priv_files) \
$(evas_gesture_eolian_priv_files) \
$(evas_eolian_legacy_files)
$(evas_gesture_eolian_priv_files)
evas_eolian_c = $(evas_canvas_eolian_pub_c) $(evas_canvas_eolian_priv_c) \
$(evas_gesture_eolian_pub_c) $(evas_gesture_eolian_priv_c) \
$(evas_eolian_legacy_c)
$(evas_gesture_eolian_pub_c) $(evas_gesture_eolian_priv_c)
evas_eolian_h = $(evas_canvas_eolian_pub_h) $(evas_canvas_eolian_priv_h) \
$(evas_gesture_eolian_pub_h) $(evas_gesture_eolian_priv_h) \
$(evas_eolian_legacy_h)
$(evas_gesture_eolian_pub_h) $(evas_gesture_eolian_priv_h)
BUILT_SOURCES += \
$(evas_eolian_c) \
@ -132,9 +114,64 @@ BUILT_SOURCES += \
evaseolianfilesdir = $(datadir)/eolian/include/evas-@VMAJ@
evaseolianfiles_DATA = $(evas_eolian_files)
evas_legacy_eo_h = \
lib/evas/canvas/efl_canvas_event_grabber_eo.legacy.h \
lib/evas/canvas/efl_canvas_group_eo.legacy.h \
lib/evas/canvas/efl_canvas_object_eo.legacy.h \
lib/evas/canvas/efl_canvas_text_eo.legacy.h \
lib/evas/canvas/efl_canvas_vg_container_eo.legacy.h \
lib/evas/canvas/efl_canvas_vg_node_eo.legacy.h \
lib/evas/canvas/efl_canvas_vg_object_eo.legacy.h \
lib/evas/canvas/efl_canvas_vg_shape_eo.legacy.h \
lib/evas/canvas/evas_box_eo.legacy.h \
lib/evas/canvas/evas_canvas_eo.legacy.h \
lib/evas/canvas/evas_grid_eo.legacy.h \
lib/evas/canvas/evas_image_eo.legacy.h \
lib/evas/canvas/evas_line_eo.legacy.h \
lib/evas/canvas/evas_table_eo.legacy.h \
lib/evas/canvas/evas_text_eo.legacy.h \
lib/evas/canvas/evas_textgrid_eo.legacy.h
evas_legacy_eo_c = \
lib/evas/canvas/efl_canvas_event_grabber_eo.legacy.c \
lib/evas/canvas/efl_canvas_group_eo.legacy.c \
lib/evas/canvas/efl_canvas_object_eo.legacy.c \
lib/evas/canvas/efl_canvas_text_eo.legacy.c \
lib/evas/canvas/efl_canvas_vg_container_eo.legacy.c \
lib/evas/canvas/efl_canvas_vg_node_eo.legacy.c \
lib/evas/canvas/efl_canvas_vg_object_eo.legacy.c \
lib/evas/canvas/efl_canvas_vg_shape_eo.legacy.c \
lib/evas/canvas/evas_box_eo.c \
lib/evas/canvas/evas_box_eo.h \
lib/evas/canvas/evas_box_eo.legacy.c \
lib/evas/canvas/evas_canvas_eo.c \
lib/evas/canvas/evas_canvas_eo.h \
lib/evas/canvas/evas_canvas_eo.legacy.c \
lib/evas/canvas/evas_grid_eo.c \
lib/evas/canvas/evas_grid_eo.h \
lib/evas/canvas/evas_grid_eo.legacy.c \
lib/evas/canvas/evas_image_eo.c \
lib/evas/canvas/evas_image_eo.h \
lib/evas/canvas/evas_image_eo.legacy.c \
lib/evas/canvas/evas_line_eo.c \
lib/evas/canvas/evas_line_eo.h \
lib/evas/canvas/evas_line_eo.legacy.c \
lib/evas/canvas/evas_table_eo.c \
lib/evas/canvas/evas_table_eo.h \
lib/evas/canvas/evas_table_eo.legacy.c \
lib/evas/canvas/evas_text_eo.c \
lib/evas/canvas/evas_text_eo.h \
lib/evas/canvas/evas_text_eo.legacy.c \
lib/evas/canvas/evas_textgrid_eo.c \
lib/evas/canvas/evas_textgrid_eo.h \
lib/evas/canvas/evas_textgrid_eo.legacy.c
EXTRA_DIST2 += \
$(evaseolianfiles_DATA) \
$(evas_eolian_internal_files)
$(evas_eolian_internal_files) \
$(evas_legacy_eo_c)
lib_LTLIBRARIES += lib/evas/libevas.la
@ -148,9 +185,9 @@ lib/evas/Evas_GL.h \
lib/evas/Evas_Loader.h
installed_evascanvasheadersdir = $(includedir)/evas-@VMAJ@/canvas
nodist_installed_evascanvasheaders_DATA = $(evas_canvas_eolian_pub_h) \
$(evas_eolian_legacy_h)
dist_installed_evascanvasheaders_DATA = lib/evas/canvas/evas_textblock_legacy.h
nodist_installed_evascanvasheaders_DATA = $(evas_canvas_eolian_pub_h)
dist_installed_evascanvasheaders_DATA = lib/evas/canvas/evas_textblock_legacy.h \
$(evas_legacy_eo_h)
installed_evasgestureheadersdir = $(includedir)/evas-@VMAJ@/gesture
nodist_installed_evasgestureheaders_DATA = $(evas_gesture_eolian_pub_h)
@ -2355,10 +2392,8 @@ GENERATED_JS_BINDINGS += $(generated_evas_js_bindings)
endif
if HAVE_CXX
evas_canvas_eolian_cxx_hh = $(evas_canvas_eolian_pub_files:%.eo=%.eo.hh) \
$(evas_eolian_legacy_files:%.eo=%.eo.hh)
evas_canvas_eolian_cxx_impl_hh = $(evas_canvas_eolian_pub_files:%.eo=%.eo.impl.hh) \
$(evas_eolian_legacy_files:%.eo=%.eo.impl.hh)
evas_canvas_eolian_cxx_hh = $(evas_canvas_eolian_pub_files:%.eo=%.eo.hh)
evas_canvas_eolian_cxx_impl_hh = $(evas_canvas_eolian_pub_files:%.eo=%.eo.impl.hh)
evas_gesture_eolian_cxx_hh = $(evas_gesture_eolian_pub_files:%.eo=%.eo.hh)
evas_gesture_eolian_cxx_impl_hh = $(evas_gesture_eolian_pub_files:%.eo=%.eo.impl.hh)
endif

View File

@ -1,5 +1,6 @@
executable('bq_mgr',
['bq_mgr_protocol.c', 'bq_mgr.c'],
dependencies: [ecore, ecore_buffer, ecore_buffer_deps],
install : true
executable('bqmgr',
['bq_mgr_protocol.c', 'bq_mgr.c'],
dependencies: [ecore, ecore_buffer, ecore_buffer_deps],
install: true,
install_dir: join_paths(dir_lib, 'ecore_buffer', 'bin')
)

View File

@ -1456,11 +1456,9 @@ data_write_vectors(Eet_File *ef, int *vector_num)
}
else
{
f = eina_file_open(eina_strbuf_string_get(buf), EINA_FALSE);
if (!f) continue;
eina_file_close(f);
if (!efl_file_set(vg, eina_strbuf_string_get(buf), NULL))
if (efl_file_set(vg, eina_strbuf_string_get(buf)))
error_and_abort(ef, "Failed to parse svg : %s", vector->entry);
if (efl_file_load(vg))
error_and_abort(ef, "Failed to parse svg : %s", vector->entry);
eina_strbuf_reset(buf);

View File

@ -81,6 +81,15 @@ edje_codegen = executable('edje_codegen',
c_args : package_c_args,
)
if meson.is_cross_build()
_edje_codegen = find_program('edje_codegen', native: true)
edje_codegen_path = _edje_codegen.path()
edje_codegen_exe = [_edje_codegen]
else
env = find_program('env', native: true)
edje_codegen_exe = [env, 'EFL_RUN_IN_TREE=1', edje_codegen.full_path()]
endif
edje_pick = executable('edje_pick',
'edje_pick.c',
dependencies: [edje_bin_deps, eet, ecore, eio, ecore_evas],

View File

@ -38,7 +38,6 @@ test_efl_anim_scale.c \
test_efl_anim_translate.c \
test_efl_anim_group_parallel.c \
test_efl_anim_group_sequential.c \
test_efl_anim_event_anim.c \
test_efl_anim_pause.c \
test_efl_anim_repeat.c \
test_efl_anim_start_delay.c \

View File

@ -35,7 +35,6 @@ elementary_test_src = [
'test_efl_anim_translate.c',
'test_efl_anim_group_parallel.c',
'test_efl_anim_group_sequential.c',
'test_efl_anim_event_anim.c',
'test_efl_anim_pause.c',
'test_efl_anim_repeat.c',
'test_efl_anim_start_delay.c',

View File

@ -3,6 +3,7 @@
#endif
#include <string.h>
#include <Efl_Ui.h>
#include <Elementary.h>
#include "test.h"
#include "test_explode.h"
@ -365,7 +366,6 @@ void test_efl_anim_translate(void *data, Evas_Object *obj, void *event_info);
void test_efl_anim_translate_absolute(void *data, Evas_Object *obj, void *event_info);
void test_efl_anim_group_parallel(void *data, Evas_Object *obj, void *event_info);
void test_efl_anim_group_sequential(void *data, Evas_Object *obj, void *event_info);
void test_efl_anim_event_anim(void *data, Evas_Object *obj, void *event_info);
void test_efl_anim_pause(void *data, Evas_Object *obj, void *event_info);
void test_efl_anim_repeat(void *data, Evas_Object *obj, void *event_info);
void test_efl_anim_start_delay(void *data, Evas_Object *obj, void *event_info);
@ -923,7 +923,6 @@ add_tests:
ADD_TEST_EO(NULL, "Effects", "Efl.Animation.Translate Absolute", test_efl_anim_translate_absolute);
ADD_TEST_EO(NULL, "Effects", "Efl.Animation.Group Parallel", test_efl_anim_group_parallel);
ADD_TEST_EO(NULL, "Effects", "Efl.Animation.Group Sequential", test_efl_anim_group_sequential);
ADD_TEST_EO(NULL, "Effects", "Efl.Animation.Event Animation", test_efl_anim_event_anim);
ADD_TEST_EO(NULL, "Effects", "Efl.Animation.Pause", test_efl_anim_pause);
ADD_TEST_EO(NULL, "Effects", "Efl.Animation.Repeat", test_efl_anim_repeat);
ADD_TEST_EO(NULL, "Effects", "Efl.Animation.Start Delay", test_efl_anim_start_delay);

View File

@ -2,8 +2,9 @@
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
#include "elm_colorselector.eo.h"
#include "elm_colorselector_eo.h"
static void
_cb_size_radio_changed(void *data, Evas_Object *obj, void *event EINA_UNUSED)
@ -292,15 +293,15 @@ _file_cb(void *data, const Efl_Event *ev)
const char *f, *k;
// File API
efl_file_get(efl_part(win, "background"), &f, &k);
efl_file_simple_get(efl_part(win, "background"), &f, &k);
if (f)
{
efl_file_set(efl_part(win, "background"), NULL, NULL);
efl_file_simple_load(efl_part(win, "background"), NULL, NULL);
}
else
{
efl_file_get(ev->object, &f, &k);
efl_file_set(efl_part(win, "background"), f, k);
efl_file_simple_get(ev->object, &f, &k);
efl_file_simple_load(efl_part(win, "background"), f, k);
}
}
@ -315,10 +316,11 @@ _image_cb(void *data, const Efl_Event *ev)
efl_content_set(efl_part(win, "background"), NULL);
else
{
efl_file_get(ev->object, &f, &k);
efl_file_simple_get(ev->object, &f, &k);
o = efl_add(EFL_UI_IMAGE_CLASS, win,
efl_gfx_image_scale_type_set(efl_added, EFL_GFX_IMAGE_SCALE_TYPE_FIT_OUTSIDE),
efl_file_set(efl_added, f, k)
efl_file_set(efl_added, f),
efl_file_key_set(efl_added, k)
);
efl_content_set(efl_part(win, "background"), o);
}
@ -353,7 +355,7 @@ test_bg_window(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event
snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get());
efl_add(EFL_UI_IMAGE_CLASS, win,
efl_file_set(efl_added, buf, NULL),
efl_file_set(efl_added, buf),
efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(64, 64)),
efl_gfx_hint_align_set(efl_added, 0.5, 0.5),
efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _file_cb, win),
@ -361,7 +363,7 @@ test_bg_window(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event
snprintf(buf, sizeof(buf), "%s/images/sky_04.jpg", elm_app_data_dir_get());
efl_add(EFL_UI_IMAGE_CLASS, win,
efl_file_set(efl_added, buf, NULL),
efl_file_set(efl_added, buf),
efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(64, 64)),
efl_gfx_hint_align_set(efl_added, 0.5, 0.5),
efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _image_cb, win),
@ -420,7 +422,7 @@ test_bg_scale_type(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e
snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get());
o_bg = efl_add(EFL_UI_BG_CLASS, box,
efl_file_set(efl_added, buf, NULL),
efl_file_set(efl_added, buf),
efl_gfx_hint_weight_set(efl_added, EFL_GFX_HINT_EXPAND, EFL_GFX_HINT_EXPAND),
efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_TRUE),
efl_pack(box, efl_added));

View File

@ -2,6 +2,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
#define ICON_MAX 24
@ -916,7 +917,8 @@ test_box_stack(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
snprintf(buf, sizeof(buf), "%s/images/logo.png", elm_app_data_dir_get());
o = efl_add(EFL_UI_IMAGE_CLASS, win,
efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(64, 64)),
efl_file_set(efl_added, buf, NULL));
efl_file_set(efl_added, buf),
efl_file_load(efl_added));
efl_pack(bx, o);
efl_gfx_entity_size_set(win, EINA_SIZE2D(300, 300));

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
struct _api_data

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
static Evas_Object *_test_code_win_create(const char *id, const char *name)
@ -69,7 +70,7 @@ _elm_code_test_welcome_setup(Evas_Object *parent)
evas_object_show(widget);
efl_event_callback_add(widget, &ELM_CODE_EVENT_LINE_LOAD_DONE, _elm_code_test_line_done_cb, NULL);
efl_event_callback_add(widget, ELM_OBJ_CODE_WIDGET_EVENT_LINE_CLICKED, _elm_code_test_line_clicked_cb, code);
efl_event_callback_add(widget, EFL_UI_CODE_WIDGET_EVENT_LINE_CLICKED, _elm_code_test_line_clicked_cb, code);
_append_line(code->file, "❤ Hello World, Elm Code! ❤");
_append_line(code->file, "*** Currently experimental ***");
@ -103,10 +104,10 @@ _elm_code_test_editor_setup(Evas_Object *parent, Eina_Bool log)
evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(widget);
elm_obj_code_widget_font_set(widget, NULL, 14);
elm_obj_code_widget_editable_set(widget, EINA_TRUE);
elm_obj_code_widget_show_whitespace_set(widget, EINA_TRUE);
elm_obj_code_widget_line_numbers_set(widget, EINA_TRUE);
efl_ui_code_widget_font_set(widget, NULL, 14);
efl_ui_code_widget_editable_set(widget, EINA_TRUE);
efl_ui_code_widget_show_whitespace_set(widget, EINA_TRUE);
efl_ui_code_widget_line_numbers_set(widget, EINA_TRUE);
if (!log)
{
@ -135,11 +136,11 @@ _elm_code_test_syntax_setup(Evas_Object *parent)
evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(widget);
elm_obj_code_widget_editable_set(widget, EINA_TRUE);
elm_obj_code_widget_syntax_enabled_set(widget, EINA_TRUE);
elm_obj_code_widget_code_get(widget)->file->mime = "text/x-csrc";
elm_obj_code_widget_show_whitespace_set(widget, EINA_TRUE);
elm_obj_code_widget_line_numbers_set(widget, EINA_TRUE);
efl_ui_code_widget_editable_set(widget, EINA_TRUE);
efl_ui_code_widget_syntax_enabled_set(widget, EINA_TRUE);
efl_ui_code_widget_code_get(widget)->file->mime = "text/x-csrc";
efl_ui_code_widget_show_whitespace_set(widget, EINA_TRUE);
efl_ui_code_widget_line_numbers_set(widget, EINA_TRUE);
_append_line(code->file, "#include <stdio.h>");
_append_line(code->file, "int main(int argc, char **argv)");
@ -163,13 +164,13 @@ _elm_code_test_syntax_tabbed_setup(Evas_Object *parent)
code = elm_code_create();
code->config.indent_style_efl = EINA_FALSE;
widget = efl_add(ELM_CODE_WIDGET_CLASS, parent, elm_obj_code_widget_code_set(efl_added, code));
elm_obj_code_widget_editable_set(widget, EINA_TRUE);
elm_obj_code_widget_syntax_enabled_set(widget, EINA_TRUE);
elm_obj_code_widget_code_get(widget)->file->mime = "text/x-csrc";
elm_obj_code_widget_show_whitespace_set(widget, EINA_TRUE);
elm_obj_code_widget_line_numbers_set(widget, EINA_TRUE);
elm_obj_code_widget_tab_inserts_spaces_set(widget, EINA_FALSE);
widget = efl_add(ELM_CODE_WIDGET_CLASS, parent, efl_ui_code_widget_code_set(efl_added, code));
efl_ui_code_widget_editable_set(widget, EINA_TRUE);
efl_ui_code_widget_syntax_enabled_set(widget, EINA_TRUE);
efl_ui_code_widget_code_get(widget)->file->mime = "text/x-csrc";
efl_ui_code_widget_show_whitespace_set(widget, EINA_TRUE);
efl_ui_code_widget_line_numbers_set(widget, EINA_TRUE);
efl_ui_code_widget_tab_inserts_spaces_set(widget, EINA_FALSE);
_append_line(code->file, "#include <stdio.h>");
_append_line(code->file, "int main(int argc, char **argv)");
@ -199,8 +200,8 @@ _elm_code_test_mirror_setup(Elm_Code *code, char *font_name, Evas_Object *parent
evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(widget);
elm_obj_code_widget_font_set(widget, font_name, 11);
elm_obj_code_widget_line_numbers_set(widget, EINA_TRUE);
efl_ui_code_widget_font_set(widget, font_name, 11);
efl_ui_code_widget_line_numbers_set(widget, EINA_TRUE);
return widget;
}
@ -326,7 +327,7 @@ test_code_log(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_
o = elm_button_add(screen);
elm_object_text_set(o, "log");
evas_object_smart_callback_add(o, "clicked", _elm_code_test_log_clicked, elm_obj_code_widget_code_get(code));
evas_object_smart_callback_add(o, "clicked", _elm_code_test_log_clicked, efl_ui_code_widget_code_get(code));
elm_box_pack_end(screen, o);
evas_object_show(o);
@ -348,7 +349,7 @@ test_code_mirror(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve
evas_object_size_hint_weight_set(screen, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
widget = _elm_code_test_editor_setup(screen, EINA_FALSE);
code = elm_obj_code_widget_code_get(widget);
code = efl_ui_code_widget_code_get(widget);
elm_box_pack_end(screen, widget);
elm_box_pack_end(screen, _elm_code_test_mirror_setup(code, "Mono:style=Oblique", screen));

View File

@ -39,10 +39,11 @@ _print_current_dir(Evas_Object *obj)
}
static void
_btn_clicked_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
_btn_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
void *event_info EINA_UNUSED)
{
printf("Button Clicked\n");
elm_object_disabled_set(data, !elm_object_disabled_get(data));
}
static void

View File

@ -1,91 +0,0 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Elementary.h>
typedef struct _App_Data
{
Efl_Canvas_Animation_Player *target;
Eina_Bool is_btn_visible;
} App_Data;
static void
_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
{
App_Data *ad = data;
ad->is_btn_visible = !(ad->is_btn_visible);
if (ad->is_btn_visible)
{
//Start animtion by showing button
evas_object_show(ad->target);
elm_object_text_set(obj, "Hide Button");
}
else
{
//Start animtion by hiding button
evas_object_hide(ad->target);
elm_object_text_set(obj, "Show Button");
}
}
static void
_win_del_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
App_Data *ad = data;
free(ad);
}
void
test_efl_anim_event_anim(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
App_Data *ad = calloc(1, sizeof(App_Data));
if (!ad) return;
Evas_Object *win = elm_win_add(NULL, "Efl Animation Event Animation", ELM_WIN_BASIC);
elm_win_title_set(win, "Efl Animation Event Animation");
elm_win_autodel_set(win, EINA_TRUE);
evas_object_smart_callback_add(win, "delete,request", _win_del_cb, ad);
//Button to be animated
Evas_Object *btn = elm_button_add(win);
elm_object_text_set(btn, "Button");
evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_resize(btn, 200, 200);
evas_object_move(btn, 100, 50);
//Show Animation
Efl_Canvas_Animation *show_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win);
efl_animation_alpha_set(show_anim, 0.0, 1.0);
efl_animation_duration_set(show_anim, 1.0);
efl_animation_final_state_keep_set(show_anim, EINA_TRUE);
efl_canvas_object_event_animation_set(btn, EFL_GFX_ENTITY_EVENT_SHOW, show_anim);
//Show button after setting event animation to show animation for show event
evas_object_show(btn);
//Hide Animation
Efl_Canvas_Animation *hide_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win);
efl_animation_alpha_set(hide_anim, 1.0, 0.0);
efl_animation_duration_set(hide_anim, 1.0);
efl_animation_final_state_keep_set(hide_anim, EINA_TRUE);
efl_canvas_object_event_animation_set(btn, EFL_GFX_ENTITY_EVENT_HIDE, hide_anim);
//Initialize App Data
ad->target = btn;
ad->is_btn_visible = EINA_TRUE;
//Button to start animation
Evas_Object *btn2 = elm_button_add(win);
elm_object_text_set(btn2, "Hide Button");
evas_object_smart_callback_add(btn2, "clicked", _btn_clicked_cb, ad);
evas_object_size_hint_weight_set(btn2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_resize(btn2, 200, 50);
evas_object_move(btn2, 100, 300);
evas_object_show(btn2);
evas_object_resize(win, 400, 400);
evas_object_show(win);
}

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
static void
@ -53,7 +54,7 @@ test_efl_gfx_mapping(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
snprintf(buf, sizeof(buf), "%s/images/rock_02.jpg", elm_app_data_dir_get());
img = efl_add(EFL_UI_IMAGE_CLASS, win,
efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(64, 64)),
efl_file_set(efl_added, buf, NULL));
efl_file_set(efl_added, buf));
efl_gfx_image_scale_type_set(img, EFL_GFX_IMAGE_SCALE_TYPE_FILL);
evas_object_event_callback_add(img, EVAS_CALLBACK_RESIZE,
_image_resize_cb, NULL);

View File

@ -2,6 +2,7 @@
# include "elementary_config.h"
#endif
#define EO_BETA_API
#include <Efl_Ui.h>
#include <Elementary.h>
static void
@ -41,7 +42,7 @@ test_efl_ui_text_label(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, voi
char *markup;
win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Efl Canvas_Layout"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));
@ -145,7 +146,7 @@ test_efl_ui_text(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve
Eo *bt;
win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Efl Ui Text"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));
@ -204,7 +205,7 @@ test_efl_ui_text_inputfield(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED
Eo *win, *bx, *en;
win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Efl Ui Text Input Field"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));
@ -251,7 +252,7 @@ _on_factory_bt_image_clicked(void *data, const Efl_Event *event EINA_UNUSED)
image_idx = (image_idx + 1) % IMAGES_SZ;
efl_text_cursor_item_insert(en,
efl_text_cursor_get(en, EFL_TEXT_CURSOR_GET_MAIN),
efl_text_cursor_get(en, EFL_TEXT_CURSOR_GET_TYPE_MAIN),
images[image_idx], "size=32x32");
printf("Inserted image: key = %s\n", images[image_idx]);
}
@ -260,7 +261,7 @@ static void
_on_factory_bt_emoticon_clicked(void *data, const Efl_Event *event EINA_UNUSED)
{
Evas_Object *en = data;
efl_text_cursor_item_insert(en, efl_text_cursor_get(en, EFL_TEXT_CURSOR_GET_MAIN),
efl_text_cursor_item_insert(en, efl_text_cursor_get(en, EFL_TEXT_CURSOR_GET_TYPE_MAIN),
"emoticon/evil-laugh", "size=32x32");
}
@ -294,7 +295,7 @@ test_ui_text_item_factory(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
Eina_File *f;
win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Efl Ui Text Item Factory"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));
@ -353,7 +354,7 @@ test_ui_text_item_factory(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
efl_text_font_set(en, "Sans", 14);
efl_text_normal_color_set(en, 255, 255, 255, 255);
main_cur = efl_text_cursor_get(en, EFL_TEXT_CURSOR_GET_MAIN);
main_cur = efl_text_cursor_get(en, EFL_TEXT_CURSOR_GET_TYPE_MAIN);
cur = efl_text_cursor_new(en);
efl_text_cursor_position_set(en, cur, 2);

View File

@ -5,8 +5,8 @@
#include <Elementary.h>
// FIXME: elm_entry is not part of EO API, the below test cases may be useless
#include "elm_entry.eo.h"
#include "elm_popup.eo.h"
#include "elm_entry_eo.h"
#include "elm_popup_eo.h"
static void
my_entry_bt_1(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
static void
@ -61,7 +62,8 @@ test_evas_map(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
snprintf(buf, sizeof(buf), "%s/images/rock_02.jpg", elm_app_data_dir_get());
img = efl_add(EFL_UI_IMAGE_CLASS, win,
efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(64, 64)),
efl_file_set(efl_added, buf, NULL));
efl_file_set(efl_added, buf),
efl_file_load(efl_added));
efl_gfx_image_scale_type_set(img, EFL_GFX_IMAGE_SCALE_TYPE_FILL);
evas_object_event_callback_add(img, EVAS_CALLBACK_RESIZE,
_image_resize_cb, NULL);

View File

@ -2,6 +2,7 @@
# include "elementary_config.h"
#endif
#include <Elementary.h>
#include <Efl_Ui.h>
static Evas_Object *
@ -118,12 +119,13 @@ test_evas_mask(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event
// FIXME: No API to set background as "tile" :(
snprintf(buf, sizeof(buf), "%s/images/pm_fill.png", elm_app_data_dir_get());
efl_file_set(efl_part(win, "background"), buf, NULL);
efl_file_simple_load(efl_part(win, "background"), buf, NULL);
// FIXME: layout EO API
snprintf(buf, sizeof(buf), "%s/objects/test_masking.edj", elm_app_data_dir_get());
ly = efl_add(EFL_UI_LAYOUT_CLASS, win,
efl_file_set(efl_added, buf, "masking"));
efl_file_set(efl_added, buf),
efl_file_key_set(efl_added, "masking"));
efl_pack(box, ly);
// FIXME: No genlist in EO API

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
#define TABLE_SIZE 10
@ -29,7 +30,8 @@ static inline Eo *
_image_create(Eo *win, const char *path)
{
return efl_add(EFL_UI_IMAGE_CLASS, win,
efl_file_set(efl_added, path, NULL),
efl_file_set(efl_added, path),
efl_file_load(efl_added),
efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(20, 20)));
}

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
#define EFL_INTERNAL_UNSTABLE

View File

@ -3,7 +3,8 @@
#endif
#include <Elementary.h>
#include "elm_colorselector.eo.h"
#include <Efl_Ui.h>
#include "elm_spinner_eo.h"
static const int default_font_size = 48;
@ -307,7 +308,7 @@ _flip_click(void *data, const Efl_Event *ev EINA_UNUSED)
Eo *flip = efl_key_wref_get(win, "flip");
/* FIXME: The flip APIs don't make sense for N items (front!?) */
efl_ui_flip_go(flip, EFL_UI_FLIP_CROSS_FADE);
efl_ui_flip_go(flip, EFL_UI_FLIP_MODE_CROSS_FADE);
}
static void
@ -403,7 +404,7 @@ test_gfx_filters(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve
efl_gfx_hint_align_set(efl_added, 0.5, 0.5),
efl_gfx_hint_size_max_set(efl_added, size),
efl_gfx_hint_size_min_set(efl_added, size),
efl_file_set(efl_added, buf, NULL),
efl_file_set(efl_added, buf),
efl_name_set(efl_added, images[k].src_name),
elm_object_tooltip_text_set(efl_added, images[k].src_name));
if (efl_player_playable_get(o))

View File

@ -1,8 +1,10 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
#include <Efl_Ui.h>
#include <Elementary.h>
#ifndef M_PI
#define M_PI 3.14159265

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
static const struct {

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
static void

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
#define MAX_NUM_OF_CONTENT 18
@ -18,7 +19,7 @@ _reset_cb(void *data, const Efl_Event *ev EINA_UNUSED)
target = evas_object_data_get(radio, "data");
efl_gfx_color_set(efl_part(target, "background"), 0, 0, 0, 0);
efl_file_set(efl_part(target, "background"), NULL, NULL);
efl_file_simple_load(efl_part(target, "background"), NULL, NULL);
}
static void
@ -46,7 +47,7 @@ _scale_type_cb(void *data, const Efl_Event *ev EINA_UNUSED)
target = evas_object_data_get(radio, "data");
snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get());
efl_file_set(efl_part(target, "background"), buf, NULL);
efl_file_simple_load(efl_part(target, "background"), buf, NULL);
type = efl_gfx_image_scale_type_get(efl_part(target, "background"));
type = (type + 1) % 5;
efl_gfx_image_scale_type_set(efl_part(target, "background"), type);
@ -103,7 +104,7 @@ _create_box_contents(Evas_Object *box)
if (efl_isa(content, EFL_UI_IMAGE_CLASS))
{
snprintf(buf, sizeof(buf), "%s/images/logo.png", elm_app_data_dir_get());
efl_file_set(content, buf, NULL);
efl_file_simple_load(content, buf, NULL);
}
evas_object_data_set(radio, "data", content);

View File

@ -3,6 +3,7 @@
#endif
#define EFL_UI_WIDGET_PROTECTED
#include <Efl_Ui.h>
#include <Elementary.h>
typedef struct Test_Data
@ -109,7 +110,7 @@ test_part_shadow(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve
ic = efl_add(EFL_UI_IMAGE_CLASS, win);
snprintf(buf, sizeof(buf), "%s/images/logo.png", elm_app_data_dir_get());
efl_file_set(ic, buf, NULL);
efl_file_simple_load(ic, buf, NULL);
efl_pack(bx, ic);
td->ico = ic;

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
static const struct {
@ -142,7 +143,7 @@ my_bt_open(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
if (eina_list_count(grps) > 0)
{
const char *grp = eina_list_nth(grps, 0);
efl_file_set(ph, file, grp);
efl_file_simple_load(ph, file, grp);
printf("Successfully set the edje file: %s, group: %s\n", file, grp);
}
else printf("Failed to set edje file\n");
@ -805,7 +806,7 @@ test_image_zoomable_animated(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE
char buf[PATH_MAX];
win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Efl.Ui.Image_Zoomable animation"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));
@ -823,7 +824,8 @@ test_image_zoomable_animated(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSE
snprintf(buf, sizeof(buf), "%s/images/animated_logo.gif", elm_app_data_dir_get());
zoomable = efl_add(EFL_UI_IMAGE_ZOOMABLE_CLASS, win,
efl_file_set(efl_added, buf, NULL),
efl_file_set(efl_added, buf),
efl_file_load(efl_added),
efl_pack(bx, efl_added),
efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _zoomable_clicked_cb, NULL)
);

View File

@ -6,7 +6,7 @@
// FIXME: systray has no proper legacy API and clearly isn't ready for prime
// time with EO either.
#include "elm_systray.eo.h"
#include "elm_systray_eo.h"
#define WIDTH 320
#define HEIGHT 160

View File

@ -4,6 +4,7 @@
#endif
#define EFL_PACK_LAYOUT_PROTECTED
#include <Efl_Ui.h>
#include <Elementary.h>
#include <assert.h>

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
static void
@ -28,7 +29,7 @@ test_ui_button(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event
char buf[PATH_MAX];
win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Efl.Ui.Button"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE)
);
@ -55,7 +56,7 @@ test_ui_button(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event
efl_event_callback_add(efl_added, EFL_UI_EVENT_UNPRESSED, _unpressed, NULL)
);
efl_add(EFL_UI_IMAGE_CLASS, btn,
efl_file_set(efl_added, buf, NULL),
efl_file_set(efl_added, buf),
efl_content_set(btn, efl_added)
);
@ -69,7 +70,7 @@ test_ui_button(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event
efl_event_callback_add(efl_added, EFL_UI_EVENT_UNPRESSED, _unpressed, NULL)
);
efl_add(EFL_UI_IMAGE_CLASS, btn,
efl_file_set(efl_added, buf, NULL),
efl_file_set(efl_added, buf),
efl_content_set(btn, efl_added)
);

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
#include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
/* A simple test, just displaying clock in its default format */
@ -48,7 +49,7 @@ test_ui_clock(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_
Evas_Object *win, *bx;
win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Efl.Ui.Clock"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
static void
@ -18,7 +19,7 @@ test_ui_datepicker(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e
Eo *win, *bx;
win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Efl.Ui.Datepicker"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));

View File

@ -4,6 +4,7 @@
#define EO_BETA_API
#define EFL_UI_WIDGET_PROTECTED
#include <Efl_Ui.h>
#include <Elementary.h>
@ -78,7 +79,9 @@ static Eo *page_add(Page_Type p, Eo *parent)
snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj",
elm_app_data_dir_get());
page = efl_add(EFL_UI_LAYOUT_CLASS, parent,
efl_file_set(efl_added, buf, "page"),
efl_file_set(efl_added, buf),
efl_file_key_set(efl_added, "page"),
efl_file_load(efl_added),
efl_text_set(efl_part(efl_added, "text"), "Layout Page"));
efl_gfx_hint_fill_set(page, EINA_TRUE, EINA_TRUE);
break;
@ -104,7 +107,9 @@ static Eo *page_add(Page_Type p, Eo *parent)
snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj",
elm_app_data_dir_get());
page = efl_add(EFL_UI_LAYOUT_CLASS, parent,
efl_file_set(efl_added, buf, "page"),
efl_file_set(efl_added, buf),
efl_file_key_set(efl_added, "page"),
efl_file_load(efl_added),
efl_text_set(efl_part(efl_added, "text"), "Layout Page"));
efl_gfx_hint_fill_set(page, EINA_TRUE, EINA_TRUE);
break;
@ -674,7 +679,7 @@ void test_ui_pager(void *data EINA_UNUSED,
int i;
win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Pager"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));
@ -696,7 +701,9 @@ void test_ui_pager(void *data EINA_UNUSED,
snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj",
elm_app_data_dir_get());
layout = efl_add(EFL_UI_LAYOUT_CLASS, panes,
efl_file_set(efl_added, buf, "pager"),
efl_file_set(efl_added, buf),
efl_file_key_set(efl_added, "pager"),
efl_file_load(efl_added),
efl_content_set(efl_part(panes, "second"), efl_added));
pager = efl_add(EFL_UI_PAGER_CLASS, layout,

View File

@ -4,6 +4,7 @@
#define EO_BETA_API
#define EFL_UI_WIDGET_PROTECTED
#include <Efl_Ui.h>
#include <Elementary.h>
@ -83,7 +84,9 @@ static Eo *page_add(Page_Type p, Eo *parent)
snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj",
elm_app_data_dir_get());
page = efl_add(EFL_UI_LAYOUT_CLASS, parent,
efl_file_set(efl_added, buf, "page"),
efl_file_set(efl_added, buf),
efl_file_key_set(efl_added, "page"),
efl_file_load(efl_added),
efl_text_set(efl_part(efl_added, "text"), "Layout Page"));
efl_gfx_hint_fill_set(page, EINA_TRUE, EINA_TRUE);
break;
@ -109,7 +112,9 @@ static Eo *page_add(Page_Type p, Eo *parent)
snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj",
elm_app_data_dir_get());
page = efl_add(EFL_UI_LAYOUT_CLASS, parent,
efl_file_set(efl_added, buf, "page"),
efl_file_set(efl_added, buf),
efl_file_key_set(efl_added, "page"),
efl_file_load(efl_added),
efl_text_set(efl_part(efl_added, "text"), "Layout Page"));
efl_gfx_hint_fill_set(page, EINA_TRUE, EINA_TRUE);
break;
@ -855,7 +860,7 @@ void test_ui_pager_scroll(void *data EINA_UNUSED,
int i;
win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Pager"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));
@ -877,7 +882,9 @@ void test_ui_pager_scroll(void *data EINA_UNUSED,
snprintf(buf, sizeof(buf), "%s/objects/test_pager.edj",
elm_app_data_dir_get());
layout = efl_add(EFL_UI_LAYOUT_CLASS, panes,
efl_file_set(efl_added, buf, "pager"),
efl_file_set(efl_added, buf),
efl_file_key_set(efl_added, "pager"),
efl_file_load(efl_added),
efl_content_set(efl_part(panes, "second"), efl_added));
pager = efl_add(EFL_UI_PAGER_CLASS, layout,

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
void
@ -10,7 +11,7 @@ test_ui_panel(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_
Eo *win, *table, *panel;
win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Efl.Ui.Panel"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));
@ -19,7 +20,7 @@ test_ui_panel(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_
snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get());
efl_add(EFL_UI_IMAGE_CLASS, table,
efl_file_set(efl_added, buf, NULL),
efl_file_set(efl_added, buf),
efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND),
efl_gfx_hint_align_set(efl_added, EVAS_HINT_FILL, EVAS_HINT_FILL),
efl_pack_table(table, efl_added, 0, 0, 4, 5));
@ -103,7 +104,7 @@ test_ui_panel2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event
Eo *win, *box, *check, *btn, *table, *list, *panel;
win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Efl.Ui.Panel"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
void
@ -9,7 +10,7 @@ test_panes_minsize(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e
Eo *win, *panes, *panes_h;
win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Efl.Ui.Panes"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE)
);

View File

@ -4,6 +4,7 @@
#define EFL_UI_ANCHOR_POPUP_BETA
#define EFL_UI_SCROLL_ALERT_POPUP_BETA
#include <Efl_Ui.h>
#include <Elementary.h>
#define POPUP_POINT_MAX 8
@ -85,12 +86,12 @@ _backwall_cb(void *data EINA_UNUSED, const Efl_Event *ev)
{
char buf[PATH_MAX];
snprintf(buf, sizeof(buf), "%s/images/sky_01.jpg", elm_app_data_dir_get());
efl_file_set(efl_part(p_data->efl_ui_popup, "backwall"), buf, NULL);
efl_file_simple_load(efl_part(p_data->efl_ui_popup, "backwall"), buf, NULL);
efl_text_set(ev->object, "Backwall UnSet");
}
else
{
efl_file_set(efl_part(p_data->efl_ui_popup, "backwall"), NULL, NULL);
efl_file_simple_load(efl_part(p_data->efl_ui_popup, "backwall"), NULL, NULL);
efl_text_set(ev->object, "Backwall Set");
}
k = !k;
@ -365,7 +366,7 @@ test_ui_alert_popup(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *
Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup);
snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get());
efl_file_set(layout, buf, "efl_ui_popup_scroll_content");
efl_file_simple_load(layout, buf, "efl_ui_popup_scroll_content");
efl_content_set(efl_ui_popup, layout);
efl_ui_alert_popup_button_set(efl_ui_popup, EFL_UI_ALERT_POPUP_BUTTON_POSITIVE, "Yes", NULL);
@ -386,7 +387,7 @@ _alert_scroll_case1_cb(void *data, const Efl_Event *ev EINA_UNUSED)
Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup);
snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get());
efl_file_set(layout, buf, "efl_ui_popup_scroll_content");
efl_file_simple_load(layout, buf, "efl_ui_popup_scroll_content");
efl_content_set(efl_ui_popup, layout);
@ -410,7 +411,7 @@ _alert_scroll_case2_cb(void *data, const Efl_Event *ev EINA_UNUSED)
Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup);
snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get());
efl_file_set(layout, buf, "efl_ui_popup_scroll_content");
efl_file_simple_load(layout, buf, "efl_ui_popup_scroll_content");
efl_content_set(efl_ui_popup, layout);
@ -436,7 +437,7 @@ _alert_scroll_case3_cb(void *data, const Efl_Event *ev EINA_UNUSED)
Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup);
snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get());
efl_file_set(layout, buf, "efl_ui_popup_scroll_content");
efl_file_simple_load(layout, buf, "efl_ui_popup_scroll_content");
efl_content_set(efl_ui_popup, layout);
@ -462,7 +463,7 @@ _alert_scroll_case4_cb(void *data, const Efl_Event *ev EINA_UNUSED)
Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup);
snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get());
efl_file_set(layout, buf, "efl_ui_popup_scroll_content");
efl_file_simple_load(layout, buf, "efl_ui_popup_scroll_content");
efl_content_set(efl_ui_popup, layout);
@ -488,7 +489,7 @@ _alert_scroll_case5_cb(void *data, const Efl_Event *ev EINA_UNUSED)
Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, efl_ui_popup);
snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get());
efl_file_set(layout, buf, "efl_ui_popup_scroll_content");
efl_file_simple_load(layout, buf, "efl_ui_popup_scroll_content");
efl_content_set(efl_ui_popup, layout);
@ -1008,7 +1009,7 @@ test_ui_anchor_popup(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, win);
snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get());
efl_file_set(layout, buf, "efl_ui_anchor_popup_layout");
efl_file_simple_load(layout, buf, "efl_ui_anchor_popup_layout");
efl_gfx_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
efl_content_set(win, layout);

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
typedef struct _pbdata
@ -118,7 +119,7 @@ test_ui_progressbar(void *data EINA_UNUSED, Eo *obj EINA_UNUSED, void *event_inf
pd = (pbdata *)calloc(1, sizeof(pbdata));
pd->win = win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Efl.Ui.Progressbar"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE),
efl_event_callback_add(efl_added, EFL_UI_WIN_EVENT_DELETE_REQUEST,
@ -138,7 +139,8 @@ test_ui_progressbar(void *data EINA_UNUSED, Eo *obj EINA_UNUSED, void *event_inf
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
efl_add(EFL_UI_IMAGE_CLASS, pd->pb1,
efl_file_set(efl_added, buf, NULL),
efl_file_set(efl_added, buf),
efl_file_load(efl_added),
efl_content_set(pd->pb1, efl_added)
);

View File

@ -3,6 +3,7 @@
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
static Eo *layout, *btn1, *btn2, *btn3;
@ -264,7 +265,7 @@ test_ui_relative_layout(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, vo
Eo *win, *vbox, *f, *hbox;
win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Efl.Ui.Relative_Layout"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));

View File

@ -2,6 +2,7 @@
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
static void
@ -31,7 +32,7 @@ test_efl_ui_scroller(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
int i, j;
win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Efl Ui Scroller"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));
efl_gfx_entity_size_set(win, EINA_SIZE2D(320, 400));

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
static double
@ -33,7 +34,7 @@ test_ui_slider(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event
double step;
win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Efl.Ui.Slider"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
static double
@ -33,7 +34,7 @@ test_slider_interval(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
double step;
win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Efl.Ui.Slider_Interval"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
static void
@ -37,7 +38,7 @@ test_ui_spin(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_i
Eo *win, *bx, *sp;
win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Efl.Ui.Spin"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
#define NUM_OF_VALS 12
@ -28,7 +29,7 @@ test_ui_spin_button(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *
eina_array_push(array, &values[i]);
win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Efl.Ui.Spin_Button"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));

View File

@ -2,6 +2,7 @@
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
static void _third_layout_push(void *data, const Efl_Event *ev EINA_UNUSED);

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
#define TAB_LABEL_COUNT 15
@ -86,7 +87,8 @@ content_add(Eo *parent, char *text)
snprintf(buf, sizeof(buf), "%s/objects/test_tab_pager.edj", elm_app_data_dir_get());
page = efl_add(EFL_UI_LAYOUT_CLASS, parent,
efl_file_set(efl_added, buf, "page_layout"),
efl_file_set(efl_added, buf),
efl_file_key_set(efl_added, "page_layout"),
efl_text_set(efl_part(efl_added, "text"), text),
efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND),
efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_TRUE));
@ -122,14 +124,15 @@ test_ui_tab_pager(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *ev
int i;
win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Efl.Ui.Tab_Pager"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE),
efl_event_callback_add(efl_added, EFL_EVENT_DEL, _win_del_cb, ad));
snprintf(buf, sizeof(buf), "%s/objects/test_tab_pager.edj", elm_app_data_dir_get());
layout = efl_add(EFL_UI_LAYOUT_CLASS, win,
efl_file_set(efl_added, buf, "tab_page_layout"),
efl_file_set(efl_added, buf),
efl_file_key_set(efl_added, "tab_page_layout"),
efl_content_set(win, efl_added));
navi = elm_naviframe_add(layout);

View File

@ -3,6 +3,7 @@
#endif
#define EFL_PACK_LAYOUT_PROTECTED
#include <Efl_Ui.h>
#include <Elementary.h>
static void _custom_layout_update(Eo *pack, void *_pd EINA_UNUSED);
@ -34,31 +35,31 @@ weights_cb(void *data, const Efl_Event *event)
{
case NONE:
efl_gfx_hint_align_set(table, 0.5, 0.5);
for (int i = 0; i < 7; i++)
for (int i = 1; i < 7; i++)
efl_gfx_hint_weight_set(objects[i], 0, 0);
break;
case NONE_BUT_FILL:
efl_gfx_hint_fill_set(table, EINA_TRUE, EINA_TRUE);
for (int i = 0; i < 7; i++)
for (int i = 1; i < 7; i++)
efl_gfx_hint_weight_set(objects[i], 0, 0);
break;
case EQUAL:
efl_gfx_hint_align_set(table, 0.5, 0.5);
for (int i = 0; i < 7; i++)
for (int i = 1; i < 7; i++)
efl_gfx_hint_weight_set(objects[i], 1, 1);
break;
case ONE:
efl_gfx_hint_align_set(table, 0.5, 0.5);
for (int i = 0; i < 6; i++)
for (int i = 1; i < 7; i++)
efl_gfx_hint_weight_set(objects[i], 0, 0);
efl_gfx_hint_weight_set(objects[6], 1, 1);
efl_gfx_hint_weight_set(objects[2], 1, 1);
break;
case TWO:
efl_gfx_hint_align_set(table, 0.5, 0.5);
for (int i = 0; i < 5; i++)
for (int i = 1; i < 7; i++)
efl_gfx_hint_weight_set(objects[i], 0, 0);
efl_gfx_hint_weight_set(objects[5], 1, 1);
efl_gfx_hint_weight_set(objects[6], 1, 1);
efl_gfx_hint_weight_set(objects[2], 1, 1);
efl_gfx_hint_weight_set(objects[3], 1, 1);
break;
case CUSTOM:
efl_object_override(table, &custom_layout_ops);
@ -89,11 +90,11 @@ margin_slider_cb(void *data, const Efl_Event *event)
}
static void
btnmargins_slider_cb(void *data, const Efl_Event *event)
btnmargins_slider_cb(void *data EINA_UNUSED, const Efl_Event *event)
{
int val = elm_slider_value_get(event->object);
for (int i = 1; i < 7; i++)
efl_gfx_hint_margin_set(data, val, val, val, val);
efl_gfx_hint_margin_set(objects[i], val, val, val, val);
}
static void
@ -333,7 +334,7 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_
efl_event_callback_add(o, EFL_UI_SLIDER_EVENT_CHANGED, padding_slider_cb, table);
elm_slider_min_max_set(o, 0, 40);
elm_slider_inverted_set(o, 1);
elm_slider_value_set(o, 10);
elm_slider_value_set(o, 0);
efl_pack(bx, o);
efl_gfx_entity_visible_set(o, 1);
@ -359,7 +360,7 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_
efl_event_callback_add(o, EFL_UI_SLIDER_EVENT_CHANGED, margin_slider_cb, table);
elm_slider_min_max_set(o, 0, 40);
elm_slider_inverted_set(o, 1);
elm_slider_value_set(o, 10);
elm_slider_value_set(o, 0);
efl_pack(bx, o);
efl_gfx_entity_visible_set(o, 1);
@ -386,7 +387,7 @@ test_ui_table(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_
efl_event_callback_add(o, EFL_UI_SLIDER_EVENT_CHANGED, btnmargins_slider_cb, table);
elm_slider_min_max_set(o, 0, 40);
elm_slider_inverted_set(o, 1);
elm_slider_value_set(o, 10);
elm_slider_value_set(o, 0);
efl_pack(bx, o);
efl_gfx_entity_visible_set(o, 1);

View File

@ -2,6 +2,7 @@
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
struct _Api_Data

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
static void
@ -59,7 +60,7 @@ test_ui_tags(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_i
char buf[PATH_MAX];
win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Efl.Ui.Tags"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));

View File

@ -3,6 +3,7 @@
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
#define CX 180

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
static void
@ -19,7 +20,7 @@ test_ui_timepicker(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e
Eo *win, *bx;
win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Efl.Ui.Timepicker"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
static void
@ -29,7 +30,7 @@ _bt2_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_
Eina_Size2D size = { 300, 150 };
dia = efl_add(EFL_UI_WIN_CLASS, parent,
efl_ui_win_type_set(efl_added, EFL_UI_WIN_DIALOG_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_DIALOG_BASIC),
efl_ui_win_name_set(efl_added, "window-dia-2"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE),
efl_text_set(efl_added, "A Fixed Size Dialog"));
@ -76,7 +77,7 @@ _bt3_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_
Efl_Canvas_Object *dia, *lb, *parent = data;
dia = efl_add(EFL_UI_WIN_CLASS, parent,
efl_ui_win_type_set(efl_added, EFL_UI_WIN_DIALOG_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_DIALOG_BASIC),
efl_ui_win_name_set(efl_added, "window-dia-3"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE),
efl_text_set(efl_added, "Min/Max Size Dialog"));
@ -102,7 +103,7 @@ _bt4_clicked_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *even
Efl_Canvas_Object *dia, *lb;
dia = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
efl_ui_win_type_set(efl_added, EFL_UI_WIN_DIALOG_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_DIALOG_BASIC),
efl_ui_win_name_set(efl_added, "window-dia-4"),
efl_ui_win_autodel_set(efl_added, EINA_TRUE),
efl_text_set(efl_added, "Min/Max Size Dialog")

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
static void
@ -56,25 +57,25 @@ _create_indicator(void)
static void
_off_clicked(void *data, const Efl_Event *ev EINA_UNUSED)
{
efl_ui_win_indicator_mode_set(data, EFL_UI_WIN_INDICATOR_OFF);
efl_ui_win_indicator_mode_set(data, EFL_UI_WIN_INDICATOR_MODE_OFF);
}
static void
_opaque_clicked(void *data, const Efl_Event *ev EINA_UNUSED)
{
efl_ui_win_indicator_mode_set(data, EFL_UI_WIN_INDICATOR_BG_OPAQUE);
efl_ui_win_indicator_mode_set(data, EFL_UI_WIN_INDICATOR_MODE_BG_OPAQUE);
}
static void
_transparent_clicked(void *data, const Efl_Event *ev EINA_UNUSED)
{
efl_ui_win_indicator_mode_set(data, EFL_UI_WIN_INDICATOR_BG_TRANSPARENT);
efl_ui_win_indicator_mode_set(data, EFL_UI_WIN_INDICATOR_MODE_BG_TRANSPARENT);
}
static void
_hidden_clicked(void *data, const Efl_Event *ev EINA_UNUSED)
{
efl_ui_win_indicator_mode_set(data, EFL_UI_WIN_INDICATOR_HIDDEN);
efl_ui_win_indicator_mode_set(data, EFL_UI_WIN_INDICATOR_MODE_HIDDEN);
}
static void
@ -92,7 +93,7 @@ test_win_indicator(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e
// FIXME: Resizing window should no cause sizing issues!
win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
efl_text_set(efl_added, "Efl.Win.Indicator"),
efl_gfx_hint_size_max_set(efl_added, EINA_SIZE2D(300, -1)),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));

View File

@ -1,6 +1,7 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include <Elementary.h>
static void

View File

@ -4,7 +4,7 @@
#include <Elementary.h>
// FIXME: use smart cb
#include "elm_notify.eo.h"
#include "elm_notify_eo.h"
#define MAX_TRY 40

View File

@ -4,6 +4,7 @@
// Stack API is still beta (and EO only)
#define EFL_UI_WIN_BETA
#include <Efl_Ui.h>
#include <Elementary.h>
static int level = 0;
@ -20,13 +21,13 @@ _win_new(Evas_Object *stack_top, const char *title)
if (level >= 3)
win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
efl_ui_win_name_set(efl_added, "window-stack"),
efl_ui_win_type_set(efl_added, ELM_WIN_NAVIFRAME_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_NAVIFRAME_BASIC),
efl_text_set(efl_added, title),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));
else
win = efl_add_ref(EFL_UI_WIN_CLASS, NULL,
efl_ui_win_name_set(efl_added, "window-stack"),
efl_ui_win_type_set(efl_added, ELM_WIN_DIALOG_BASIC),
efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_DIALOG_BASIC),
efl_text_set(efl_added, title),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));

View File

@ -263,39 +263,39 @@ _bt_pressed(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
{
case 1:
printf("Top Left\n");
res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_TOP | EFL_UI_WIN_MOVE_RESIZE_LEFT);
res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_TOP | ELM_WIN_MOVE_RESIZE_LEFT);
break;
case 2:
printf("Top\n");
res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_TOP);
res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_TOP);
break;
case 3:
printf("Top Right\n");
res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_TOP | EFL_UI_WIN_MOVE_RESIZE_RIGHT);
res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_TOP | ELM_WIN_MOVE_RESIZE_RIGHT);
break;
case 4:
printf("Left\n");
res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_LEFT);
res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_LEFT);
break;
case 5:
printf("Move win\n");
res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_MOVE);
res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_MOVE);
break;
case 6:
printf("Right\n");
res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_RIGHT);
res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_RIGHT);
break;
case 7:
printf("Bottom Left\n");
res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_LEFT);
res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_BOTTOM | ELM_WIN_MOVE_RESIZE_LEFT);
break;
case 8:
printf("Bottom\n");
res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_BOTTOM);
res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_BOTTOM);
break;
case 9:
printf("Bottom Right\n");
res = elm_win_move_resize_start(win, EFL_UI_WIN_MOVE_RESIZE_BOTTOM | EFL_UI_WIN_MOVE_RESIZE_RIGHT);
res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_BOTTOM | ELM_WIN_MOVE_RESIZE_RIGHT);
break;
default:
printf("No action\n");

View File

@ -194,11 +194,6 @@ _generate_iterative_free(Eina_Strbuf **buf, const Eolian_Type *type, const Eolia
//generate the field definition
eina_strbuf_append_printf(*buf, " %s", eolian_type_c_type_get(inner_type, EOLIAN_C_TYPE_DEFAULT));
if(t == EOLIAN_TYPE_BUILTIN_INARRAY
|| t == EOLIAN_TYPE_BUILTIN_INLIST)
{
eina_strbuf_append(*buf, "*");
}
eina_strbuf_append_buffer(*buf, iter_param);
eina_strbuf_append(*buf, ";\n");
@ -212,24 +207,6 @@ _generate_iterative_free(Eina_Strbuf **buf, const Eolian_Type *type, const Eolia
eina_strbuf_append(*buf, ")\n");
_generate_loop_content(buf, inner_type, iter_param);
}
else if (t == EOLIAN_TYPE_BUILTIN_INARRAY)
{
eina_strbuf_append_printf(*buf, " EINA_INARRAY_FOREACH(");
eina_strbuf_append_buffer(*buf, param);
eina_strbuf_append_char(*buf, ',');
eina_strbuf_append_buffer(*buf, iter_param);
eina_strbuf_append(*buf, ")\n");
_generate_loop_content(buf, inner_type, iter_param);
}
else if (t == EOLIAN_TYPE_BUILTIN_INLIST)
{
eina_strbuf_append_printf(*buf, " EINA_INLIST_FREE(");
eina_strbuf_append_buffer(*buf, param);
eina_strbuf_append_char(*buf, ',');
eina_strbuf_append_buffer(*buf, iter_param);
eina_strbuf_append(*buf, ")\n");
_generate_loop_content(buf, inner_type, iter_param);
}
else if (t == EOLIAN_TYPE_BUILTIN_ITERATOR)
{
eina_strbuf_append_printf(*buf, " EINA_ITERATOR_FOREACH(");
@ -436,6 +413,39 @@ _gen_reflect_set(Eina_Strbuf *buf, const char *cnamel, const Eolian_Type *valt,
eina_strbuf_append(buf, "}\n\n");
}
static void
_emit_class_function(Eina_Strbuf *buf, const Eolian_Function *fid, const Eolian_Type *rtp, Eina_Strbuf *params_full,
const char *ocnamel, const char *func_suffix, Eina_Strbuf *params, const char *function_name)
{
eina_strbuf_append(buf, "EOAPI ");
if (rtp)
eina_strbuf_append(buf, eolian_type_c_type_get(rtp, EOLIAN_C_TYPE_RETURN));
else
eina_strbuf_append(buf, "void");
eina_strbuf_append(buf, " ");
eina_strbuf_append(buf, function_name);
eina_strbuf_append(buf, "(");
if (eina_strbuf_length_get(params_full) == 0)
eina_strbuf_append(buf, "void");
else
eina_strbuf_append_buffer(buf, params_full);
eina_strbuf_append(buf, ")\n");
eina_strbuf_append(buf, "{\n");
eina_strbuf_append_printf(buf, " %s();\n", eolian_class_c_get_function_name_get(eolian_function_class_get(fid)));
if (rtp)
eina_strbuf_append(buf, " return ");
else
eina_strbuf_append(buf, " ");
eina_strbuf_append_printf(buf, "_%s", ocnamel);
eina_strbuf_append_char(buf, '_');
eina_strbuf_append(buf, eolian_function_name_get(fid));
eina_strbuf_append(buf, func_suffix);
eina_strbuf_append(buf, "(");
eina_strbuf_append_buffer(buf, params);
eina_strbuf_append(buf, ");\n");
eina_strbuf_append(buf, "}\n");
}
static void
_gen_func(const Eolian_Class *cl, const Eolian_Function *fid,
Eolian_Function_Type ftype, Eina_Strbuf *buf,
@ -901,33 +911,11 @@ _gen_func(const Eolian_Class *cl, const Eolian_Function *fid,
}
if (impl_same_class && eolian_function_is_class(fid))
{
eina_strbuf_append(buf, "EOAPI ");
if (rtp)
eina_strbuf_append(buf, eolian_type_c_type_get(rtp, EOLIAN_C_TYPE_RETURN));
else
eina_strbuf_append(buf, "void");
eina_strbuf_append(buf, " ");
eina_strbuf_append(buf, eolian_function_full_c_name_get(fid, ftype, EINA_FALSE));
eina_strbuf_append(buf, "(");
if (eina_strbuf_length_get(params_full) == 0)
eina_strbuf_append(buf, "void");
else
eina_strbuf_append_buffer(buf, params_full);
eina_strbuf_append(buf, ")\n");
eina_strbuf_append(buf, "{\n");
eina_strbuf_append_printf(buf, " %s();\n", eolian_class_c_get_function_name_get(cl));
if (rtp)
eina_strbuf_append(buf, " return ");
else
eina_strbuf_append(buf, " ");
eina_strbuf_append_printf(buf, "_%s", ocnamel);
eina_strbuf_append_char(buf, '_');
eina_strbuf_append(buf, eolian_function_name_get(fid));
eina_strbuf_append(buf, func_suffix);
eina_strbuf_append(buf, "(");
eina_strbuf_append_buffer(buf, params);
eina_strbuf_append(buf, ");\n");
eina_strbuf_append(buf, "}\n");
const char *legacy_name = eolian_function_full_c_name_get(fid, ftype, EINA_TRUE);
_emit_class_function(buf, fid, rtp, params_full, ocnamel, func_suffix, params, eolian_function_full_c_name_get(fid, ftype, EINA_FALSE));
if (legacy_name)
_emit_class_function(buf, fid, rtp, params_full, ocnamel, func_suffix, params, legacy_name);
}
free(cname);

View File

@ -135,6 +135,18 @@ struct documentation_generator
case ::EOLIAN_OBJECT_FUNCTION:
ref += function_conversion(data, (const ::Eolian_Function *)data2, name_tail);
break;
case ::EOLIAN_OBJECT_VARIABLE:
if (::eolian_variable_type_get((::Eolian_Variable *)data) == ::EOLIAN_VAR_CONSTANT)
{
auto names = utils::split(name_helpers::managed_namespace(::eolian_object_name_get(data)), '.');
names.pop_back(); // Remove var name
ref = name_helpers::join_namespaces(names, '.');
ref += "Constants.";
ref += name_helpers::managed_name(::eolian_object_short_name_get(data));
}
// Otherwise, do nothing and no <see> tag will be generated. Because, who would
// reference a global (non-constant) variable in the docs?
break;
case ::EOLIAN_OBJECT_UNKNOWN:
// If the reference cannot be resolved, just return an empty string and
// it won't be converted into a <see> tag.

View File

@ -301,12 +301,15 @@ struct event_definition_generator
bool generate_event_add_remove(OutputIterator sink, attributes::event_def const &evt, const std::string& event_name, Context context) const
{
std::string upper_c_name = utils::to_uppercase(evt.c_name);
auto unit = (const Eolian_Unit*) context_find_tag<eolian_state_context>(context).state;
attributes::klass_def klass(get_klass(evt.klass, unit), unit);
auto library_name = context_find_tag<library_context>(context).actual_library_name(klass.filename);
return as_generator(
scope_tab << "{\n"
<< scope_tab << scope_tab << "add {\n"
<< scope_tab << scope_tab << scope_tab << "lock (eventLock) {\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << "string key = \"_" << upper_c_name << "\";\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << "if (add_cpp_event_handler(key, this.evt_" << event_name << "_delegate)) {\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << "if (add_cpp_event_handler(" << library_name << ", key, this.evt_" << event_name << "_delegate)) {\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "eventHandlers.AddHandler(" << event_name << "Key , value);\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << "} else\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Log.Error($\"Error adding proxy for event {key}\");\n"

View File

@ -32,41 +32,50 @@ struct native_function_definition_generator
bool generate(OutputIterator sink, attributes::function_def const& f, Context const& context) const
{
EINA_CXX_DOM_LOG_DBG(eolian_mono::domain) << "native_function_definition_generator: " << f.c_name << std::endl;
if(blacklist::is_function_blacklisted(f, context) || f.is_static) // Only Concrete classes implement static methods.
if(blacklist::is_function_blacklisted(f, context))
return true;
else
{
if(!as_generator
("\n\n" << scope_tab
<< eolian_mono::marshall_native_annotation(true)
<< eolian_mono::marshall_annotation(true)
<< " private delegate "
<< eolian_mono::marshall_type(true)
<< " "
<< string
<< "_delegate(System.IntPtr obj, System.IntPtr pd"
<< *grammar::attribute_reorder<-1, -1>
<< "_delegate(" << (f.is_static ? "" : "System.IntPtr obj, System.IntPtr pd")
<< ((!f.is_static && f.parameters.size() > 0) ? ", " : "")
<< (grammar::attribute_reorder<-1, -1>
(
(", " << marshall_native_annotation << " " << marshall_parameter)
)
(marshall_annotation << " " << marshall_parameter)
) % ", ")
<< ");\n")
.generate(sink, std::make_tuple(f.return_type, f.return_type, f.c_name, f.parameters), context))
return false;
if(!as_generator
(scope_tab << "[System.Runtime.InteropServices.DllImport(" << context_find_tag<library_context>(context).actual_library_name(f.filename) << ")] "
<< eolian_mono::marshall_native_annotation(true)
<< " private static extern "
("\n\n" << scope_tab
<< eolian_mono::marshall_annotation(true)
<< " public delegate "
<< eolian_mono::marshall_type(true)
<< " " << string
<< "(System.IntPtr obj"
<< *grammar::attribute_reorder<-1, -1>
<< " "
<< string << "_api_delegate(" << (f.is_static ? "" : "System.IntPtr obj")
<< ((!f.is_static && f.parameters.size() > 0) ? ", " : "")
<< (grammar::attribute_reorder<-1, -1>
(
(", " << marshall_native_annotation << " " << marshall_parameter)
)
(marshall_annotation << " " << marshall_parameter)
) % ", ")
<< ");\n")
.generate(sink, std::make_tuple(f.return_type, f.return_type, f.c_name, f.parameters), context))
return false;
if(!as_generator
(scope_tab
<< " public static Efl.Eo.FunctionWrapper<" << string << "_api_delegate> " << string << "_ptr = new Efl.Eo.FunctionWrapper<"
<< string << "_api_delegate>(_Module, \"" << string << "\");\n")
.generate(sink, std::make_tuple(f.c_name, f.c_name, f.c_name, f.c_name), context))
return false;
std::string return_type;
if(!as_generator(eolian_mono::type(true)).generate(std::back_inserter(return_type), f.return_type, context))
return false;
@ -77,6 +86,11 @@ struct native_function_definition_generator
else
klass_cast_name = name_helpers::klass_interface_name(*klass);
std::string self = "Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj))";
if (f.is_static)
self = "";
if(!as_generator
(scope_tab
<< " private static "
@ -93,7 +107,8 @@ struct native_function_definition_generator
<< scope_tab << scope_tab << "if(wrapper != null) {\n"
<< scope_tab << scope_tab << scope_tab << eolian_mono::native_function_definition_preamble()
<< scope_tab << scope_tab << scope_tab << "try {\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << (return_type != " void" ? "_ret_var = " : "") << "((" << klass_cast_name << ")wrapper)." << string
<< scope_tab << scope_tab << scope_tab << scope_tab << (return_type != " void" ? "_ret_var = " : "")
<< (f.is_static ? "" : "((") << klass_cast_name << (f.is_static ? "." : ")wrapper).") << string
<< "(" << (native_argument_invocation % ", ") << ");\n"
<< scope_tab << scope_tab << scope_tab << "} catch (Exception e) {\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Log.Warning($\"Callback error: {e.ToString()}\");\n"
@ -102,7 +117,7 @@ struct native_function_definition_generator
<< eolian_mono::native_function_definition_epilogue(*klass)
<< scope_tab << scope_tab << "} else {\n"
<< scope_tab << scope_tab << scope_tab << (return_type != " void" ? "return " : "") << string
<< "(Efl.Eo.Globals.efl_super(obj, " << "Efl.Eo.Globals.efl_class_get(obj))" << *(", " << argument) << ");\n"
<< "_ptr.Value.Delegate(" << self << ((!f.is_static && f.parameters.size() > 0) ? ", " : "") << (argument % ", ") << ");\n"
<< scope_tab << scope_tab << "}\n"
<< scope_tab << "}\n"
)
@ -118,9 +133,13 @@ struct native_function_definition_generator
, context))
return false;
// Static functions do not need to be called from C
if (f.is_static)
return true;
// This is the delegate that will be passed to Eo to be called from C.
if(!as_generator(
scope_tab << "private " << f.c_name << "_delegate " << f.c_name << "_static_delegate;\n"
scope_tab << "private static " << f.c_name << "_delegate " << f.c_name << "_static_delegate;\n"
).generate(sink, attributes::unused, context))
return false;
return true;
@ -141,22 +160,6 @@ struct function_definition_generator
if(blacklist::is_function_blacklisted(f, context))
return true;
if(!as_generator
("\n\n" << scope_tab << "[System.Runtime.InteropServices.DllImport(" << context_find_tag<library_context>(context).actual_library_name(f.filename) << ")]\n"
<< scope_tab << eolian_mono::marshall_annotation(true)
<< (do_super ? " protected " : " private ") << "static extern "
<< eolian_mono::marshall_type(true)
<< " " << string
<< "(" << (f.is_static ? "" : "System.IntPtr obj")
<< ((!f.is_static && (f.parameters.size() > 0)) ? ", " : "")
<< (grammar::attribute_reorder<-1, -1>
(
(marshall_annotation << " " << marshall_parameter)
) % ",")
<< ");\n")
.generate(sink, std::make_tuple(f.return_type, f.return_type, f.c_name, f.parameters), context))
return false;
std::string return_type;
if(!as_generator(eolian_mono::type(true)).generate(std::back_inserter(return_type), f.return_type, context))
return false;
@ -176,8 +179,10 @@ struct function_definition_generator
if(!as_generator
(scope_tab << ((do_super && !f.is_static) ? "virtual " : "") << "public " << (f.is_static ? "static " : "") << return_type << " " << string << "(" << (parameter % ", ")
<< ") {\n "
<< eolian_mono::function_definition_preamble() << string << "("
<< self << ((!f.is_static && (f.parameters.size() > 0)) ? "," : "")
<< eolian_mono::function_definition_preamble()
<< klass_full_native_inherit_name(f.klass) << "." << string << "_ptr.Value.Delegate("
<< self
<< ((!f.is_static && (f.parameters.size() > 0)) ? "," : "")
<< (argument_invocation % ", ") << ");\n"
<< eolian_mono::function_definition_epilogue()
<< " }\n")

View File

@ -47,9 +47,9 @@ struct function_pointer {
.generate(sink, std::make_tuple(f, f.return_type, f_name, f.parameters), funcptr_ctx))
return false;
// "Internal" delegate, 1-to-1 with the Unamaged function type
if (!as_generator(marshall_native_annotation(true)
if (!as_generator(marshall_annotation(true)
<< "public delegate " << marshall_type(true) << " " << string // public?
<< "Internal(IntPtr data" << *grammar::attribute_reorder<-1, -1>((", " << marshall_native_annotation << " " << marshall_parameter)) << ");\n")
<< "Internal(IntPtr data" << *grammar::attribute_reorder<-1, -1>((", " << marshall_annotation << " " << marshall_parameter)) << ");\n")
.generate(sink, std::make_tuple(f.return_type, f.return_type, f_name, f.parameters), funcptr_ctx))
return false;
@ -80,8 +80,8 @@ struct function_pointer {
<< scope_tab << "}\n\n"
<< scope_tab << marshall_native_annotation(true)
<< scope_tab << "internal static " << marshall_type(true) << " Cb(IntPtr cb_data" << *grammar::attribute_reorder<-1, -1>((", " << marshall_native_annotation << " " << marshall_parameter)) << ")\n"
<< scope_tab << marshall_annotation(true)
<< scope_tab << "internal static " << marshall_type(true) << " Cb(IntPtr cb_data" << *grammar::attribute_reorder<-1, -1>((", " << marshall_annotation << " " << marshall_parameter)) << ")\n"
<< scope_tab << "{\n"
<< scope_tab << scope_tab << "GCHandle handle = GCHandle.FromIntPtr(cb_data);\n"
<< scope_tab << scope_tab << string << " cb = (" << string << ")handle.Target;\n"

View File

@ -37,7 +37,8 @@ struct function_registration_generator
// auto index = index_generator();
if(!as_generator(
scope_tab << scope_tab << f.c_name << "_static_delegate = new " << f.c_name << "_delegate(" <<
scope_tab << scope_tab << "if (" << f.c_name << "_static_delegate == null)\n"
<< scope_tab << scope_tab << f.c_name << "_static_delegate = new " << f.c_name << "_delegate(" <<
escape_keyword(f.name) << ");\n"
).generate(sink, attributes::unused, context))
return false;
@ -47,9 +48,9 @@ struct function_registration_generator
#ifdef _WIN32
<< "api_func = Marshal.StringToHGlobalAnsi(\"" << string << "\")"
#else
<< "api_func = Efl.Eo.Globals.dlsym(Efl.Eo.Globals.RTLD_DEFAULT, \"" << string << "\")"
<< "api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, \"" << string << "\")"
#endif
", func = Marshal.GetFunctionPointerForDelegate(" << string << "_static_delegate)});\n"
<< ", func = Marshal.GetFunctionPointerForDelegate(" << string << "_static_delegate)});\n"
)
.generate(sink, std::make_tuple(f.c_name, f.c_name), context))
return false;

View File

@ -14,6 +14,7 @@ struct class_context
enums,
function_ptr,
alias,
variables,
};
wrapper_kind current_wrapper_kind;
};

View File

@ -347,6 +347,15 @@ struct klass
return false;
}
// Copied from nativeinherit class, used when setting up providers.
if(!as_generator(
scope_tab << "private static IntPtr GetEflClassStatic()\n"
<< scope_tab << "{\n"
<< scope_tab << scope_tab << "return " << name_helpers::klass_get_full_name(cls) << "();\n"
<< scope_tab << "}\n"
).generate(sink, attributes::unused, inherit_cxt))
return false;
if(!as_generator("}\n").generate(sink, attributes::unused, inherit_cxt)) return false;
}
@ -365,9 +374,10 @@ struct klass
if(!as_generator
(
"public class " << native_inherit_name << " " << (root ? ": Efl.Eo.NativeClass" : (": " + base_name)) <<"{\n"
// << scope_tab << (root ? "protected IntPtr EoKlass { get; set; }\n" : "\n")
<< scope_tab << "public " << /*(root ? "" : "new ")*/ "override " << "System.Collections.Generic.List<Efl_Op_Description> GetEoOps(System.Type type)\n"
"public class " << native_inherit_name << " " << (root ? " : Efl.Eo.NativeClass" : (": " + base_name)) <<"{\n"
<< scope_tab << "public " << (root ? "" : "new ") << " static Efl.Eo.NativeModule _Module = new Efl.Eo.NativeModule("
<< context_find_tag<library_context>(context).actual_library_name(cls.filename) << ");\n"
<< scope_tab << "public override System.Collections.Generic.List<Efl_Op_Description> GetEoOps(System.Type type)\n"
<< scope_tab << "{\n"
<< scope_tab << scope_tab << "var descs = new System.Collections.Generic.List<Efl_Op_Description>();\n"
)
@ -454,7 +464,7 @@ struct klass
<< scope_tab << scope_tab << scope_tab << "if (((object)this).GetType() == typeof (" << inherit_name << "))\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << "return " << native_inherit_full_name << ".GetEflClassStatic();\n"
<< scope_tab << scope_tab << scope_tab << "else\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << "return Efl.Eo.Globals.klasses[((object)this).GetType()];\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << "return Efl.Eo.ClassRegister.klassFromType[((object)this).GetType()];\n"
<< scope_tab << scope_tab << "}\n"
<< scope_tab << "}\n"
).generate(sink, attributes::unused, context))
@ -471,16 +481,13 @@ struct klass
if (is_inherit)
{
if (!as_generator(
scope_tab << "private static readonly object klassAllocLock = new object();\n"
<< scope_tab << "protected bool inherited;\n"
scope_tab << "protected bool inherited;\n"
).generate(sink, attributes::unused, context))
return false;
}
return as_generator(
scope_tab << visibility << " System.IntPtr handle;\n"
<< scope_tab << "public Dictionary<String, IntPtr> cached_strings = new Dictionary<String, IntPtr>();" << "\n"
<< scope_tab << "public Dictionary<String, IntPtr> cached_stringshares = new Dictionary<String, IntPtr>();" << "\n"
<< scope_tab << "///<summary>Pointer to the native instance.</summary>\n"
<< scope_tab << "public System.IntPtr NativeHandle {\n"
<< scope_tab << scope_tab << "get { return handle; }\n"
@ -502,7 +509,12 @@ struct klass
).generate(sink, attributes::unused, context))
return false;
auto constructors = helpers::reorder_constructors(cls.get_all_constructors());
auto all_constructors = helpers::reorder_constructors(cls.get_all_constructors());
decltype (all_constructors) constructors;
std::copy_if(all_constructors.cbegin(), all_constructors.cend(), std::back_inserter(constructors), [&context](attributes::constructor_def const& ctor) {
return !blacklist::is_function_blacklisted(ctor.function, context);
});
// Public (API) constructors
if (!as_generator(
@ -512,7 +524,7 @@ struct klass
// For constructors with arguments, the parent is also required, as optional parameters can't come before non-optional paramenters.
<< scope_tab << "public " << inherit_name << "(Efl.Object parent" << ((constructors.size() > 0) ? "" : "= null") << "\n"
<< scope_tab << scope_tab << scope_tab << *(", " << constructor_param ) << ") :\n"
<< scope_tab << scope_tab << (root ? "this" : "base") << "(\"" << inherit_name << "\", " << name_helpers::klass_get_name(cls) << "(), typeof(" << inherit_name << "), parent)\n"
<< scope_tab << scope_tab << (root ? "this" : "base") << "(" << name_helpers::klass_get_name(cls) << "(), typeof(" << inherit_name << "), parent)\n"
<< scope_tab << "{\n"
<< *(scope_tab << scope_tab << constructor_invocation << "\n" )
<< scope_tab << scope_tab << "FinishInstantiation();\n"
@ -531,7 +543,7 @@ struct klass
{
return as_generator(
scope_tab << "///<summary>Internal usage: Constructor to forward the wrapper initialization to the root class that interfaces with native code. Should not be used directly.</summary>\n"
<< scope_tab << "protected " << inherit_name << "(String klass_name, IntPtr base_klass, System.Type managed_type, Efl.Object parent) : base(klass_name, base_klass, managed_type, parent) {}\n"
<< scope_tab << "protected " << inherit_name << "(IntPtr base_klass, System.Type managed_type, Efl.Object parent) : base(base_klass, managed_type, parent) {}\n"
).generate(sink, attributes::unused, context);
}
@ -539,22 +551,12 @@ struct klass
// Detailed constructors go only in root classes.
return as_generator(
/// Actual root costructor that creates class and instantiates
scope_tab << "protected " << inherit_name << "(String klass_name, IntPtr base_klass, System.Type managed_type, Efl.Object parent)\n"
scope_tab << "protected " << inherit_name << "(IntPtr base_klass, System.Type managed_type, Efl.Object parent)\n"
<< scope_tab << "{\n"
<< scope_tab << scope_tab << "inherited = ((object)this).GetType() != managed_type;\n"
<< scope_tab << scope_tab << "IntPtr actual_klass = base_klass;\n"
<< scope_tab << scope_tab << "if (inherited) {\n"
<< scope_tab << scope_tab << scope_tab << "if (!Efl.Eo.Globals.klasses.ContainsKey(((object)this).GetType())) {\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << "lock (klassAllocLock) {\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "actual_klass = Efl.Eo.Globals.register_class(klass_name, base_klass, ((object)this).GetType());\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "if (actual_klass == System.IntPtr.Zero) {\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "throw new System.InvalidOperationException(\"Failed to initialize class '" << inherit_name << "'\");\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "}\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << scope_tab << "Efl.Eo.Globals.klasses[((object)this).GetType()] = actual_klass;\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << "}\n"
<< scope_tab << scope_tab << scope_tab << "}\n"
<< scope_tab << scope_tab << scope_tab << "else\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << "actual_klass = Efl.Eo.Globals.klasses[((object)this).GetType()];\n"
<< scope_tab << scope_tab << scope_tab << "actual_klass = Efl.Eo.ClassRegister.GetInheritKlassOrRegister(base_klass, ((object)this).GetType());\n"
<< scope_tab << scope_tab << "}\n"
<< scope_tab << scope_tab << "handle = Efl.Eo.Globals.instantiate_start(actual_klass, parent);\n"
<< scope_tab << scope_tab << "register_event_proxies();\n"
@ -604,8 +606,6 @@ struct klass
<< scope_tab << "///<summary>Releases the underlying native instance.</summary>\n"
<< scope_tab << "public void Dispose()\n"
<< scope_tab << "{\n"
<< scope_tab << "Efl.Eo.Globals.free_dict_values(cached_strings);" << "\n"
<< scope_tab << "Efl.Eo.Globals.free_stringshare_values(cached_stringshares);" << "\n"
<< scope_tab << scope_tab << "Dispose(true);\n"
<< scope_tab << scope_tab << "GC.SuppressFinalize(this);\n"
<< scope_tab << "}\n"
@ -682,13 +682,13 @@ struct klass
// Callback registration functions
if (!as_generator(
scope_tab << visibility << "bool add_cpp_event_handler(string key, Efl.EventCb evt_delegate) {\n"
scope_tab << visibility << "bool add_cpp_event_handler(string lib, string key, Efl.EventCb evt_delegate) {\n"
<< scope_tab << scope_tab << "int event_count = 0;\n"
<< scope_tab << scope_tab << "if (!event_cb_count.TryGetValue(key, out event_count))\n"
<< scope_tab << scope_tab << scope_tab << "event_cb_count[key] = event_count;\n"
<< scope_tab << scope_tab << "if (event_count == 0) {\n"
<< scope_tab << scope_tab << scope_tab << "IntPtr desc = Efl.EventDescription.GetNative(key);\n"
<< scope_tab << scope_tab << scope_tab << "IntPtr desc = Efl.EventDescription.GetNative(lib, key);\n"
<< scope_tab << scope_tab << scope_tab << "if (desc == IntPtr.Zero) {\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Log.Error($\"Failed to get native event {key}\");\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << "return false;\n"
@ -710,7 +710,8 @@ struct klass
<< scope_tab << scope_tab << scope_tab << "event_cb_count[key] = event_count;\n"
<< scope_tab << scope_tab << "if (event_count == 1) {\n"
<< scope_tab << scope_tab << scope_tab << "IntPtr desc = Efl.EventDescription.GetNative(key);\n"
<< scope_tab << scope_tab << scope_tab << "IntPtr desc = Efl.EventDescription.GetNative("
<< context_find_tag<library_context>(context).actual_library_name(cls.filename) << ", key);\n"
<< scope_tab << scope_tab << scope_tab << "if (desc == IntPtr.Zero) {\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << "Eina.Log.Error($\"Failed to get native event {key}\");\n"
<< scope_tab << scope_tab << scope_tab << scope_tab << "return false;\n"

View File

@ -90,7 +90,7 @@ struct marshall_annotation_visitor_generate
{"string", true, [&] {
return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringPassOwnershipMarshaler))]";
}},
{"string", false, [&] {
{"string", nullptr, [&] {
return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))]";
}},
{"mstring", true, [&] {
@ -112,10 +112,10 @@ struct marshall_annotation_visitor_generate
return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Eina.ValueMarshaler))]";
}},
{"strbuf", true, [&] {
return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufPassOwnershipMarshaler))]";
return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufPassOwnershipMarshaler))]";
}},
{"strbuf", false, [&] {
return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufKeepOwnershipMarshaler))]";
return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufKeepOwnershipMarshaler))]";
}},
};
@ -142,12 +142,22 @@ struct marshall_annotation_visitor_generate
}
bool operator()(attributes::klass_name const& klass_name) const
{
const char no_return_prefix[] = "[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Efl.Eo.MarshalTest<";
const char return_prefix[] = "[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Efl.Eo.MarshalTest<";
return as_generator
((is_return ? return_prefix : no_return_prefix)
<< string << ", Efl.Eo." << (klass_name.base_qualifier & qualifier_info::is_own ? "OwnTag" : "NonOwnTag") << ">))]"
).generate(sink, name_helpers::klass_full_concrete_name(klass_name), *context);
const char *return_prefix = is_return ? "return:" : "";
const char *marshal_prefix = "MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(";
std::string name = name_helpers::klass_full_concrete_name(klass_name);
if (name == "Efl.Class")
name = "Efl.Eo.MarshalEflClass";
else
{
auto own = klass_name.base_qualifier & qualifier_info::is_own ? "OwnTag" : "NonOwnTag";
name = "Efl.Eo.MarshalTest<" + name + ", Efl.Eo." + own + ">";
}
return as_generator(
lit("[") << return_prefix << marshal_prefix << name << "))]"
).generate(sink, name, *context);
}
bool operator()(attributes::complex_type_def const& c) const
{
@ -159,118 +169,6 @@ struct marshall_annotation_visitor_generate
return true;
}
};
template <typename OutputIterator, typename Context>
struct marshall_native_annotation_visitor_generate
{
mutable OutputIterator sink;
Context const* context;
std::string c_type;
bool is_out;
bool is_return;
bool is_ptr;
typedef marshall_type_visitor_generate<OutputIterator, Context> visitor_type;
typedef bool result_type;
bool operator()(attributes::regular_type_def const& regular) const
{
using attributes::regular_type_def;
struct match
{
eina::optional<std::string> name;
eina::optional<bool> has_own;
std::function<std::string()> function;
};
match const parameter_match_table[] =
{
// signed primitives
{"bool", nullptr, [&] { return " [MarshalAs(UnmanagedType.U1)]"; }},
{"string", true, [&] {
return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringPassOwnershipMarshaler))]";
}},
{"string", false, [&] {
if (is_out)
return "";
return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))]";
}},
{"stringshare", true, [&] {
return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringsharePassOwnershipMarshaler))]";
}},
{"stringshare", false, [&] {
if (is_out)
return "";
return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringshareKeepOwnershipMarshaler))]";
}},
{"strbuf", true, [&] {
return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufPassOwnershipMarshaler))]";
}},
{"strbuf", false, [&] {
return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufKeepOwnershipMarshaler))]";
}},
};
match const return_match_table[] =
{
// signed primitives
{"bool", nullptr, [&] { return " [return: MarshalAs(UnmanagedType.U1)]"; }},
{"string", true, [&] {
return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringPassOwnershipMarshaler))]";
}},
{"string", false, [&] { return ""; }},
{"stringshare", true, [&] {
return " [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringsharePassOwnershipMarshaler))]";
}},
{"stringshare", false, [&] { return ""; }},
{"strbuf", true, [&] {
return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufPassOwnershipMarshaler))]";
}},
{"strbuf", false, [&] {
return " [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StrbufKeepOwnershipMarshaler))]";
}},
};
if(eina::optional<bool> b = call_annotation_match
((is_return ? return_match_table : parameter_match_table)
, [&] (match const& m)
{
return (!m.name || *m.name == regular.base_type)
&& (!m.has_own || *m.has_own == (bool)(regular.base_qualifier & qualifier_info::is_own))
;
}
, [&] (std::string const& string)
{
std::copy(string.begin(), string.end(), sink);
return true;
}))
{
return *b;
}
else
{
return true;
}
}
bool operator()(attributes::klass_name const& klass_name) const
{
const char no_return_prefix[] = "[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Efl.Eo.MarshalTest<";
const char return_prefix[] = "[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(Efl.Eo.MarshalTest<";
return as_generator
((is_return ? return_prefix : no_return_prefix)
<< string << ", Efl.Eo." << (klass_name.base_qualifier & qualifier_info::is_own ? "OwnTag" : "NonOwnTag") << ">))]"
).generate(sink, name_helpers::klass_full_concrete_name(klass_name), *context);
}
bool operator()(attributes::complex_type_def const& c) const
{
if (c.outer.base_type == "future")
{
std::string prefix = is_return ? "return: " : "";
return as_generator("[" << prefix << "MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Eina.FutureMarshaler))]").generate(sink, nullptr, *context);
}
return true;
}
};
} }
#endif

View File

@ -13,8 +13,6 @@ template <typename OutputIterator, typename Context>
struct marshall_type_visitor_generate;
template <typename OutputIterator, typename Context>
struct marshall_annotation_visitor_generate;
template <typename OutputIterator, typename Context>
struct marshall_native_annotation_visitor_generate;
}
/*
@ -73,26 +71,6 @@ struct marshall_annotation_generator
bool is_return;
};
struct marshall_native_annotation_generator
{
marshall_native_annotation_generator(bool is_return = false)
: is_return(is_return) {}
template <typename OutputIterator, typename Context>
bool generate(OutputIterator sink, attributes::type_def const& type, Context const& context) const
{
return type.original_type.visit(detail::marshall_native_annotation_visitor_generate<OutputIterator, Context>{sink, &context, type.c_type, false, is_return, type.is_ptr});
}
template <typename OutputIterator, typename Context>
bool generate(OutputIterator sink, attributes::parameter_def const& param, Context const& context) const
{
return param.type.original_type.visit(detail::marshall_native_annotation_visitor_generate<OutputIterator, Context>{sink, &context, param.type.c_type
, param.direction != attributes::parameter_direction::in, false, param.type.is_ptr});
}
bool is_return;
};
struct marshall_type_terminal
{
marshall_type_generator const operator()(bool is_return) const
@ -120,19 +98,6 @@ marshall_annotation_generator const as_generator(marshall_annotation_terminal)
}
struct marshall_native_annotation_terminal
{
marshall_native_annotation_generator const operator()(bool is_return) const
{
return marshall_native_annotation_generator(is_return);
}
} const marshall_native_annotation = {};
marshall_native_annotation_generator const as_generator(marshall_native_annotation_terminal)
{
return marshall_native_annotation_generator{};
}
}
namespace efl { namespace eolian { namespace grammar {
@ -158,23 +123,12 @@ struct is_generator< ::eolian_mono::marshall_annotation_generator> : std::true_t
template <>
struct is_generator< ::eolian_mono::marshall_annotation_terminal> : std::true_type {};
template <>
struct is_eager_generator< ::eolian_mono::marshall_native_annotation_generator> : std::true_type {};
template <>
struct is_generator< ::eolian_mono::marshall_native_annotation_generator> : std::true_type {};
template <>
struct is_generator< ::eolian_mono::marshall_native_annotation_terminal> : std::true_type {};
namespace type_traits {
template <>
struct attributes_needed< ::eolian_mono::marshall_annotation_generator> : std::integral_constant<int, 1> {};
template <>
struct attributes_needed< ::eolian_mono::marshall_annotation_terminal> : std::integral_constant<int, 1> {};
template <>
struct attributes_needed< ::eolian_mono::marshall_native_annotation_generator> : std::integral_constant<int, 1> {};
template <>
struct attributes_needed< ::eolian_mono::marshall_native_annotation_terminal> : std::integral_constant<int, 1> {};
}
} } }

View File

@ -32,7 +32,6 @@ struct marshall_type_visitor_generate
bool operator()(attributes::regular_type_def const& regular) const
{
using attributes::regular_type_def;
bool is_inherit_native = context_find_tag<class_context>(*context).current_wrapper_kind == class_context::inherit_native;
struct match
{
@ -47,32 +46,24 @@ struct marshall_type_visitor_generate
{
regular_type_def r = regular;
r.base_qualifier.qualifier ^= qualifier_info::is_ref;
// if(is_out || is_return)
return replace_base_type(r, " System.String");
// else return replace_base_type(r, " ::efl::eina::string_view");
}}
, {"string", false, [&]
{
regular_type_def r = regular;
r.base_qualifier.qualifier ^= qualifier_info::is_ref;
if (is_inherit_native && (is_return || is_out))
return replace_base_type(r, " System.IntPtr");
return replace_base_type(r, " System.String");
}}
, {"mstring", true, [&]
{
regular_type_def r = regular;
r.base_qualifier.qualifier ^= qualifier_info::is_ref;
// if(is_out || is_return)
return replace_base_type(r, " System.String");
// else return replace_base_type(r, " ::efl::eina::string_view");
}}
, {"mstring", false, [&]
{
regular_type_def r = regular;
r.base_qualifier.qualifier ^= qualifier_info::is_ref;
if (is_inherit_native && (is_return || is_out))
return replace_base_type(r, " System.IntPtr");
return replace_base_type(r, " System.String");
}}
, {"stringshare", true, [&]
@ -85,10 +76,7 @@ struct marshall_type_visitor_generate
{
regular_type_def r = regular;
r.base_qualifier.qualifier ^= qualifier_info::is_ref;
if (is_inherit_native && (is_return || is_out))
return replace_base_type(r, " System.IntPtr");
else
return replace_base_type(r, " System.String");
return replace_base_type(r, " System.String");
}}
, {"strbuf", nullptr, [&]
{
@ -193,7 +181,6 @@ struct marshall_type_visitor_generate
bool operator()(attributes::klass_name klass_name) const
{
return visitor_generate<OutputIterator, Context>{sink, context, c_type, is_out, is_return, is_ptr}(klass_name);
// return as_generator(" System.IntPtr").generate(sink, attributes::unused, *context);
}
bool operator()(attributes::complex_type_def const& complex) const
{
@ -212,21 +199,11 @@ struct marshall_type_visitor_generate
return regular_type_def{" System.IntPtr", complex.outer.base_qualifier, {}};
}
}
,{"inarray", nullptr, nullptr, [&]
{
return regular_type_def{" System.IntPtr", complex.outer.base_qualifier, {}};
}
}
,{"list", nullptr, nullptr, [&]
{
return regular_type_def{" System.IntPtr", complex.outer.base_qualifier, {}};
}
}
,{"inlist", nullptr, nullptr, [&]
{
return regular_type_def{" System.IntPtr", complex.outer.base_qualifier, {}};
}
}
,{"hash", nullptr, nullptr, [&]
{
return regular_type_def{" System.IntPtr", complex.outer.base_qualifier, {}};
@ -247,14 +224,8 @@ struct marshall_type_visitor_generate
auto default_match = [&] (attributes::complex_type_def const& complex)
{
regular_type_def no_pointer_regular = complex.outer;
// std::vector<attributes::pointer_indirection> pointers;
// pointers.swap(no_pointer_regular.pointers);
// if(is_out)
// pointers.push_back({{attributes::qualifier_info::is_none, {}}, true});
return visitor_type{sink, context, c_type, false}(no_pointer_regular)
&& as_generator("<" << (type % ", ") << ">").generate(sink, complex.subtypes, *context)
;
// && detail::generate_pointers(sink, pointers, *context, false);
&& as_generator("<" << (type % ", ") << ">").generate(sink, complex.subtypes, *context);
};
if(eina::optional<bool> b = call_match
@ -279,12 +250,9 @@ struct marshall_type_visitor_generate
return *b;
}
//return default_match(complex);
return visitor_generate<OutputIterator, Context>{sink, context, c_type, is_out, is_return, is_ptr}(complex);
// return as_generator(" System.IntPtr").generate(sink, attributes::unused, *context);
}
};
} }
#endif

View File

@ -364,13 +364,27 @@ inline std::string klass_inherit_name(T const& klass)
template<typename T>
inline std::string klass_native_inherit_name(T const& klass)
{
return klass_concrete_name(klass) + "NativeInherit";
switch(klass.type)
{
case attributes::class_type::abstract_:
case attributes::class_type::regular:
return klass_concrete_name(klass) + "NativeInherit";
default:
return klass_interface_name(klass) + "NativeInherit";
}
}
template<typename T>
inline std::string klass_full_native_inherit_name(T const& klass)
{
return klass_full_concrete_name(klass) + "NativeInherit";
switch(klass.type)
{
case attributes::class_type::abstract_:
case attributes::class_type::regular:
return klass_full_concrete_name(klass) + "NativeInherit";
default:
return klass_full_interface_name(klass) + "NativeInherit";
}
}
template<typename T>

View File

@ -300,18 +300,10 @@ inline bool param_should_use_out_var(attributes::parameter_def const& param, boo
|| param_is_acceptable(param, "Eina_Array *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Array *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Array *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Inarray *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Inarray *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inarray *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inarray *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_List *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_List *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_List *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_List *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Inlist *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Inlist *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inlist *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inlist *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Accessor *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Accessor *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Accessor *", !WANT_OWN, WANT_OUT)
@ -352,22 +344,14 @@ inline bool param_should_use_in_var(attributes::parameter_def const& param, bool
|| param_is_acceptable(param, "Eina_Array *", WANT_OWN, !WANT_OUT)
|| param_is_acceptable(param, "const Eina_Array *", !WANT_OWN, !WANT_OUT)
|| param_is_acceptable(param, "const Eina_Array *", WANT_OWN, !WANT_OUT)
|| param_is_acceptable(param, "Eina_Inarray *", !WANT_OWN, !WANT_OUT)
|| param_is_acceptable(param, "Eina_Inarray *", WANT_OWN, !WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inarray *", !WANT_OWN, !WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inarray *", WANT_OWN, !WANT_OUT)
|| param_is_acceptable(param, "Eina_List *", !WANT_OWN, !WANT_OUT)
|| param_is_acceptable(param, "Eina_List *", WANT_OWN, !WANT_OUT)
|| param_is_acceptable(param, "const Eina_List *", !WANT_OWN, !WANT_OUT)
|| param_is_acceptable(param, "const Eina_List *", WANT_OWN, !WANT_OUT)
|| param_is_acceptable(param, "Eina_Inlist *", !WANT_OWN, !WANT_OUT)
|| param_is_acceptable(param, "Eina_Inlist *", WANT_OWN, !WANT_OUT)
|| param_is_acceptable(param, "Eina_Accessor *", !WANT_OWN, !WANT_OUT)
|| param_is_acceptable(param, "Eina_Accessor *", WANT_OWN, !WANT_OUT)
|| param_is_acceptable(param, "const Eina_Accessor *", !WANT_OWN, !WANT_OUT)
|| param_is_acceptable(param, "const Eina_Accessor *", WANT_OWN, !WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inlist *", !WANT_OWN, !WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inlist *", WANT_OWN, !WANT_OUT)
|| param_is_acceptable(param, "Eina_Hash *", !WANT_OWN, !WANT_OUT)
|| param_is_acceptable(param, "Eina_Hash *", WANT_OWN, !WANT_OUT)
|| param_is_acceptable(param, "const Eina_Hash *", !WANT_OWN, !WANT_OUT)
@ -619,9 +603,7 @@ struct native_convert_in_variable_generator
).generate(sink, std::make_tuple(in_variable_name(param.param_name), param.type), context);
}
else if (param.type.c_type == "Eina_Array *" || param.type.c_type == "const Eina_Array *"
|| param.type.c_type == "Eina_Inarray *" || param.type.c_type == "const Eina_Inarray *"
|| param.type.c_type == "Eina_List *" || param.type.c_type == "const Eina_List *"
|| param.type.c_type == "Eina_Inlist *" || param.type.c_type == "const Eina_Inlist *"
|| param.type.c_type == "Eina_Iterator *" || param.type.c_type == "const Eina_Iterator *"
|| param.type.c_type == "Eina_Accessor *" || param.type.c_type == "const Eina_Accessor *"
)
@ -707,9 +689,7 @@ struct convert_in_variable_generator
return false;
}
else if (param.type.c_type == "Eina_Array *" || param.type.c_type == "const Eina_Array *"
|| param.type.c_type == "Eina_Inarray *" || param.type.c_type == "const Eina_Inarray *"
|| param.type.c_type == "Eina_List *" || param.type.c_type == "const Eina_List *"
|| param.type.c_type == "Eina_Inlist *" || param.type.c_type == "const Eina_Inlist *"
|| param.type.c_type == "Eina_Iterator *" || param.type.c_type == "const Eina_Iterator *"
|| param.type.c_type == "Eina_Accessor *" || param.type.c_type == "const Eina_Accessor *"
)
@ -778,18 +758,10 @@ struct convert_out_variable_generator
|| param_is_acceptable(param, "Eina_Array *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Array *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Array *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Inarray *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Inarray *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inarray *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inarray *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_List *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_List *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_List *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_List *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Inlist *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Inlist *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inlist *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inlist *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Accessor *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Accessor *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Accessor *", WANT_OWN, WANT_OUT)
@ -857,18 +829,10 @@ struct native_convert_out_variable_generator
|| param_is_acceptable(param, "Eina_Array *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Array *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Array *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Inarray *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Inarray *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inarray *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inarray *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_List *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_List *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_List *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_List *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Inlist *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Inlist *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inlist *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inlist *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Accessor *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Accessor *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Accessor *", WANT_OWN, WANT_OUT)
@ -969,18 +933,10 @@ struct convert_out_assign_generator
|| param_is_acceptable(param, "Eina_Array *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Array *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Array *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Inarray *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Inarray *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inarray *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inarray *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_List *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_List *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_List *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_List *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Inlist *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Inlist *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inlist *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inlist *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Accessor *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Accessor *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Accessor *", WANT_OWN, WANT_OUT)
@ -1100,9 +1056,7 @@ struct convert_return_generator
return false;
}
else if (ret_type.c_type == "Eina_Array *" || ret_type.c_type == "const Eina_Array *"
|| ret_type.c_type == "Eina_Inarray *" || ret_type.c_type == "const Eina_Inarray *"
|| ret_type.c_type == "Eina_List *" || ret_type.c_type == "const Eina_List *"
|| ret_type.c_type == "Eina_Inlist *" || ret_type.c_type == "const Eina_Inlist *"
|| ret_type.c_type == "Eina_Iterator *" || ret_type.c_type == "const Eina_Iterator *"
|| ret_type.c_type == "Eina_Accessor *" || ret_type.c_type == "const Eina_Accessor *"
)
@ -1158,7 +1112,7 @@ struct native_convert_out_assign_generator
return false;
}
return as_generator(
string << "= Efl.Eo.Globals.cached_stringshare_to_intptr(((" << name_helpers::klass_inherit_name(*klass) << ")wrapper).cached_stringshares, " << string << ");\n"
string << "= " << string << ";\n"
).generate(sink, std::make_tuple(escape_keyword(param.param_name), out_variable_name(param.param_name)), context);
}
else if (param_is_acceptable(param, "const char *", !WANT_OWN, WANT_OUT))
@ -1169,7 +1123,7 @@ struct native_convert_out_assign_generator
return false;
}
return as_generator(
string << "= Efl.Eo.Globals.cached_string_to_intptr(((" << name_helpers::klass_inherit_name(*klass) << ")wrapper).cached_strings, " << string << ");\n"
string << " = " << string << ";\n"
).generate(sink, std::make_tuple(escape_keyword(param.param_name), out_variable_name(param.param_name)), context);
}
else if (param_is_acceptable(param, "Eina_Binbuf *", WANT_OWN, WANT_OUT)
@ -1219,18 +1173,10 @@ struct native_convert_out_assign_generator
|| param_is_acceptable(param, "Eina_Array *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Array *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Array *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Inarray *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Inarray *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inarray *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inarray *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_List *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_List *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_List *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_List *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Inlist *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Inlist *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inlist *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Inlist *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Iterator *", WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "Eina_Iterator *", !WANT_OWN, WANT_OUT)
|| param_is_acceptable(param, "const Eina_Iterator *", WANT_OWN, WANT_OUT)
@ -1307,7 +1253,7 @@ struct native_convert_return_generator
return false;
}
return as_generator(
"return Efl.Eo.Globals.cached_string_to_intptr(((" << name_helpers::klass_inherit_name(*klass) << ")wrapper).cached_strings, _ret_var);\n"
"return _ret_var;\n"
).generate(sink, attributes::unused, context);
}
else
@ -1325,7 +1271,7 @@ struct native_convert_return_generator
return false;
}
return as_generator(
"return Efl.Eo.Globals.cached_stringshare_to_intptr(((" << name_helpers::klass_inherit_name(*klass) << ")wrapper).cached_stringshares, _ret_var);\n"
"return _ret_var;\n"
).generate(sink, attributes::unused, context);
}
else
@ -1362,9 +1308,7 @@ struct native_convert_return_generator
.generate(sink, attributes::unused, context);
}
else if (ret_type.c_type == "Eina_Array *" || ret_type.c_type == "const Eina_Array *"
|| ret_type.c_type == "Eina_Inarray *" || ret_type.c_type == "const Eina_Inarray *"
|| ret_type.c_type == "Eina_List *" || ret_type.c_type == "const Eina_List *"
|| ret_type.c_type == "Eina_Inlist *" || ret_type.c_type == "const Eina_Inlist *"
|| ret_type.c_type == "Eina_Iterator *" || ret_type.c_type == "const Eina_Iterator *"
|| ret_type.c_type == "Eina_Accessor *" || ret_type.c_type == "const Eina_Accessor *"
)

View File

@ -24,7 +24,7 @@ struct part_definition_generator
<< scope_tab << "{\n"
<< scope_tab << scope_tab << "get\n"
<< scope_tab << scope_tab << "{\n"
<< scope_tab << scope_tab << scope_tab << "Efl.Object obj = efl_part_get(NativeHandle, \"" << part.name << "\");\n"
<< scope_tab << scope_tab << scope_tab << "Efl.Object obj = Efl.PartNativeInherit.efl_part_get_ptr.Value.Delegate(NativeHandle, \"" << part.name << "\");\n"
<< scope_tab << scope_tab << scope_tab << "return " << part_klass_name << ".static_cast(obj);\n"
<< scope_tab << scope_tab << "}\n"
<< scope_tab << "}\n"

View File

@ -131,6 +131,22 @@ struct struct_internal_definition_generator
.generate(sink, nullptr, context))
return false;
}
else if (regular && !(regular->base_qualifier & efl::eolian::grammar::attributes::qualifier_info::is_ref)
&& regular->base_type == "bool")
{
if (!as_generator("///<summary>Internal wrapper for field " << field_name << "</summary>\n"
"public System.Byte " << field_name << ";\n")
.generate(sink, nullptr, context))
return false;
}
else if (regular && !(regular->base_qualifier & efl::eolian::grammar::attributes::qualifier_info::is_ref)
&& regular->base_type == "char")
{
if (!as_generator("///<summary>Internal wrapper for field " << field_name << "</summary>\n"
"public System.Byte " << field_name << ";\n")
.generate(sink, nullptr, context))
return false;
}
else if (!as_generator(scope_tab << eolian_mono::marshall_annotation(false) << "\n"
<< scope_tab << "public " << eolian_mono::marshall_type(false) << " " << string << ";\n")
.generate(sink, std::make_tuple(field.type, field.type, field_name), context))
@ -192,9 +208,7 @@ struct to_internal_field_convert_generator
return false;
}
else if ((complex && (complex->outer.base_type == "array"
|| complex->outer.base_type == "inarray"
|| complex->outer.base_type == "list"
|| complex->outer.base_type == "inlist"
|| complex->outer.base_type == "iterator"
|| complex->outer.base_type == "hash"))
|| field.type.c_type == "Eina_Binbuf *" || field.type.c_type == "const Eina_Binbuf *")
@ -257,6 +271,20 @@ struct to_internal_field_convert_generator
).generate(sink, std::make_tuple(field_name, field_name), context))
return false;
}
else if (!field.type.is_ptr && regular && regular->base_type == "bool")
{
if (!as_generator(
scope_tab << scope_tab << "_internal_struct." << string << " = _external_struct." << string << " ? (byte)1 : (byte)0;\n")
.generate(sink, std::make_tuple(field_name, field_name), context))
return false;
}
else if (!field.type.is_ptr && regular && regular->base_type == "char")
{
if (!as_generator(
scope_tab << scope_tab << "_internal_struct." << string << " = (byte)_external_struct." << string << ";\n")
.generate(sink, std::make_tuple(field_name, field_name), context))
return false;
}
else // primitives and enums
{
if (!as_generator(
@ -299,9 +327,7 @@ struct to_external_field_convert_generator
return false;
}
else if (complex && (complex->outer.base_type == "array"
|| complex->outer.base_type == "inarray"
|| complex->outer.base_type == "list"
|| complex->outer.base_type == "inlist"
|| complex->outer.base_type == "iterator"))
{
// Always assumes pointer
@ -362,6 +388,20 @@ struct to_external_field_convert_generator
).generate(sink, std::make_tuple(field_name, field_name), context))
return false;
}
else if (!field.type.is_ptr && regular && regular->base_type == "bool")
{
if (!as_generator(
scope_tab << scope_tab << "_external_struct." << string << " = _internal_struct." << string << " != 0;\n"
).generate(sink, std::make_tuple(field_name, field_name), context))
return false;
}
else if (!field.type.is_ptr && regular && regular->base_type == "char")
{
if (!as_generator(
scope_tab << scope_tab << "_external_struct." << string << " = (char)_internal_struct." << string << ";\n"
).generate(sink, std::make_tuple(field_name, field_name), context))
return false;
}
else // primitives and enums
{
if (!as_generator(

View File

@ -309,6 +309,9 @@ struct visitor_generate
}
bool operator()(attributes::klass_name klass) const
{
// Efl.Class is manually handled in a custom marshall to be represented by a System.Type.
if (name_helpers::klass_full_concrete_name(klass) == "Efl.Class")
return as_generator(lit("Type")).generate(sink, attributes::unused, *context);
if(klass.type == attributes::class_type::regular || klass.type == attributes::class_type::abstract_)
return as_generator(string).generate(sink, name_helpers::klass_full_concrete_name(klass), *context);
else
@ -333,24 +336,12 @@ struct visitor_generate
c.outer.base_type = "Eina.List";
return c;
}}
, {"inlist", nullptr, nullptr, [&]
{
complex_type_def c = complex;
c.outer.base_type = "Eina.Inlist";
return c;
}}
, {"array", nullptr, nullptr, [&]
{
complex_type_def c = complex;
c.outer.base_type = "Eina.Array";
return c;
}}
, {"inarray", nullptr, nullptr, [&]
{
complex_type_def c = complex;
c.outer.base_type = "Eina.Inarray";
return c;
}}
, {"hash", nullptr, nullptr
, [&]
{

View File

@ -70,6 +70,14 @@ namespace eolian_mono { namespace utils {
name.erase(std::remove(name.begin(), name.end(), target), name.end());
return name;
}
inline bool ends_with(std::string const& source, std::string suffix)
{
if (source.size() > suffix.size())
return (0 == source.compare(source.size() - suffix.size(), suffix.size(), suffix));
else
return false;
}
} }
#endif

View File

@ -0,0 +1,99 @@
#ifndef EOLIAN_MONO_VARIABLE_DEFINITION_HH
#define EOLIAN_MONO_VARIABLE_DEFINITION_HH
#include <Eina.hh>
#include "grammar/generator.hpp"
#include "grammar/klass_def.hpp"
#include "grammar/indentation.hpp"
#include "grammar/list.hpp"
#include "grammar/alternative.hpp"
#include "grammar/attribute_reorder.hpp"
#include "logging.hh"
#include "type.hh"
#include "name_helpers.hh"
#include "helpers.hh"
#include "function_helpers.hh"
#include "marshall_type.hh"
#include "parameter.hh"
#include "documentation.hh"
#include "using_decl.hh"
#include "generation_contexts.hh"
#include "blacklist.hh"
namespace eolian_mono {
struct constant_definition_generator
{
template<typename OutputIterator, typename Context>
bool generate(OutputIterator sink, attributes::variable_def constant, Context context) const
{
// Open partial class
if (!name_helpers::open_namespaces(sink, constant.namespaces, context))
return false;
if (!as_generator("public partial class Constants {\n").generate(sink, attributes::unused, context))
return false;
std::string literal;
if (constant.expression_value.type == EOLIAN_EXPR_NULL)
literal = "null";
else if (constant.expression_value.type == EOLIAN_EXPR_BOOL)
literal = (constant.expression_value.value.b ? "true" : "false");
else
{
auto lit = ::eolian_expression_value_to_literal(&constant.expression_value);
if (!lit)
return false;
literal = lit;
::eina_stringshare_del(lit);
// Cleanup suffix. Roslyn does not accept ULL/LL as it has only longs.
if (utils::ends_with(literal, "LL") || utils::ends_with(literal, "ll"))
literal = literal.substr(0, literal.size() -1);
}
// declare variable
if (!as_generator(scope_tab(1)
<< "public static readonly " << type
<< " " << utils::remove_all(constant.name, '_')
<< " = " << literal << ";\n")
.generate(sink, constant.base_type, context))
return false;
// FIXME missing documentation generator
// Close partial class
if (!as_generator("}\n").generate(sink, attributes::unused, context))
return false;
if (!name_helpers::close_namespaces(sink, constant.namespaces, context))
return false;
return true;
}
} const constant_definition;
}
namespace efl { namespace eolian { namespace grammar {
template <>
struct is_eager_generator< ::eolian_mono::constant_definition_generator> : std::true_type {};
template <>
struct is_generator< ::eolian_mono::constant_definition_generator> : std::true_type {};
namespace type_traits {
template <>
struct attributes_needed< ::eolian_mono::constant_definition_generator> : std::integral_constant<int, 1> {};
}
} } }
#endif

View File

@ -33,6 +33,7 @@
#include <eolian/mono/marshall_annotation.hh>
#include <eolian/mono/function_pointer.hh>
#include <eolian/mono/alias_definition.hh>
#include <eolian/mono/variable_definition.hh>
namespace eolian_mono {
@ -168,6 +169,20 @@ run(options_type const& opts)
}
}
// Constants
{
auto var_cxt = context_add_tag(class_context{class_context::variables}, context);
for (efl::eina::iterator<const Eolian_Variable> var_iterator( ::eolian_state_constants_by_file_get(opts.state, basename_input.c_str()))
, var_last; var_iterator != var_last; ++var_iterator)
{
efl::eolian::grammar::attributes::variable_def var(&*var_iterator, opts.unit);
if (!eolian_mono::constant_definition.generate(iterator, var, var_cxt))
{
throw std::runtime_error("Failed to generate enum");
}
}
}
if (klass)
{
efl::eolian::grammar::attributes::klass_def klass_def(klass, opts.unit);
@ -294,7 +309,7 @@ _assert_not_dup(std::string option, std::string value)
static eolian_mono::options_type
opts_get(int argc, char **argv)
{
eolian_mono::options_type opts;
eolian_mono::options_type opts{};
const struct option long_options[] =
{

View File

@ -6,6 +6,7 @@
#include <utility>
#include <type_traits>
#include <tuple>
#include <iosfwd>
#include <eina_aligned_union.hh>
@ -149,6 +150,17 @@ struct destroy_visitor
}
};
struct ostream_visitor
{
std::ostream* s;
typedef std::ostream& result_type;
template <typename T>
std::ostream& operator()(T const& other) const
{
return *s << other;
}
};
template <typename T>
struct get_visitor
{
@ -295,6 +307,10 @@ private:
&& (rhs.type == -1
|| rhs.visit(compare_equal_visitor{&lhs.buffer}));
}
friend std::ostream& operator<<(std::ostream& s, variant<Args...> const& rhs)
{
return rhs.visit(ostream_visitor{&s});
}
int type;
/**

View File

@ -153,8 +153,6 @@ ffi.cdef [[
EOLIAN_TYPE_BUILTIN_ITERATOR,
EOLIAN_TYPE_BUILTIN_HASH,
EOLIAN_TYPE_BUILTIN_LIST,
EOLIAN_TYPE_BUILTIN_INARRAY,
EOLIAN_TYPE_BUILTIN_INLIST,
EOLIAN_TYPE_BUILTIN_ANY_VALUE,
EOLIAN_TYPE_BUILTIN_ANY_VALUE_PTR,
@ -838,19 +836,17 @@ M.type_builtin_type = {
ITERATOR = 37,
HASH = 38,
LIST = 39,
INARRAY = 40,
INLIST = 41,
ANY_VALUE = 42,
ANY_VALUE_PTR = 43,
ANY_VALUE = 40,
ANY_VALUE_PTR = 41,
MSTRING = 44,
STRING = 45,
STRINGSHARE = 46,
STRBUF = 47.
MSTRING = 42,
STRING = 43,
STRINGSHARE = 44,
STRBUF = 45,
VOID_PTR = 48,
FREE_CB = 49
VOID_PTR = 46,
FREE_CB = 47
}
M.typedecl_type = {

View File

@ -1,38 +0,0 @@
#pragma warning disable 1591
using System;
using System.Runtime.InteropServices;
using System.Threading;
public class EcoreEvas
{
[DllImport(efl.Libs.EcoreEvas)] static extern void ecore_evas_init();
// [DllImport(efl.Libs.EcoreEvas)] static extern IntPtr ecore_evas_new([MarshalAs(UnmanagedType.LPStr)] String engine_name, int x, int y, int w, int h
// , [MarshalAs(UnmanagedType.LPStr)] String extra_options);
[DllImport(efl.Libs.EcoreEvas)] static extern IntPtr ecore_evas_new(IntPtr engine_name, int x, int y, int w, int h
, IntPtr extra_options);
[DllImport(efl.Libs.EcoreEvas)] static extern IntPtr ecore_evas_get(IntPtr ecore_evas);
[DllImport(efl.Libs.EcoreEvas)] static extern IntPtr ecore_evas_show(IntPtr ecore_evas);
IntPtr handle;
public EcoreEvas()
{
#if WIN32 // Not a native define, we define it in our build system
// Ecore_Win32 uses OleInitialize, which requires single thread apartments
if (Thread.CurrentThread.GetApartmentState() != ApartmentState.STA)
throw new InvalidOperationException("UI Applications require STAThreadAttribute in Main()");
#endif
ecore_evas_init();
handle = ecore_evas_new(IntPtr.Zero, 0, 0, 640, 480, IntPtr.Zero);
if(handle == IntPtr.Zero)
Eina.Log.Error("Couldn't create a ecore evas");
ecore_evas_show(handle);
}
public Efl.Canvas.Object canvas
{
get { return new Efl.Canvas.Object(ecore_evas_get(handle)); }
}
}

View File

@ -1 +0,0 @@
mono_files += files('ecore_evas.cs')

View File

@ -9,15 +9,31 @@ using static Efl.UnsafeNativeMethods;
namespace Efl {
static class UnsafeNativeMethods {
private delegate void init_func_delegate();
[DllImport(efl.Libs.Ecore)] public static extern void ecore_init();
[DllImport(efl.Libs.Ecore)] public static extern void ecore_shutdown();
[DllImport(efl.Libs.Evas)] public static extern void evas_init();
// dotnet loads libraries from DllImport with RTLD_LOCAL. Due to the
// way evas modules are built with meson, currently they do not link directly
// with libevas, leading to symbol not found errors when trying to open them.
// The call to FunctionWrapper makes sure evas is loaded with RTLD_GLOBAL,
// allowing the symbols to remain visible for the modules until the build
// is sorted out.
private static Efl.Eo.FunctionWrapper<init_func_delegate> _evas_init;
[DllImport(efl.Libs.Evas)] public static extern void evas_shutdown();
[DllImport(efl.Libs.Elementary)] public static extern int elm_init(int argc, IntPtr argv);
[DllImport(efl.Libs.Elementary)] public static extern void elm_policy_set(int policy, int policy_detail);
[DllImport(efl.Libs.Elementary)] public static extern void elm_shutdown();
[DllImport(efl.Libs.Elementary)] public static extern void elm_run();
[DllImport(efl.Libs.Elementary)] public static extern void elm_exit();
static UnsafeNativeMethods() {
_evas_init = new Efl.Eo.FunctionWrapper<init_func_delegate>("evas", "evas_init");
}
public static void evas_init()
{
_evas_init.Value.Delegate();
}
}
public enum Components {

Some files were not shown because too many files have changed in this diff Show More