diff --git a/src/lib/elementary/Efl_Ui.h b/src/lib/elementary/Efl_Ui.h index 9683ee74d0..35747e257e 100644 --- a/src/lib/elementary/Efl_Ui.h +++ b/src/lib/elementary/Efl_Ui.h @@ -1,333 +1,334 @@ #ifndef _EFL_UI_H #define _EFL_UI_H #include #include /* Standard headers for standard system calls etc. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef ELM_DIRENT_H #include #endif #ifndef _WIN32 # include #endif #include #ifdef ELM_UNIX #include #ifdef ELM_LIBINTL_H #include #endif #include #include #include #endif #ifdef ELM_ALLOCA_H #include #endif #ifdef ELM_WIN32 #include #ifndef alloca #define alloca _alloca #endif #endif #include #include #include #ifdef _WIN32 # define WIN32_LEAN_AND_MEAN # include # undef WIN32_LEAN_AND_MEAN #elif defined (__FreeBSD__) || defined (__OpenBSD__) # include # include #elif defined (__ANDROID__) # include #elif defined (__sun) # include #else # include # if !defined (EXOTIC_NO_SIGNAL) # include # endif #endif #include #define __EFL_UI_IS_REQUIRED #include #include #include #ifndef EFL_NOLEGACY_API_SUPPORT # include #endif #include #include #include #include #include #include #include #ifdef ELM_ELOCATION #include #endif #ifdef ELM_EMAP #include #endif #ifdef EAPI # undef EAPI #endif #ifdef EWAPI # undef EWAPI #endif #ifdef _WIN32 # ifdef EFL_BUILD # ifdef DLL_EXPORT # define EAPI __declspec(dllexport) # else # define EAPI # endif # else # define EAPI __declspec(dllimport) # endif # define EAPI_WEAK #else # ifdef __GNUC__ # if __GNUC__ >= 4 # define EAPI __attribute__ ((visibility("default"))) # define EAPI_WEAK __attribute__ ((weak)) # else # define EAPI # define EAPI_WEAK # endif # else # define EAPI # define EAPI_WEAK # endif #endif #define EWAPI EAPI EAPI_WEAK #ifdef __cplusplus extern "C" { #endif extern EAPI double _efl_startup_time; // EO types. Defined for legacy-only builds as legacy uses typedef of EO types. #include "efl_ui.eot.h" #include "efl_ui_selection_types.eot.h" //define focus manager earlier since focus object and manager is circular typedef Eo Efl_Ui_Focus_Manager; #define _EFL_UI_FOCUS_MANAGER_EO_CLASS_TYPE # include # include # ifdef EFL_BETA_API_SUPPORT EAPI void efl_ui_focus_relation_free(Efl_Ui_Focus_Relations *rel); # endif # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include +# include # include # include # include # include # include # include # include # include # include /* FIXME: what the actual fuck. */ # include # include # include # include /* FIXME: Efl.Ui.Text must not use elm_general.h */ // no. //# warning Efl.Ui.Text is not available yet without Elementary.h # if 0 # include # include # include # include # endif # include # include # include # include # include # include "efl_ui_caching_factory.eo.h" # include "efl_ui_widget_factory.eo.h" /* FIXME: Multibuttonentry must not use elm_widget_item */ # include # include # include # include # include # include # include # include # include #define _EFL_UI_SPOTLIGHT_MANAGEREO_EO_CLASS_TYPE typedef Eo Efl_Ui_Spotlight_Manager; #define _EFL_UI_SPOTLIGHT_INDICATOR_EO_CLASS_TYPE typedef Eo Efl_Ui_Spotlight_Indicator; # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include # include /** * Initialize Elementary * * @param[in] argc System's argument count value * @param[in] argv System's pointer to array of argument strings * @return The init counter value. * * This function initializes Elementary and increments a counter of * the number of calls to it. It returns the new counter's value. * * @warning This call is exported only for use by the @c ELM_MAIN() * macro. There is no need to use this if you use this macro (which * is highly advisable). An elm_main() should contain the entry * point code for your application, having the same prototype as * elm_init(), and @b not being static (putting the @c EAPI_MAIN symbol * in front of its type declaration is advisable). The @c * ELM_MAIN() call should be placed just after it. * * Example: * @dontinclude bg_example_01.c * @skip static void * @until ELM_MAIN * * See the full @ref bg_example_01_c "example". * * @see elm_shutdown(). * @ingroup Elm_General */ EAPI int elm_init(int argc, char **argv); /** * Shut down Elementary * * @return The init counter value. * * This should be called at the end of your application, just * before it ceases to do any more processing. This will clean up * any permanent resources your application may have allocated via * Elementary that would otherwise persist. * * @see elm_init() for an example * * @note elm_shutdown() will iterate main loop until all ecore_evas are freed. * There is a possibility to call your ecore callbacks(timer, animator, event, * job, and etc.) in elm_shutdown() * * @ingroup Elm_General */ EAPI int elm_shutdown(void); #ifdef __cplusplus } #endif #undef EAPI #define EAPI #endif // We are including efl_general.h again, just in case Efl_Core.h was already included before this // and the __EFL_*_IS_REQUIRED changed since then. #include diff --git a/src/lib/elementary/efl_ui_default_item.c b/src/lib/elementary/efl_ui_default_item.c new file mode 100644 index 0000000000..4911a7a32d --- /dev/null +++ b/src/lib/elementary/efl_ui_default_item.c @@ -0,0 +1,43 @@ +#ifdef HAVE_CONFIG_H +# include "elementary_config.h" +#endif + +#define EFL_UI_LIST_DEFAULT_ITEM_PROTECTED +#define EFL_PART_PROTECTED + +#include + +#include "elm_priv.h" +#include "elm_part_helper.h" + +#define MY_CLASS EFL_UI_DEFAULT_ITEM_CLASS +#define MY_CLASS_PFX efl_ui_default_item + +#define MY_CLASS_NAME "Efl.Ui.Default_Item" + +ELM_PART_TEXT_DEFAULT_GET(efl_ui_default_item, "efl.text") +ELM_PART_TEXT_DEFAULT_IMPLEMENT(efl_ui_default_item, void) +ELM_PART_MARKUP_DEFAULT_IMPLEMENT(efl_ui_default_item, void) +ELM_PART_CONTENT_DEFAULT_GET(efl_ui_default_item, "efl.icon") +ELM_PART_CONTENT_DEFAULT_IMPLEMENT(efl_ui_default_item, void) + +EOLIAN static Efl_Object * +_efl_ui_default_item_efl_part_part_get(const Eo *obj, void *pd EINA_UNUSED, const char *part) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); + if (eina_streq(part, "text")) + return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_TEXT_CLASS, obj, "efl.text"); + else if (eina_streq(part, "icon")) + return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_ICON_CLASS, obj, "efl.icon"); + else if (eina_streq(part, "extra")) + return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_EXTRA_CLASS, obj, "efl.extra"); + + return efl_part_get(efl_super(obj, MY_CLASS), part); +} + + +#define EFL_UI_DEFAULT_ITEM_EXTRA_OPS \ + ELM_PART_TEXT_DEFAULT_OPS(efl_ui_default_item), \ + ELM_PART_CONTENT_DEFAULT_OPS(efl_ui_default_item) + +#include "efl_ui_default_item.eo.c" diff --git a/src/lib/elementary/efl_ui_default_item.eo b/src/lib/elementary/efl_ui_default_item.eo new file mode 100644 index 0000000000..9604f9b2d5 --- /dev/null +++ b/src/lib/elementary/efl_ui_default_item.eo @@ -0,0 +1,30 @@ +abstract @beta Efl.Ui.Default_Item extends Efl.Ui.Item implements + Efl.Text, + Efl.Text_Markup, + Efl.Ui.L10n, + Efl.Content +{ + [[Default Item Class. + + This class defines the standard parts of casual efl items. + The details about placement or item layout preferences are left to the extending classes. + Every text property related changes are mirrored to the text part. Content changes are mirrored to the content part. + + ]] + data: null; + parts { + text: Efl.Ui.Item_Part_Text; [[The text part for default item. + text part is the caption of the item.]] + icon: Efl.Ui.Item_Part_Icon; [[The icon content part for default item. + icon part is the main content of item.]] + extra : Efl.Ui.Item_Part_Extra; [[The extra content part for default item.]] + } + implements { + Efl.Text.text { get; set; } + Efl.Text_Markup.markup { get; set; } + Efl.Ui.L10n.l10n_text { get; set; } + Efl.Content.content { get; set; } + Efl.Content.content_unset; + Efl.Part.part_get; + } +} diff --git a/src/lib/elementary/efl_ui_grid_default_item.c b/src/lib/elementary/efl_ui_grid_default_item.c index 65d2c24cf1..4d28cbc7da 100644 --- a/src/lib/elementary/efl_ui_grid_default_item.c +++ b/src/lib/elementary/efl_ui_grid_default_item.c @@ -1,65 +1,31 @@ #ifdef HAVE_CONFIG_H # include "elementary_config.h" #endif #define EFL_UI_GRID_DEFAULT_ITEM_PROTECTED #define EFL_PART_PROTECTED #include #include "elm_priv.h" #include "elm_part_helper.h" #define MY_CLASS EFL_UI_GRID_DEFAULT_ITEM_CLASS #define MY_CLASS_PFX efl_ui_grid_default_item #define MY_CLASS_NAME "Efl.Ui.Grid_Default_Item" EOLIAN static Efl_Object * -_efl_ui_grid_default_item_efl_object_finalize(Eo *obj, void *pd EINA_UNUSED) +_efl_ui_grid_default_item_efl_object_constructor(Eo *obj, void *pd EINA_UNUSED) { Eo *eo; - eo = efl_finalize(efl_super(obj, MY_CLASS)); - ELM_WIDGET_DATA_GET_OR_RETURN(eo, wd, eo); - Eina_Error theme_apply = efl_ui_layout_theme_set(obj, "grid_item", NULL, NULL); - if (theme_apply == EFL_UI_THEME_APPLY_ERROR_GENERIC) - CRI("Default Item(%p) failed to set theme [efl/grid_item]!", eo); - return eo; -} - -EOLIAN static void -_efl_ui_grid_default_item_efl_object_destructor(Eo *obj, void *pd EINA_UNUSED) -{ - efl_destructor(efl_super(obj, MY_CLASS)); -} - -/* Efl.Part */ + eo = efl_constructor(efl_super(obj, MY_CLASS)); -ELM_PART_TEXT_DEFAULT_GET(efl_ui_grid_default_item, "efl.text") -ELM_PART_TEXT_DEFAULT_IMPLEMENT(efl_ui_grid_default_item, void) -ELM_PART_MARKUP_DEFAULT_IMPLEMENT(efl_ui_grid_default_item, void) -ELM_PART_CONTENT_DEFAULT_GET(efl_ui_grid_default_item, "efl.icon") -ELM_PART_CONTENT_DEFAULT_IMPLEMENT(efl_ui_grid_default_item, void) + if (!elm_widget_theme_klass_get(obj)) + elm_widget_theme_klass_set(obj, "grid_item"); -EOLIAN static Efl_Object * -_efl_ui_grid_default_item_efl_part_part_get(const Eo *obj, void *wd EINA_UNUSED, const char *part) -{ - EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); - if (eina_streq(part, "text")) - return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_TEXT_CLASS, obj, "efl.text"); - else if (eina_streq(part, "icon")) - return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_ICON_CLASS, obj, "efl.icon"); - else if (eina_streq(part, "extra")) - return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_EXTRA_CLASS, obj, "efl.extra"); - - return efl_part_get(efl_super(obj, MY_CLASS), part); + return eo; } -/* Efl.Part end */ - -/* Internal EO APIs and hidden overrides */ -#define EFL_UI_GRID_DEFAULT_ITEM_EXTRA_OPS \ - ELM_PART_TEXT_DEFAULT_OPS(efl_ui_grid_default_item), \ - ELM_PART_CONTENT_DEFAULT_OPS(efl_ui_grid_default_item) #include "efl_ui_grid_default_item.eo.c" diff --git a/src/lib/elementary/efl_ui_grid_default_item.eo b/src/lib/elementary/efl_ui_grid_default_item.eo index 90461b0b6e..d5c588eae4 100644 --- a/src/lib/elementary/efl_ui_grid_default_item.eo +++ b/src/lib/elementary/efl_ui_grid_default_item.eo @@ -1,33 +1,9 @@ -class @beta Efl.Ui.Grid_Default_Item extends Efl.Ui.Item implements - Efl.Text, - Efl.Text_Markup, - Efl.Ui.L10n, - Efl.Content +class @beta Efl.Ui.Grid_Default_Item extends Efl.Ui.Default_Item { - [[Grid Default Item class. - This class need to be sub object of list widget. - Text and contents can be set using @Efl.Text, - @Efl.Content or @Efl.Part.]] + [[Grid Default Item class.]] data: null; - parts { - text: Efl.Ui.Item_Part_Text; [[The text part for grid default item. - text part is the caption of grid item.]] - icon: Efl.Ui.Item_Part_Icon; [[The icon content part for grid default item. - icon part is the main content of grid item.]] - end: Efl.Ui.Item_Part_Extra; [[The extra content part for grid default item. - extra part is the spare content of grid item. - you can swallow small badge widget such as check, radio.]] - } implements { - //Efl.Object - Efl.Object.finalize; - Efl.Object.destructor; - Efl.Text.text { get; set; } - Efl.Text_Markup.markup { get; set; } - Efl.Ui.L10n.l10n_text { get; set; } - Efl.Content.content { get; set; } - Efl.Content.content_unset; - Efl.Part.part_get; + Efl.Object.constructor; } } diff --git a/src/lib/elementary/efl_ui_list_default_item.c b/src/lib/elementary/efl_ui_list_default_item.c index d95f988ee7..ff2ce75d87 100644 --- a/src/lib/elementary/efl_ui_list_default_item.c +++ b/src/lib/elementary/efl_ui_list_default_item.c @@ -1,62 +1,30 @@ #ifdef HAVE_CONFIG_H # include "elementary_config.h" #endif #define EFL_UI_LIST_DEFAULT_ITEM_PROTECTED #define EFL_PART_PROTECTED #include #include "elm_priv.h" #include "elm_part_helper.h" #define MY_CLASS EFL_UI_LIST_DEFAULT_ITEM_CLASS #define MY_CLASS_PFX efl_ui_list_default_item #define MY_CLASS_NAME "Efl.Ui.List_Default_Item" EOLIAN static Efl_Object * -_efl_ui_list_default_item_efl_object_finalize(Eo *obj, void *pd EINA_UNUSED) +_efl_ui_list_default_item_efl_object_constructor(Eo *obj, void *pd EINA_UNUSED) { Eo *eo; - eo = efl_finalize(efl_super(obj, MY_CLASS)); - ELM_WIDGET_DATA_GET_OR_RETURN(eo, wd, eo); - Eina_Error theme_apply_ret = efl_ui_layout_theme_set(obj, "list_item", NULL, NULL); - if (theme_apply_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) - CRI("Default Item(%p) failed to set theme [efl/list_item]!", eo); - return eo; -} - -EOLIAN static void -_efl_ui_list_default_item_efl_object_destructor(Eo *obj, void *pd EINA_UNUSED) -{ - efl_destructor(efl_super(obj, MY_CLASS)); -} + eo = efl_constructor(efl_super(obj, MY_CLASS)); -ELM_PART_TEXT_DEFAULT_GET(efl_ui_list_default_item, "efl.text") -ELM_PART_TEXT_DEFAULT_IMPLEMENT(efl_ui_list_default_item, void) -ELM_PART_MARKUP_DEFAULT_IMPLEMENT(efl_ui_list_default_item, void) -ELM_PART_CONTENT_DEFAULT_GET(efl_ui_list_default_item, "efl.icon") -ELM_PART_CONTENT_DEFAULT_IMPLEMENT(efl_ui_list_default_item, void) + if (!elm_widget_theme_klass_get(obj)) + elm_widget_theme_klass_set(obj, "list_item"); -EOLIAN static Efl_Object * -_efl_ui_list_default_item_efl_part_part_get(const Eo *obj, void *wd EINA_UNUSED, const char *part) -{ - EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); - if (eina_streq(part, "text")) - return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_TEXT_CLASS, obj, "efl.text"); - else if (eina_streq(part, "icon")) - return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_ICON_CLASS, obj, "efl.icon"); - else if (eina_streq(part, "extra")) - return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_EXTRA_CLASS, obj, "efl.extra"); - - return efl_part_get(efl_super(obj, MY_CLASS), part); + return eo; } - -/* Internal EO APIs and hidden overrides */ -#define EFL_UI_LIST_DEFAULT_ITEM_EXTRA_OPS \ - ELM_PART_TEXT_DEFAULT_OPS(efl_ui_list_default_item), \ - ELM_PART_CONTENT_DEFAULT_OPS(efl_ui_list_default_item) - #include "efl_ui_list_default_item.eo.c" diff --git a/src/lib/elementary/efl_ui_list_default_item.eo b/src/lib/elementary/efl_ui_list_default_item.eo index 90cc024b97..3b0c768920 100644 --- a/src/lib/elementary/efl_ui_list_default_item.eo +++ b/src/lib/elementary/efl_ui_list_default_item.eo @@ -1,30 +1,9 @@ -class @beta Efl.Ui.List_Default_Item extends Efl.Ui.Item implements - Efl.Text, - Efl.Text_Markup, - Efl.Content +class @beta Efl.Ui.List_Default_Item extends Efl.Ui.Default_Item { - [[List Default Item class. - This class need to be sub object of list widget. - text and contents can be appliable by efl_text, - efl_content or efl_part APIs.]] + [[List Default Item class.]] data: null; - parts { - text: Efl.Ui.Item_Part_Text; [[The text part for list default item.]] - icon: Efl.Ui.Item_Part_Icon; [[The icon content part for list default item. - icon part is the left-side content of list item.]] - extra: Efl.Ui.Item_Part_Extra; [[The extra content part for list default item. - extra part is the right-side content of list item.]] - } implements { - //Efl.Object - Efl.Object.finalize; - Efl.Object.destructor; - Efl.Text.text { get; set; } - Efl.Text_Markup.markup { get; set; } - Efl.Ui.L10n.l10n_text { get; set; } - Efl.Content.content { get; set; } - Efl.Content.content_unset; - Efl.Part.part_get; + Efl.Object.constructor; } } diff --git a/src/lib/elementary/meson.build b/src/lib/elementary/meson.build index 4ab0c20333..a7c9fcae25 100644 --- a/src/lib/elementary/meson.build +++ b/src/lib/elementary/meson.build @@ -1,1039 +1,1041 @@ pub_legacy_eo_files = [ 'efl_ui_clock_legacy.eo', 'elm_ctxpopup_part.eo', 'elm_dayselector_part.eo', 'elm_entry_part.eo', 'elm_fileselector_entry_part.eo', 'elm_flip_part.eo', 'elm_hover_part.eo', 'elm_mapbuf_part.eo', 'elm_naviframe_part.eo', 'elm_notify_part.eo', 'elm_panel_part.eo', 'elm_player_part.eo', 'elm_popup_part.eo', 'elm_scroller_part.eo', 'elm_label_part.eo', 'elm_actionslider_part.eo', 'elm_bubble_part.eo', 'elm_fileselector_part.eo', ] pub_eo_file_target = [] foreach eo_file : pub_legacy_eo_files pub_eo_file_target += custom_target('eolian_gen_' + eo_file, input : eo_file, output : [eo_file + '.h'], depfile : eo_file + '.d', install : true, install_dir : dir_package_include, command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories, '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'), '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'), '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'), '-gchd', '@INPUT@']) endforeach pub_eo_files = [ 'efl_ui_widget.eo', 'efl_ui_bg.eo', 'efl_ui_button.eo', 'efl_ui_calendar.eo', 'efl_ui_calendar_item.eo', 'efl_ui_check.eo', 'efl_ui_flip.eo', 'efl_ui_frame.eo', 'efl_ui_image.eo', 'efl_ui_image_zoomable.eo', 'efl_ui_layout.eo', 'efl_ui_layout_base.eo', 'efl_ui_navigation_bar.eo', 'efl_ui_navigation_bar_part.eo', 'efl_ui_navigation_bar_part_back_button.eo', 'efl_ui_navigation_layout.eo', 'efl_ui_panes.eo', 'efl_ui_progressbar.eo', 'efl_ui_radio.eo', 'efl_ui_radio_group.eo', 'efl_ui_radio_box.eo', 'efl_ui_radio_group_impl.eo', 'efl_ui_slider.eo', 'efl_ui_slider_interval.eo', 'efl_ui_spin.eo', 'efl_ui_spin_button.eo', 'efl_ui_panel.eo', 'efl_ui_datepicker.eo', 'efl_ui_timepicker.eo', 'efl_ui_tags.eo', 'efl_ui_video.eo', 'efl_ui_win.eo', 'efl_ui_win_inlined.eo', 'efl_ui_win_socket.eo', 'efl_ui_box.eo', 'efl_ui_box_flow.eo', 'efl_ui_box_stack.eo', 'efl_ui_table.eo', 'efl_ui_table_static.eo', 'efl_text_interactive.eo', 'efl_ui_text.eo', 'efl_ui_popup.eo', 'efl_ui_popup_part_backwall.eo', 'efl_ui_alert_popup.eo', 'efl_ui_alert_popup_part.eo', 'efl_ui_scroll_alert_popup.eo', 'efl_ui_scroll_alert_popup_part.eo', 'efl_ui_text_alert_popup.eo', 'efl_ui_text_alert_popup_part.eo', 'efl_ui_anchor_popup.eo', 'efl_ui_text_editable.eo', 'efl_ui_text_async.eo', 'efl_ui_text_factory_images.eo', 'efl_ui_text_factory_emoticons.eo', 'efl_ui_text_factory_fallback.eo', 'efl_ui_textpath.eo', 'efl_ui_l10n.eo', 'efl_ui_clock.eo', 'efl_ui_image_factory.eo', 'efl_ui_focus_manager.eo', 'efl_ui_focus_manager_calc.eo', 'efl_ui_focus_manager_sub.eo', 'efl_ui_focus_manager_root_focus.eo', 'efl_ui_focus_object.eo', 'efl_ui_focus_layer.eo', 'efl_ui_focus_composition.eo', 'efl_ui_focus_util.eo', 'efl_ui_flip_part.eo', 'efl_ui_layout_factory.eo', 'efl_ui_layout_part.eo', 'efl_ui_layout_part_box.eo', 'efl_ui_layout_part_content.eo', 'efl_ui_layout_part_text.eo', 'efl_ui_layout_part_table.eo', 'efl_ui_layout_part_bg.eo', 'efl_ui_layout_part_legacy.eo', 'efl_ui_list_view.eo', 'efl_ui_list_view_model.eo', 'efl_ui_list_view_pan.eo', 'efl_ui_item_part_text.eo', 'efl_ui_item_part_icon.eo', 'efl_ui_item_part_extra.eo', 'efl_ui_item_part_content.eo', 'efl_ui_item.eo', + 'efl_ui_default_item.eo', 'efl_ui_list_default_item.eo', 'efl_ui_list_placeholder_item.eo', 'efl_ui_list.eo', 'efl_ui_grid_default_item.eo', 'efl_ui_grid.eo', 'efl_ui_panes_part.eo', 'efl_ui_progressbar_part.eo', 'efl_ui_textpath_part.eo', 'efl_ui_widget_part.eo', 'efl_ui_widget_part_bg.eo', 'efl_ui_widget_part_shadow.eo', 'efl_ui_win_part.eo', 'efl_ui_scroller.eo', 'efl_ui_scroll_manager.eo', 'efl_ui_pan.eo', 'efl_access_object.eo', 'efl_access_action.eo', 'efl_access_component.eo', 'efl_access_editable_text.eo', 'efl_access_selection.eo', 'efl_access_text.eo', 'efl_access_value.eo', 'efl_access_widget_action.eo', 'efl_access_window.eo', 'efl_ui_theme.eo', 'efl_config_global.eo', 'elm_code_widget.eo', 'efl_ui_selection.eo', 'efl_ui_dnd.eo', 'efl_ui_dnd_container.eo', 'efl_ui_focus_manager_window_root.eo', 'efl_ui_spotlight_container.eo', 'efl_ui_spotlight_manager.eo', 'efl_ui_spotlight_manager_scroll.eo', 'efl_ui_spotlight_manager_stack.eo', 'efl_ui_spotlight_indicator.eo', 'efl_ui_spotlight_indicator_icon.eo', 'efl_ui_spotlight_util.eo', 'efl_ui_tab_pager.eo', 'efl_ui_tab_bar.eo', 'efl_ui_tab_page.eo', 'efl_ui_tab_page_part_tab.eo', 'efl_ui_widget_focus_manager.eo', 'efl_ui_legacy.eo', 'efl_ui_button_legacy_part.eo', 'efl_ui_radio_legacy_part.eo', 'efl_ui_check_legacy_part.eo', 'efl_ui_progressbar_legacy_part.eo', 'elm_multibuttonentry_part.eo', 'elm_interface_scrollable.eo', 'efl_ui_image_zoomable_pan.eo', 'efl_ui_text_part.eo', 'efl_ui_caching_factory.eo', 'efl_ui_widget_factory.eo', 'efl_ui_property_bind_part.eo', 'efl_ui_relative_layout.eo', 'efl_ui_action_connector.eo', 'efl_ui_format.eo', 'efl_ui_collection.eo', 'efl_ui_position_manager_entity.eo', 'efl_ui_position_manager_list.eo', 'efl_ui_position_manager_grid.eo', 'efl_ui_selectable.eo', 'efl_ui_multi_selectable.eo', 'efl_ui_single_selectable.eo', ] foreach eo_file : pub_eo_files pub_eo_file_target += custom_target('eolian_gen_' + eo_file, input : eo_file, output : [eo_file + '.h'], depfile : eo_file + '.d', install : true, install_dir : dir_package_include, command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories, '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'), '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'), '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'), '-gchd', '@INPUT@']) endforeach pub_eo_types_files = [ 'elm_general.eot', 'efl_ui.eot', 'efl_ui_list_view_types.eot', 'efl_ui_selection_types.eot', 'efl_ui_dnd_types.eot' ] foreach eo_file : pub_eo_types_files pub_eo_file_target += custom_target('eolian_gen_' + eo_file, input : eo_file, output : [eo_file + '.h'], depfile : eo_file + '.d', install : true, install_dir : dir_package_include, command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories, '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'), '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'), '-ghd', '@INPUT@']) endforeach priv_eo_files = [ 'efl_ui_internal_text_interactive.eo', 'efl_ui_internal_text_scroller.eo', 'efl_ui_focus_composition_adapter.eo', 'efl_ui_focus_parent_provider.eo', 'efl_ui_focus_parent_provider_standard.eo', 'efl_ui_state_model.eo', 'efl_ui_selection_manager.eo', 'efl_datetime_manager.eo', 'efl_ui_list_view_precise_layouter.eo', 'efl_ui_list_view_relayout.eo', 'efl_ui_size_model.eo', 'efl_ui_homogeneous_model.eo', 'efl_ui_exact_model.eo', 'efl_ui_average_model.eo', 'efl_ui_spotlight_manager_plain.eo', 'efl_ui_collection_focus_manager.eo', ] priv_eo_file_target = [] foreach eo_file : priv_eo_files priv_eo_file_target += custom_target('eolian_gen_' + eo_file, input : eo_file, output : [eo_file + '.h'], depfile : eo_file + '.d', command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories, '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'), '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'), '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'), '-gchd', '@INPUT@']) endforeach eolian_include_directories += ['-I', meson.current_source_dir()] embed_script = find_program('config_embed') embed_config = custom_target('create_embedded_default_config', input: join_paths(meson.source_root(), 'data', 'elementary', 'config', 'standard', 'base.src.in'), output: 'elm_default_config.x', command: [embed_script, '@INPUT@', '@OUTPUT@'] ) elementary_headers_unstable = [ 'elm_gen_common.h', 'efl_access_object.h', 'efl_access_text.h', 'efl_access_widget_action.h', 'efl_access_window.h', 'elm_interface_fileselector.h', 'elm_interface_scrollable.h', 'elm_interfaces.h', 'elm_widget.h', 'elm_widget_actionslider.h', 'elm_widget_box.h', 'elm_widget_bubble.h', 'efl_ui_button_private.h', 'efl_ui_bg_private.h', 'elm_widget_calendar.h', 'efl_ui_calendar_private.h', 'efl_ui_check_private.h', 'elm_widget_clock.h', 'elm_widget_colorselector.h', 'elm_widget_conform.h', 'elm_widget_container.h', 'elm_widget_combobox.h', 'elm_widget_ctxpopup.h', 'elm_widget_dayselector.h', 'elm_widget_diskselector.h', 'elm_widget_entry.h', 'elm_widget_fileselector.h', 'elm_widget_fileselector_button.h', 'elm_widget_fileselector_entry.h', 'efl_ui_widget_flip.h', 'elm_widget_flipselector.h', 'efl_ui_widget_frame.h', 'elm_widget_gengrid.h', 'elm_widget_genlist.h', 'elm_widget_glview.h', 'elm_widget_grid.h', 'elm_widget_hover.h', 'elm_widget_hoversel.h', 'elm_widget_icon.h', 'efl_ui_widget_image.h', 'efl_ui_popup_private.h', 'efl_ui_alert_popup_private.h', 'efl_ui_scroll_alert_popup_private.h', 'efl_ui_text_alert_popup_private.h', 'efl_ui_anchor_popup_private.h', 'elm_widget_index.h', 'elm_widget_inwin.h', 'elm_widget_label.h', 'elm_widget_layout.h', 'elm_widget_list.h', 'elm_widget_map.h', 'elm_widget_mapbuf.h', 'elm_widget_menu.h', 'elm_widget_multibuttonentry.h', 'elm_widget_naviframe.h', 'efl_ui_navigation_bar_private.h', 'efl_ui_navigation_layout_private.h', 'elm_widget_notify.h', 'elm_widget_panel.h', 'efl_ui_panes_private.h', 'elm_widget_photo.h', 'efl_ui_image_zoomable_private.h', 'elm_widget_player.h', 'elm_widget_plug.h', 'elm_widget_popup.h', 'elm_widget_prefs.h', 'efl_ui_progressbar_private.h', 'efl_ui_radio_private.h', 'elm_widget_route.h', 'elm_widget_scroller.h', 'elm_widget_segment_control.h', 'elm_widget_separator.h', 'elm_widget_slider.h', 'efl_ui_slider_private.h', 'efl_ui_slider_interval_private.h', 'elm_widget_slideshow.h', 'elm_widget_spinner.h', 'efl_ui_spin_private.h', 'efl_ui_spin_button_private.h', 'efl_ui_panel_private.h', 'efl_ui_datepicker_private.h', 'efl_ui_timepicker_private.h', 'efl_ui_tags_private.h', 'elm_widget_table.h', 'elm_widget_thumb.h', 'elm_widget_toolbar.h', 'efl_ui_video_private.h', 'efl_ui_item_private.h', 'efl_ui_list_view_private.h', 'efl_ui_list_view_seg_array.h', 'elm_widget_web.h', 'efl_ui_clock.h', 'elm_code.h', 'elm_code_widget_legacy.h', 'elm_code_widget_selection.h', 'elm_code_diff_widget.h', 'elm_code_common.h', 'elm_code_line.h', 'elm_code_text.h', 'elm_code_indent.h', 'elm_code_file.h', 'elm_code_parse.h', 'elm_code_syntax.h', 'efl_ui_widget_scroller.h', 'efl_ui_widget_scroll_manager.h', 'efl_ui_widget_pan.h', 'Efl_Ui.h', 'efl_ui_tab_pager_private.h', 'efl_ui_tab_bar_private.h', 'efl_ui_tab_page_private.h', 'efl_ui_relative_layout_private.h' ] elementary_pub_headers = [ 'elc_ctxpopup.h', 'elc_ctxpopup_legacy.h', 'elc_combobox.h', 'elc_combobox_legacy.h', 'elc_fileselector.h', 'elc_fileselector_legacy.h', 'elc_fileselector_common.h', 'elc_fileselector_button.h', 'elc_fileselector_button_legacy.h', 'elc_fileselector_entry.h', 'elc_fileselector_entry_legacy.h', 'elc_hoversel.h', 'elc_hoversel_legacy.h', 'elc_multibuttonentry.h', 'elc_multibuttonentry_eo.h', 'elc_multibuttonentry_legacy.h', 'elc_multibuttonentry_common.h', 'elc_naviframe.h', 'elc_naviframe_legacy.h', 'elc_naviframe_common.h', 'elc_popup.h', 'elc_popup_legacy.h', 'elm_access.h', 'elm_actionslider.h', 'elm_actionslider_legacy.h', 'elm_app.h', 'elm_atspi_app_object.h', 'elm_atspi_app_object_eo.legacy.h', 'elm_atspi_bridge.h', 'elm_atspi_bridge_eo.legacy.h', 'elm_authors.h', 'elm_bg.h', 'elm_bg_legacy.h', 'elm_box.h', 'elm_box_legacy.h', 'elm_box_common.h', 'elm_bubble.h', 'elm_bubble_legacy.h', 'elm_button.h', 'efl_ui_widget_common.h', 'efl_ui_button_eo.h', 'elm_button_legacy.h', 'elm_cache.h', 'elm_calendar.h', 'elm_calendar_legacy.h', 'elm_calendar_common.h', 'efl_ui_calendar.h', 'elm_check.h', 'efl_ui_check_eo.h', 'elm_check_legacy.h', 'elm_clock.h', 'elm_clock_legacy.h', 'elm_cnp.h', 'elm_colorselector.h', 'elm_colorselector_legacy.h', 'elm_colorselector_common.h', 'elm_color_class.h', 'elm_config.h', 'elm_conform.h', 'elm_conform_legacy.h', 'elm_cursor.h', 'elm_datetime.h', 'elm_dayselector.h', 'elm_dayselector_legacy.h', 'elm_debug.h', 'elm_deprecated.h', 'elm_diskselector.h', 'elm_diskselector_common.h', 'elm_diskselector_legacy.h', 'elm_entry.h', 'elm_entry_common.h', 'elm_entry_eo.h', 'elm_entry_legacy.h', 'elm_finger.h', 'elm_flip.h', 'efl_ui_flip_eo.h', 'efl_ui_flip_legacy.h', 'elm_flipselector.h', 'elm_flipselector_legacy.h', 'elm_focus.h', 'elm_focus_item.h', 'elm_font.h', 'elm_frame.h', 'efl_ui_frame_eo.h', 'efl_ui_frame_legacy.h', 'elm_gen.h', 'elm_general.h', 'elm_gengrid.h', 'elm_gengrid_common.h', 'elm_gengrid_legacy.h', 'elm_genlist.h', 'elm_genlist_common.h', 'elm_genlist_legacy.h', 'elm_gesture_layer.h', 'elm_gesture_layer_common.h', 'elm_gesture_layer_legacy.h', 'elm_getting_started.h', 'elm_glview.h', 'elm_glview_common.h', 'elm_glview_legacy.h', 'elm_grid.h', 'elm_grid_legacy.h', 'elm_hover.h', 'elm_hover_legacy.h', 'elm_icon.h', 'elm_icon_legacy.h', 'elm_image.h', 'elm_image_eo.h', 'elm_image_legacy.h', 'elm_index.h', 'elm_index_legacy.h', 'elm_inwin.h', 'elm_inwin_legacy.h', 'elm_label.h', 'elm_label_legacy.h', 'elm_layout.h', 'elm_layout_common.h', 'elm_layout_legacy.h', 'elm_list.h', 'elm_list_legacy.h', 'elm_macros.h', 'elm_map.h', 'elm_map_common.h', 'elm_map_legacy.h', 'elm_mapbuf.h', 'elm_mapbuf_legacy.h', 'elm_menu.h', 'elm_menu_legacy.h', 'elm_mirroring.h', 'elm_need.h', 'elm_notify.h', 'elm_notify_common.h', 'elm_notify_legacy.h', 'elm_object.h', 'elm_object_item.h', 'elm_panel.h', 'elm_panel_common.h', 'elm_panel_legacy.h', 'elm_panes.h', 'efl_ui_panes_eo.h', 'elm_panes_legacy.h', 'elm_photo.h', 'elm_photo_legacy.h', 'elm_photocam.h', 'efl_ui_image_zoomable_eo.h', 'elm_photocam_legacy.h', 'elm_plug.h', 'elm_plug_legacy.h', 'elm_prefs.h', 'elm_prefs_common.h', 'elm_prefs_legacy.h', 'elm_prefs_data.h', 'elm_progressbar.h', 'elm_progressbar_common.h', 'efl_ui_progressbar_eo.h', 'elm_progressbar_legacy.h', 'elm_radio.h', 'efl_ui_radio_eo.h', 'elm_radio_legacy.h', 'elm_route.h', 'elm_route_legacy.h', 'elm_scale.h', 'elm_scroll.h', 'elm_scroller.h', 'elm_scroller_legacy.h', 'elm_segment_control.h', 'elm_segment_control_legacy.h', 'elm_separator.h', 'elm_separator_legacy.h', 'elm_slider.h', 'elm_slider_common.h', 'elm_slider_legacy.h', 'elm_slideshow.h', 'elm_slideshow_common.h', 'elm_slideshow_legacy.h', 'elm_spinner.h', 'elm_spinner_legacy.h', 'elm_store.h', 'elm_systray.h', 'elm_systray_common.h', 'elm_systray_watcher.h', 'elm_sys_notify.h', 'elm_table.h', 'elm_table_legacy.h', 'elm_theme.h', 'elm_thumb.h', 'elm_thumb_common.h', 'elm_thumb_legacy.h', 'elm_textpath.h', 'elm_textpath_legacy.h', 'elm_toolbar.h', 'elm_toolbar_common.h', 'elm_toolbar_eo.h', 'elm_toolbar_legacy.h', 'elm_tooltip.h', 'elm_transit.h', 'efl_ui_video.h', 'efl_ui_video_eo.h', 'efl_ui_video_legacy.h', 'elm_view_list.h', 'elm_view_form.h', 'elm_web.h', 'elm_web_common.h', 'elm_web_eo.h', 'elm_web_legacy.h', 'elm_win.h', 'elm_win_common.h', 'elm_win_eo.h', 'elm_win_legacy.h', 'elm_helper.h', 'elm_part_helper.h', 'efl_ui_bg_eo.legacy.h', 'efl_ui_bg_legacy_eo.legacy.h', 'efl_ui_button_eo.legacy.h', 'efl_ui_button_legacy_eo.legacy.h', 'efl_ui_check_eo.legacy.h', 'efl_ui_check_legacy_eo.legacy.h', 'efl_ui_flip_eo.legacy.h', 'efl_ui_flip_legacy_eo.legacy.h', 'efl_ui_frame_eo.legacy.h', 'efl_ui_frame_legacy_eo.legacy.h', 'efl_ui_image_legacy_eo.legacy.h', 'efl_ui_image_zoomable_eo.legacy.h', 'efl_ui_image_zoomable_legacy_eo.legacy.h', 'efl_ui_layout_legacy_eo.legacy.h', 'efl_ui_panes_eo.legacy.h', 'efl_ui_panes_legacy_eo.legacy.h', 'efl_ui_progressbar_legacy_eo.legacy.h', 'efl_ui_radio_eo.legacy.h', 'efl_ui_radio_legacy_eo.legacy.h', 'efl_ui_textpath_eo.legacy.h', 'efl_ui_textpath_legacy_eo.legacy.h', 'efl_ui_video_eo.legacy.h', 'efl_ui_video_legacy_eo.legacy.h', 'efl_ui_widget_eo.legacy.h', 'efl_ui_win_inlined_legacy_eo.legacy.h', 'efl_ui_win_legacy_eo.legacy.h', 'efl_ui_win_socket_legacy_eo.legacy.h', 'elm_access_eo.legacy.h', 'elm_actionslider_eo.legacy.h', 'elm_box_eo.legacy.h', 'elm_bubble_eo.legacy.h', 'elm_calendar_eo.legacy.h', 'elm_calendar_item_eo.legacy.h', 'elm_clock_eo.legacy.h', 'elm_code_widget_eo.legacy.h', 'elm_code_widget_legacy_eo.legacy.h', 'elm_color_item_eo.legacy.h', 'elm_colorselector_eo.legacy.h', 'elm_conformant_eo.legacy.h', 'elm_ctxpopup_eo.legacy.h', 'elm_ctxpopup_item_eo.legacy.h', 'elm_dayselector_eo.legacy.h', 'elm_dayselector_item_eo.legacy.h', 'elm_diskselector_eo.legacy.h', 'elm_diskselector_item_eo.legacy.h', 'elm_entry_eo.legacy.h', 'elm_fileselector_button_eo.legacy.h', 'elm_fileselector_entry_eo.legacy.h', 'elm_fileselector_eo.legacy.h', 'elm_flipselector_eo.legacy.h', 'elm_flipselector_item_eo.legacy.h', 'elm_gengrid_eo.legacy.h', 'elm_gengrid_item_eo.legacy.h', 'elm_gengrid_pan_eo.legacy.h', 'elm_genlist_eo.legacy.h', 'elm_genlist_item_eo.legacy.h', 'elm_genlist_pan_eo.legacy.h', 'elm_gesture_layer_eo.legacy.h', 'elm_glview_eo.legacy.h', 'elm_grid_eo.legacy.h', 'elm_hover_eo.legacy.h', 'elm_hoversel_eo.legacy.h', 'elm_hoversel_item_eo.legacy.h', 'elm_icon_eo.legacy.h', 'elm_index_eo.legacy.h', 'elm_index_item_eo.legacy.h', 'elm_interface_fileselector_eo.legacy.h', 'elm_inwin_eo.legacy.h', 'elm_label_eo.legacy.h', 'elm_list_eo.legacy.h', 'elm_list_item_eo.legacy.h', 'elm_mapbuf_eo.legacy.h', 'elm_map_eo.legacy.h', 'elm_map_pan_eo.legacy.h', 'elm_menu_eo.legacy.h', 'elm_menu_item_eo.legacy.h', 'elm_multibuttonentry_eo.legacy.h', 'elm_multibuttonentry_item_eo.legacy.h', 'elm_naviframe_eo.legacy.h', 'elm_naviframe_item_eo.legacy.h', 'elm_notify_eo.legacy.h', 'elm_panel_eo.legacy.h', 'elm_pan_eo.legacy.h', 'elm_photo_eo.legacy.h', 'elm_player_eo.legacy.h', 'elm_plug_eo.legacy.h', 'elm_popup_eo.legacy.h', 'elm_popup_item_eo.legacy.h', 'elm_prefs_eo.legacy.h', 'elm_route_eo.legacy.h', 'elm_scroller_eo.legacy.h', 'elm_segment_control_eo.legacy.h', 'elm_segment_control_item_eo.legacy.h', 'elm_separator_eo.legacy.h', 'elm_slider_eo.legacy.h', 'elm_slider_part_indicator_eo.legacy.h', 'elm_slideshow_eo.legacy.h', 'elm_slideshow_item_eo.legacy.h', 'elm_spinner_eo.legacy.h', 'elm_sys_notify_dbus_eo.legacy.h', 'elm_sys_notify_eo.legacy.h', 'elm_sys_notify_interface_eo.legacy.h', 'elm_systray_eo.legacy.h', 'elm_table_eo.legacy.h', 'elm_thumb_eo.legacy.h', 'elm_toolbar_eo.legacy.h', 'elm_toolbar_item_eo.legacy.h', 'elm_view_form_eo.legacy.h', 'elm_view_list_eo.legacy.h', 'elm_view_form_eo.h', 'elm_view_list_eo.h', 'elm_web_eo.legacy.h', 'elm_widget_item_container_eo.legacy.h', 'elm_widget_item_eo.legacy.h', 'elm_widget_item_static_focus_eo.legacy.h', ] elementary_header_src = [ 'Elementary.h', 'Elementary_Cursor.h' ] + elementary_pub_headers + elementary_headers_unstable elementary_src = [ 'elm_priv.h', 'elementary_config.h', 'els_box.h', 'elc_ctxpopup.c', 'elc_fileselector.c', 'elc_fileselector_button.c', 'elc_fileselector_entry.c', 'elc_hoversel.c', 'elc_multibuttonentry.c', 'elc_naviframe.c', 'efl_ui_navigation_bar.c', 'efl_ui_navigation_layout.c', 'elc_player.c', 'elc_popup.c', 'elc_scrolled_entry.c', 'elm_access.c', 'elm_actionslider.c', 'elm_atspi_app_object.c', 'elm_atspi_bridge.c', 'efl_ui_legacy.c', 'efl_ui_bg.c', 'elm_box.c', 'elm_bubble.c', 'efl_ui_button.c', 'elm_calendar.c', 'efl_ui_calendar.c', 'efl_ui_check.c', 'elm_clock.c', 'elm_code_line.c', 'elm_code_text.c', 'elm_code_indent.c', 'elm_code_file.c', 'elm_code_parse.c', 'elm_code_syntax.c', 'elm_code_widget_selection.c', 'elm_code_widget.c', 'elm_code_diff_widget.c', 'elm_code.c', 'elm_code_private.h', 'elm_code_widget_private.h', 'elm_colorselector.c', 'elm_color_class.c', 'elc_combobox.c', 'elm_config.c', 'elm_conform.c', 'elm_datetime.c', 'elm_dayselector.c', 'elm_dbus_menu.c', 'elm_diskselector.c', 'elm_entry.c', 'efl_ui_flip.c', 'efl_ui_internal_text_interactive.c', 'efl_ui_internal_text_interactive.h', 'efl_ui_internal_text_scroller.c', 'efl_ui_internal_text_scroller.h', 'elm_flipselector.c', 'elm_font.c', 'efl_ui_frame.c', 'elm_gengrid.c', 'elm_genlist.c', 'elm_gesture_layer.c', 'elm_gesture_layer_extra_gestures.c', 'elm_glview.c', 'elm_grid.c', 'elm_hover.c', 'elm_icon.c', 'efl_ui_image.c', 'elm_index.c', 'efl_access_object.c', 'efl_access_action.c', 'efl_access_component.c', 'efl_access_editable_text.c', 'efl_access_selection.c', 'efl_access_text.c', 'efl_access_value.c', 'efl_access_widget_action.c', 'efl_access_window.c', 'elm_interface_fileselector.c', 'elm_interface_scrollable.c', 'elm_inwin.c', 'elm_label.c', 'efl_ui_layout.c', 'efl_ui_layout_pack.c', 'elm_list.c', 'elm_main.c', 'elm_map.c', 'elm_mapbuf.c', 'elm_menu.c', 'elm_module.c', 'elm_notify.c', 'elm_panel.c', 'efl_ui_panes.c', 'elm_photo.c', 'efl_ui_image_zoomable.c', 'elm_plug.c', 'elm_prefs.c', 'elm_prefs_data.c', 'efl_ui_progressbar.c', 'efl_ui_radio.c', 'efl_ui_radio_group_impl.c', 'efl_ui_radio_box.c', 'elm_route.c', 'elm_scroller.c', 'elm_segment_control.c', 'elm_separator.c', 'elm_slider.c', 'efl_ui_slider.c', 'efl_ui_slider_interval.c', 'efl_ui_spin.c', 'efl_ui_spin_button.c', 'efl_ui_panel.c', 'efl_ui_datepicker.c', 'efl_ui_timepicker.c', 'efl_ui_tags.c', 'elm_slideshow.c', 'elm_spinner.c', 'elm_store.c', 'elm_systray.c', 'elm_systray_watcher.c', 'elm_sys_notify_interface.c', 'elm_sys_notify.c', 'elm_sys_notify_dbus.c', 'elm_table.c', 'elm_theme.c', 'elm_thumb.c', 'elm_toolbar.c', 'elm_transit.c', 'elm_util.c', 'efl_ui_video.c', 'elm_view_list.c', 'elm_view_form.c', 'elm_web2.c', 'efl_ui_widget.c', 'efl_ui_widget_common.c', 'efl_ui_win.c', 'efl_ui_win_inlined.c', 'efl_ui_win_socket.c', 'elm_helper.c', 'els_box.c', 'els_cursor.c', 'els_tooltip.c', 'elu_ews_wm.c', 'efl_ui_container_layout.c', 'efl_ui_container_layout.h', 'efl_ui_box.c', 'efl_ui_box_flow.c', 'efl_ui_box_stack.c', 'efl_ui_box_layout.c', 'efl_ui_box_private.h', 'efl_ui_popup.c', 'efl_ui_alert_popup.c', 'efl_ui_scroll_alert_popup.c', 'efl_ui_text_alert_popup.c', 'efl_ui_anchor_popup.c', 'efl_ui_table.c', 'efl_ui_table_static.c', 'efl_ui_table_layout.c', 'efl_ui_table_private.h', 'efl_ui_text.c', 'efl_ui_text_factory_images.c', 'efl_ui_text_factory_emoticons.c', 'efl_ui_text_factory_fallback.c', 'efl_ui_clock.c', 'efl_ui_clock_private.h', 'efl_ui_image_factory.c', 'efl_ui_focus_manager.c', 'efl_ui_focus_manager_calc.c', 'efl_ui_focus_manager_sub.c', 'efl_ui_focus_object.c', 'efl_ui_focus_manager_root_focus.c', 'efl_ui_textpath.c', 'efl_ui_focus_layer.c', 'efl_ui_focus_composition.c', 'efl_ui_focus_parent_provider.c', 'efl_ui_focus_parent_provider_standard.c', 'efl_ui_focus_parent_provider_gen.c', 'efl_ui_focus_util.c', 'elm_widget_item_static_focus.c', 'efl_ui_item.c', + 'efl_ui_default_item.c', 'efl_ui_list_default_item.c', 'efl_ui_list_placeholder_item.c', 'efl_ui_list.c', 'efl_ui_grid_default_item.c', 'efl_ui_grid.c', 'efl_ui_list_view.c', 'efl_ui_list_view_precise_layouter.c', 'efl_ui_list_view_seg_array.c', 'efl_ui_layout_factory.c', 'efl_ui_scroller.c', 'efl_ui_scroll_manager.c', 'efl_ui_pan.c', 'efl_ui_selection_manager.c', 'efl_ui_selection_manager_private.h', 'efl_ui_selection.c', 'efl_datetime_manager.c', 'efl_ui_dnd.c', 'elm_focus_legacy.c', 'efl_ui_spotlight_container.c', 'efl_ui_spotlight_manager.c', 'efl_ui_spotlight_manager_plain.c', 'efl_ui_spotlight_manager_scroll.c', 'efl_ui_spotlight_manager_stack.c', 'efl_ui_spotlight_indicator.c', 'efl_ui_spotlight_indicator_icon.c', 'efl_ui_spotlight_util.c', 'efl_ui_focus_graph.h', 'efl_ui_focus_graph.c', 'efl_ui_tab_pager.c', 'efl_ui_tab_bar.c', 'efl_ui_tab_page.c', 'efl_ui_widget_focus_manager.c', 'efl_ui_caching_factory.c', 'efl_ui_widget_factory.c', 'efl_ui_size_model.c', 'efl_ui_homogeneous_model.c', 'efl_ui_exact_model.c', 'efl_ui_average_model.c', 'efl_ui_relative_layout.c', 'efl_ui_action_connector.c', 'efl_ui_format.c', 'efl_ui_scroll_util.c', 'efl_ui_collection.c', 'efl_ui_position_manager_entity.c', 'efl_ui_position_manager_list.c', 'efl_ui_position_manager_grid.c', ] elementary_deps = [emile, eo, efl, edje, ethumb, ethumb_client, emotion, ecore_imf, ecore_con, eldbus, efreet, efreet_mime, efreet_trash, eio, atspi, dl, intl] elementary_pub_deps = [eina, eet, evas, ecore, ecore_evas, ecore_file, ecore_input, ecore_imf, ecore_con, edje, eldbus, efreet, efreet_mime, efreet_trash, ethumb_client, efl, elocation] elm_options = configuration_data() config_h.set_quoted('ELM_TOP_BUILD_DIR', meson.build_root()) config_h.set_quoted('MODULES_PATH', join_paths(dir_lib, 'modules')) config_h.set_quoted('ELEMENTARY_BASE_DIR', get_option('elementary-base-dir')) config_h.set_quoted('ICON_DIR', join_paths(dir_lib, 'icons')) if sys_windows == false elm_options.set('ELM_UNIX', '1') else elm_options.set('DLL_EXPORT', '1') endif elm_options.set('ELM_ELOCATION', '1') elm_options.set('ELM_EFREET', '1') if config_h.has('HAVE_ALLOCA_H') elm_options.set('ELM_ALLOCA_H', '1') endif if config_h.has('HAVE_LIBINTL_H') elm_options.set('ELM_LIBINTL_H', '1') endif if config_h.has('HAVE_DIRENT_H') elm_options.set('ELM_DIRENT_H', '1') endif if get_option('x11') config_h.set('HAVE_ELEMENTARY_X', '1') elementary_deps += ecore_x endif if get_option('wl') config_h.set('HAVE_ELEMENTARY_WL2', '1') elementary_deps += ecore_wl2 endif if get_option('drm') config_h.set('HAVE_ELEMENTARY_DRM', '1') elementary_deps += ecore_drm2 endif if get_option('cocoa') config_h.set('HAVE_ELEMENTARY_COCOA', '1') elementary_deps += ecore_cocoa endif if sys_windows == true config_h.set('HAVE_ELEMENTARY_WIN32', '1') elementary_deps += ecore_win32 endif c = configure_file( output: 'Elementary_Options.h', install_dir : dir_package_include, configuration: elm_options) elm_package_c_args = package_c_args + ['-DELEMENTARY_BUILD=1'] elementary_lib = library('elementary', elementary_src, pub_eo_file_target, priv_eo_file_target, c, embed_config, dependencies: elementary_pub_deps + elementary_deps, include_directories : config_dir + [include_directories('.')] + [include_directories(join_paths('..', '..', '..'))] + [ecore_evas_wayland_engine_include_dir], install: true, c_args : elm_package_c_args, version : meson.project_version() ) elementary = declare_dependency( include_directories: [include_directories('.')], link_with: elementary_lib, sources : pub_eo_file_target + priv_eo_file_target, dependencies: elementary_pub_deps, ) if get_option('install-eo-files') install_data(pub_eo_files + pub_eo_types_files, install_dir: join_paths(eolian_include_dir, package_version_name) ) endif install_headers(elementary_header_src, install_dir : dir_package_include, ) elementary_config_dir = include_directories('.') package_pc_variables = ['themes='+join_paths(dir_data, package_name, 'themes')]