Merge branch 'master' into devs/hermet/lottie

This commit is contained in:
Hermet Park 2019-03-12 14:05:03 +09:00
commit c287acfb41
138 changed files with 674 additions and 392 deletions

View File

@ -79,7 +79,8 @@ 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
lib/ecore/ecore_exe_eo.h \
lib/ecore/efl_loop_timer_eo.legacy.c
ecore_legacy_eo_h = \
lib/ecore/ecore_exe_eo.legacy.h \

View File

@ -67,6 +67,7 @@ efl_mono_test_files = \
tests/efl_mono/dummy_test_iface.eo \
tests/efl_mono/dummy_another_iface.eo \
tests/efl_mono/dummy_child.eo \
tests/efl_mono/dummy_part_holder.eo \
tests/efl_mono/dummy_numberwrapper.eo \
tests/efl_mono/mono_test_driver.sh
@ -177,6 +178,10 @@ 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_code_widget.eo.cs \
lib/elementary/elm_multibuttonentry_part.eo.cs \
lib/elementary/elm_atspi_bridge.eo.cs \
lib/elementary/elm_atspi_app_object.eo.cs \
lib/elementary/elm_glview_eo.cs
efl_mono_blacklisted_files = \
@ -406,6 +411,8 @@ tests/efl_mono/libefl_mono_native_test.c: \
tests/efl_mono/dummy_another_iface.eo.c \
tests/efl_mono/dummy_child.eo.h \
tests/efl_mono/dummy_child.eo.c \
tests/efl_mono/dummy_part_holder.eo.h \
tests/efl_mono/dummy_part_holder.eo.c \
tests/efl_mono/dummy_numberwrapper.eo.h \
tests/efl_mono/dummy_numberwrapper.eo.c \
tests/efl_mono/dummy_inherit_iface.eo.h \
@ -418,6 +425,7 @@ efl_mono_test_eolian_mono_files = tests/efl_mono/dummy_test_object.eo.cs \
tests/efl_mono/dummy_test_iface.eo.cs \
tests/efl_mono/dummy_another_iface.eo.cs \
tests/efl_mono/dummy_child.eo.cs \
tests/efl_mono/dummy_part_holder.eo.cs \
tests/efl_mono/dummy_numberwrapper.eo.cs \
tests/efl_mono/dummy_inherit_iface.eo.cs \
tests/efl_mono/dummy_inherit_helper.eo.cs
@ -493,7 +501,7 @@ tests/efl_mono/%.eo.cs: tests/efl_mono/%.eo $(_EOLIAN_MONO_DEP)
$(MKDIR_P) $(dir $@); \
$(EOLIAN_MONO) $(EOLIAN_FLAGS) $(EOLIAN_MONO_FLAGS) --dllimport "@DLIB_PREFIX_MONO@efl_mono_native_test@DLIB_SUFFIX_MONO@" -o $@ $(ALL_EO_REFS) $<
CLEANFILES += tests/efl_mono/libefl_mono_test.dll tests/efl_mono/dummy_test_object.eo.cs tests/efl_mono/dummy_child.eo.cs tests/efl_mono/dummy_numberwrapper.eo.cs tests/efl_mono/dummy_test_object.eo.c tests/efl_mono/dummy_child.eo.c tests/efl_mono/dummy_numberwrapper.eo.c tests/efl_mono/dummy_test_object.eo.h tests/efl_mono/dummy_child.eo.h tests/efl_mono/dummy_numberwrapper.eo.h tests/efl_mono/efl_mono.config
CLEANFILES += tests/efl_mono/libefl_mono_test.dll tests/efl_mono/dummy_test_object.eo.cs tests/efl_mono/dummy_child.eo.cs tests/efl_mono/dummy_numberwrapper.eo.cs tests/efl_mono/dummy_test_object.eo.c tests/efl_mono/dummy_child.eo.c tests/efl_mono/dummy_numberwrapper.eo.c tests/efl_mono/dummy_test_object.eo.h tests/efl_mono/dummy_child.eo.h tests/efl_mono/dummy_part_holder.eo.cs tests/efl_mono/dummy_part_holder.eo.c tests/efl_mono/dummy_part_holder.eo.h tests/efl_mono/dummy_numberwrapper.eo.h tests/efl_mono/efl_mono.config
endif

View File

@ -228,9 +228,12 @@ noinst_DATA += $(elm_legacy_eolian_eo_h)
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_eo.legacy.c \
lib/elementary/efl_ui_check_legacy_eo.c \
lib/elementary/efl_ui_flip_legacy_eo.c \
lib/elementary/efl_ui_flip_eo.legacy.c \
lib/elementary/efl_ui_frame_legacy_eo.c \
lib/elementary/efl_ui_frame_eo.legacy.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 \
@ -308,6 +311,7 @@ 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_eo.legacy.c \
lib/elementary/elm_hoversel_item_eo.c \
lib/elementary/elm_hoversel_item_eo.legacy.c \
lib/elementary/elm_icon_eo.c \
@ -513,6 +517,7 @@ 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_container_eo.h \
lib/elementary/elm_widget_item_eo.legacy.h \
lib/elementary/elm_widget_item_static_focus_eo.legacy.h
@ -618,10 +623,13 @@ 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 \
lib/elementary/elm_removed.h \
lib/elementary/elm_widget_bg.h \
lib/elementary/elm_widget_clipper.h \
$(NULL)
EXTRA_DIST2 += ${elementaryeolianfiles_DATA} $(elm_legacy_eolian_files) $(elm_private_eolian_files) $(elm_legacy_eo_files)
EXTRA_DIST2 += ${elementaryeolianfiles_DATA} $(elm_legacy_eolian_files) $(elm_private_eolian_files) $(elm_legacy_eo_files) $(elm_legacy_eo_headers_priv)
lib_LTLIBRARIES += lib/elementary/libelementary.la

View File

@ -15,6 +15,7 @@ emotioneolianfiles_DATA = \
$(emotion_eolian_files)
EXTRA_DIST2 += \
lib/emotion/efl_canvas_video_eo.legacy.c \
${emotioneolianfiles_DATA}
lib_LTLIBRARIES += \

View File

@ -230,7 +230,11 @@ TESTS += tests/eo/test_signals
endif
EXTRA_DIST2 += tests/eo/eunit_tests.h lib/eo/eo_ptr_indirection.x
EXTRA_DIST2 += \
tests/eo/eunit_tests.h \
tests/eo/suite/eo_test_reflection_complex_class_structure.c \
tests/eo/suite/eo_test_reflection_complex_class_structure.h \
lib/eo/eo_ptr_indirection.x
if HAVE_JS

View File

@ -67,6 +67,7 @@ inline bool is_function_blacklisted(attributes::function_def const& func, Contex
// Blacklist structs that require some kind of manual binding.
inline bool is_struct_blacklisted(std::string const& full_name)
{
// For now, these manual structs are blacklisted regardless of beta status
return full_name == "Efl.Event_Description"
|| full_name == "Eina.Binbuf"
|| full_name == "Eina.Strbuf"
@ -78,11 +79,28 @@ inline bool is_struct_blacklisted(std::string const& full_name)
|| full_name == "Eina.Future";
}
inline bool is_struct_blacklisted(attributes::struct_def const& struct_)
template <typename Context>
inline bool is_struct_blacklisted(attributes::struct_def const& struct_, Context context)
{
auto options = efl::eolian::grammar::context_find_tag<options_context>(context);
if (struct_.is_beta && !options.want_beta)
return true;
return is_struct_blacklisted(name_helpers::struct_full_eolian_name(struct_));
}
// Struct as type_def is for places where the struct is used as a struct field or parameter/return.
template <typename Context>
inline bool is_struct_blacklisted(attributes::type_def const& struct_, Context context)
{
auto options = efl::eolian::grammar::context_find_tag<options_context>(context);
if (struct_.is_beta && !options.want_beta)
return true;
auto regular = efl::eina::get<attributes::regular_type_def>(struct_.original_type);
return is_struct_blacklisted(name_helpers::type_full_eolian_name(regular));
}
inline bool is_struct_blacklisted(attributes::regular_type_def const& struct_)
{
return is_struct_blacklisted(name_helpers::type_full_eolian_name(struct_));
@ -114,6 +132,31 @@ inline bool is_property_blacklisted(attributes::property_def const& property, Co
return is_property_blacklisted(name);
}
template<typename Context>
inline bool is_class_blacklisted(attributes::klass_def const& cls, Context context)
{
auto options = efl::eolian::grammar::context_find_tag<options_context>(context);
return cls.is_beta && !options.want_beta;
}
template<typename Context>
inline bool is_class_blacklisted(attributes::klass_name const& cls, Context context)
{
auto options = efl::eolian::grammar::context_find_tag<options_context>(context);
return cls.is_beta && !options.want_beta;
}
template<typename Context>
inline bool is_event_blacklisted(attributes::event_def const& evt, Context context)
{
auto options = efl::eolian::grammar::context_find_tag<options_context>(context);
return evt.beta && !options.want_beta;
}
}
}

View File

@ -93,6 +93,9 @@ struct event_argument_wrapper_generator
if (!etype.is_engaged())
return true;
if (blacklist::is_event_blacklisted(evt, context))
return true;
std::string evt_name = name_helpers::managed_event_name(evt.name);
return as_generator("///<summary>Event argument wrapper for event <see cref=\""
@ -119,6 +122,9 @@ struct event_declaration_generator
std::string wrapper_args_type;
std::string evt_name = name_helpers::managed_event_name(evt.name);
if (blacklist::is_event_blacklisted(evt, context))
return true;
if (evt.type.is_engaged())
wrapper_args_type = "<" + name_helpers::managed_event_args_name(evt) + ">";
@ -143,6 +149,9 @@ struct event_registration_generator
{
std::string wrapper_event_name;
if (blacklist::is_event_blacklisted(evt, context))
return true;
if (is_inherited_event && !helpers::is_unique_event(evt, leaf_klass))
wrapper_event_name = name_helpers::translate_inherited_event_name(evt, klass);
else
@ -172,6 +181,9 @@ struct event_definition_generator
template<typename OutputIterator, typename Context>
bool generate(OutputIterator sink, attributes::event_def const& evt, Context context) const
{
if (blacklist::is_event_blacklisted(evt, context))
return true;
std::string managed_evt_name = name_helpers::managed_event_name(evt.name);
bool is_unique = helpers::is_unique_event(evt, leaf_klass);

View File

@ -9,15 +9,17 @@
#include "function_helpers.hh"
#include "documentation.hh"
#include "generation_contexts.hh"
#include "blacklist.hh"
namespace eolian_mono {
// Blacklist structs that require some kind of manual binding.
static bool is_function_ptr_blacklisted(attributes::function_def const& func)
template <typename Context>
static bool is_function_ptr_blacklisted(attributes::function_def const& func, Context context)
{
std::string name = name_helpers::function_ptr_full_eolian_name(func);
return false;
return blacklist::is_function_blacklisted(func, context);
}
struct function_pointer {
@ -28,13 +30,13 @@ struct function_pointer {
// FIXME export Typedecl in eolian_cxx API
auto funcptr_ctx = context_add_tag(class_context{class_context::function_ptr}, context);
if (is_function_ptr_blacklisted(f, context))
return true;
std::string return_type;
if(!as_generator(eolian_mono::type(true)).generate(std::back_inserter(return_type), f.return_type, context))
return false;
if (is_function_ptr_blacklisted(f))
return true;
if (!name_helpers::open_namespaces(sink, f.namespaces, funcptr_ctx))
return false;

View File

@ -102,8 +102,10 @@ std::set<attributes::klass_name, attributes::compare_klass_name_by_name> interfa
// Returns the set of interfaces implemented by this type that haven't been implemented
// by a regular parent class.
std::set<attributes::klass_name, attributes::compare_klass_name_by_name> non_implemented_interfaces(attributes::klass_def const& cls)
template<typename Context>
std::set<attributes::klass_name, attributes::compare_klass_name_by_name> non_implemented_interfaces(attributes::klass_def const& cls, Context context)
{
auto options = efl::eolian::grammar::context_find_tag<options_context>(context);
std::set<attributes::klass_name, attributes::compare_klass_name_by_name> implemented_interfaces;
std::set<attributes::klass_name, attributes::compare_klass_name_by_name> interfaces;
@ -114,6 +116,9 @@ std::set<attributes::klass_name, attributes::compare_klass_name_by_name> non_imp
attributes::klass_def c(get_klass(klass, cls.unit), cls.unit);
for(auto&& inherit : c.immediate_inherits)
{
if (inherit.is_beta && !options.want_beta)
continue;
switch(inherit.type)
{
case attributes::class_type::mixin:

View File

@ -95,6 +95,13 @@ struct klass
bool generate(OutputIterator sink, attributes::klass_def const& cls, Context const& context) const
{
EINA_CXX_DOM_LOG_DBG(eolian_mono::domain) << "klass_generator: " << cls.eolian_name << std::endl;
if (blacklist::is_class_blacklisted(cls, context))
{
EINA_CXX_DOM_LOG_DBG(eolian_mono::domain) << "class " << cls.eolian_name << " is blacklisted. Skipping." << std::endl;
return true;
}
std::string suffix, class_type;
switch(cls.type)
{
@ -183,7 +190,7 @@ struct klass
return false;
bool root = !helpers::has_regular_ancestor(cls);
std::set<attributes::klass_name, attributes::compare_klass_name_by_name> inherit_interfaces = helpers::non_implemented_interfaces(cls);
std::set<attributes::klass_name, attributes::compare_klass_name_by_name> inherit_interfaces = helpers::non_implemented_interfaces(cls, context);
std::vector<attributes::klass_name> inherit_classes;
std::copy_if(cls.immediate_inherits.begin(), cls.immediate_inherits.end()
, std::back_inserter(inherit_classes)
@ -268,7 +275,7 @@ struct klass
if (!as_generator(*(property_wrapper_definition)).generate(sink, cls.properties, concrete_cxt))
return false;
for (auto&& klass : helpers::non_implemented_interfaces(cls))
for (auto&& klass : helpers::non_implemented_interfaces(cls, concrete_cxt))
{
attributes::klass_def c(get_klass(klass, cls.unit), cls.unit);
if (!as_generator(*(property_wrapper_definition)).generate(sink, c.properties, concrete_cxt))
@ -340,7 +347,7 @@ struct klass
if (!as_generator(*(property_wrapper_definition)).generate(sink, cls.properties, inherit_cxt))
return false;
for (auto&& klass : helpers::non_implemented_interfaces(cls))
for (auto&& klass : helpers::non_implemented_interfaces(cls, inherit_cxt))
{
attributes::klass_def c(get_klass(klass, cls.unit), cls.unit);
if (!as_generator(*(property_wrapper_definition)).generate(sink, c.properties, inherit_cxt))
@ -644,7 +651,7 @@ struct klass
if (!as_generator(*(event_registration(cls, cls))).generate(sink, cls.events, context))
return false;
for (auto&& c : helpers::non_implemented_interfaces(cls))
for (auto&& c : helpers::non_implemented_interfaces(cls, context))
{
// Only non-regular types (which declare events through interfaces) need to register them.
if (c.type == attributes::class_type::regular)
@ -742,7 +749,7 @@ struct klass
// Inherited events
// For now, as mixins can inherit from regular classes, we can't filter out inherited events.
auto inherits = helpers::non_implemented_interfaces(cls);
auto inherits = helpers::non_implemented_interfaces(cls, context);
for (auto&& c : inherits)
{
attributes::klass_def klass(get_klass(c, cls.unit), cls.unit);

View File

@ -402,7 +402,7 @@ inline std::string klass_get_full_name(T const& clsname)
// Events
inline std::string managed_event_name(std::string const& name)
{
return utils::to_pascal_case(utils::split(name, ','), "") + "Evt";
return utils::to_pascal_case(utils::split(name, "_,"), "") + "Evt";
}
inline std::string managed_event_args_short_name(attributes::event_def const& evt)

View File

@ -18,6 +18,9 @@ struct part_definition_generator
template <typename OutputIterator, typename Context>
bool generate(OutputIterator sink, attributes::part_def const& part, Context const& context) const
{
if (blacklist::is_class_blacklisted(part.klass, context))
return true;
auto part_klass_name = name_helpers::klass_full_concrete_or_interface_name(part.klass);
return as_generator(scope_tab << documentation
<< scope_tab << "public " << part_klass_name << " " << name_helpers::managed_part_name(part) << "\n"

View File

@ -196,6 +196,7 @@ struct to_internal_field_convert_generator
bool generate(OutputIterator sink, attributes::struct_field_def const& field, Context const& context) const
{
auto field_name = name_helpers::to_field_name(field.name);
// FIXME Replace need_struct_conversion(regular) with need_struct_conversion(type)
auto regular = efl::eina::get<attributes::regular_type_def>(&field.type.original_type);
auto klass = efl::eina::get<attributes::klass_name>(&field.type.original_type);
auto complex = efl::eina::get<attributes::complex_type_def>(&field.type.original_type);
@ -496,10 +497,9 @@ struct struct_entities_generator
template <typename OutputIterator, typename Context>
bool generate(OutputIterator sink, attributes::struct_def const& struct_, Context const& context) const
{
if (blacklist::is_struct_blacklisted(struct_))
if (blacklist::is_struct_blacklisted(struct_, context))
return true;
if (!name_helpers::open_namespaces(sink, struct_.namespaces, context))
return false;

View File

@ -30,20 +30,30 @@ namespace eolian_mono { namespace utils {
return ret;
}
std::vector<std::string> split(std::string const &input, char delim)
std::vector<std::string> split(std::string const &input, std::string delims)
{
std::stringstream ss(input);
std::string name;
std::vector<std::string> names;
size_t pos = 0;
while (std::getline(ss, name, delim))
while(pos != std::string::npos)
{
if (!name.empty())
names.push_back(name);
size_t newpos = input.find_first_of(delims, pos);
names.push_back(input.substr(pos, newpos-pos));
pos = newpos;
if (pos != std::string::npos)
pos++;
}
return names;
}
std::vector<std::string> split(std::string const &input, char delim)
{
return split(input, {1, delim});
}
std::string to_pascal_case(const std::vector<std::string> &names, std::string const& delim="")
{
std::vector<std::string> outv(names.size());

View File

@ -106,7 +106,9 @@ namespace Efl {
Efl.App app = Efl.App.AppMain;
Eina.Array<String> command_line = new Eina.Array<String>();
command_line.Append(Environment.GetCommandLineArgs());
#if EFL_BETA
app.SetCommandArray(command_line);
#endif
app.ArgumentsEvt += (object sender, LoopArgumentsEvt_Args evt) => {
if (evt.arg.Initialization) {
OnInitialize(evt.arg.Argv);

View File

@ -85,7 +85,11 @@ blacklisted_files = [
'elm_view_list.eo',
'elm_genlist_item.eo',
'elm_gengrid.eo',
'elm_glview_eo.cs'
'elm_glview_eo.cs',
'elm_code_widget.eo',
'elm_multibuttonentry_part.eo',
'elm_atspi_bridge.eo',
'elm_atspi_app_object.eo',
]
efl_mono_lib = library('eflcustomexportsmono',

View File

@ -4,6 +4,7 @@ using System.Runtime.CompilerServices;
class TestMain
{
#if EFL_BETA
private Efl.Loop loop;
private int count;
@ -18,15 +19,15 @@ class TestMain
Efl.All.Init();
var loop = new Efl.Loop();
var timer = new Efl.LoopTimer(loop, interval:1.0);
var timer = new Efl.LoopTimer(loop, 1.0);
TestMain listener = new TestMain(loop);
Console.WriteLine("Starting MainLoop");
timer.TickEvt += listener.on_tick;
timer.TickEvt += listener.another_callback;
timer.TickEvt -= listener.another_callback;
timer.TimerTickEvt += listener.on_tick;
timer.TimerTickEvt += listener.another_callback;
timer.TimerTickEvt -= listener.another_callback;
loop.Begin();
@ -48,6 +49,11 @@ class TestMain
{
Console.WriteLine("Ooops. Should not have been called...");
}
#else
public static void Main()
{
}
#endif
}

View File

@ -1,4 +1,5 @@
#define EFL_CXXPERIMENTAL // for background part
#define EFL_BETA_API_SUPPORT
#include <Elementary.hh>
using efl::eo::instantiate;

View File

@ -6,6 +6,7 @@
*/
#define EFL_CXXPERIMENTAL
#define EFL_BETA_API_SUPPORT
#include <Elementary.hh>

View File

@ -1,6 +1,7 @@
// g++ -g `pkg-config --cflags --libs elementary-cxx efl-cxx eina-cxx eo-cxx ecore-cxx evas-cxx edje-cxx` button_cxx_example_00.cc -o button_cxx_example_00
#define EFL_CXXPERIMENTAL
#define EFL_BETA_API_SUPPORT
#include <Elementary.hh>
#include <iostream>

View File

@ -1,7 +1,7 @@
// g++ -g `pkg-config --cflags --libs elementary-cxx efl-cxx eina-cxx eo-cxx ecore-cxx evas-cxx edje-cxx` button_cxx_example_01.cc -o button_cxx_example_01
#define EFL_CXXPERIMENTAL
#include <Efl_Ui.h>
#define EFL_BETA_API_SUPPORT
#include <Elementary.hh>
using efl::eo::instantiate;

View File

@ -2,6 +2,7 @@ using System;
public class Example
{
#if EFL_BETA
public static Efl.Ui.Button CreateButton(Efl.Object parent,
string text,
int w, int h,
@ -73,5 +74,10 @@ public class Example
Efl.All.Shutdown();
}
#else
public static void Main()
{
}
#endif
}

View File

@ -2,7 +2,7 @@ using System;
public class Example
{
#if EFL_BETA
private static double KMS_PER_MILE = 1.609344;
private static double KmsToMiles(double kms)
@ -146,5 +146,10 @@ public class Example
Efl.All.Shutdown();
}
#else
public static void Main()
{
}
#endif
}

View File

@ -1,7 +1,7 @@
// g++ -g `pkg-config --cflags --libs elementary-cxx efl-cxx eina-cxx eo-cxx ecore-cxx evas-cxx edje-cxx` radio_cxx_example_01.cc -o radio_cxx_example_01
#define EFL_CXXPERIMENTAL
#include <Efl_Ui.h>
#define EFL_BETA_API_SUPPORT
#include <Elementary.hh>
#include <iostream>

View File

@ -1,8 +1,7 @@
// g++ -g `pkg-config --cflags --libs elementary-cxx efl-cxx eina-cxx eo-cxx ecore-cxx evas-cxx edje-cxx` slider_cxx_example.cc -o slider_cxx_example
#define EFL_CXXPERIMENTAL
#include <Efl_Ui.h>
#define EFL_BETA_API_SUPPORT
#include <Elementary.hh>
using namespace std::placeholders;

View File

@ -7,7 +7,7 @@
#warning This example requires yet unfinished EO APIs
#include <Efl_Ui.h>
#define EFL_BETA_API_SUPPORT
#include <Elementary.hh>
EAPI int

View File

@ -1,4 +1,4 @@
class Ecore.Event.Message extends Efl.Loop_Message
class @beta Ecore.Event.Message extends Efl.Loop_Message
{
[[ For Legacy API usage Only. Legacy Ecore Events ]]
methods {

View File

@ -1,4 +1,4 @@
class Ecore.Event.Message.Handler extends Efl.Loop_Message_Handler
class @beta Ecore.Event.Message.Handler extends Efl.Loop_Message_Handler
{
[[ For Legacy API usage Only
This class is rather hacky/messy as it's really internal glue

View File

@ -1,4 +1,4 @@
class @beta Efl.Loop_Timer extends Efl.Loop_Consumer
class Efl.Loop_Timer extends Efl.Loop_Consumer
{
[[Timers are objects that will call a given callback at some point
in the future and repeat that tick at a given interval.

View File

@ -1,6 +1,6 @@
var Efl.Net.Dialer_Error.COULDNT_CONNECT: Eina.Error; [[The dialer could not connect to the remote]]
var Efl.Net.Dialer_Error.COULDNT_RESOLVE_PROXY: Eina.Error; [[The dialer could not resolve the given proxy server]]
var Efl.Net.Dialer_Error.PROXY_AUTHENTICATION_FAILED: Eina.Error; [[The dialer failed to authenticate against the proxy server]]
var @beta Efl.Net.Dialer_Error.COULDNT_CONNECT: Eina.Error; [[The dialer could not connect to the remote]]
var @beta Efl.Net.Dialer_Error.COULDNT_RESOLVE_PROXY: Eina.Error; [[The dialer could not resolve the given proxy server]]
var @beta Efl.Net.Dialer_Error.PROXY_AUTHENTICATION_FAILED: Eina.Error; [[The dialer failed to authenticate against the proxy server]]
interface @beta Efl.Net.Dialer extends Efl.Net.Socket {
[[Creates a client socket to reach a remote peer.

View File

@ -126,54 +126,54 @@ struct @beta Efl.Net.Http.Header {
value: string; [[Header value]]
}
var Efl.Net.Http.Error.BAD_CONTENT_ENCODING: Eina.Error; [[HTTP error: bad content encoding]]
var Efl.Net.Http.Error.BAD_DOWNLOAD_RESUME: Eina.Error; [[HTTP error: bad download resume]]
var Efl.Net.Http.Error.BAD_FUNCTION_ARGUMENT: Eina.Error; [[HTTP error: bad function argument]]
var Efl.Net.Http.Error.CHUNK_FAILED: Eina.Error; [[HTTP error: chunk failed]]
var Efl.Net.Http.Error.CONV_FAILED: Eina.Error; [[HTTP error: conv failed]]
var Efl.Net.Http.Error.CONV_REQD: Eina.Error; [[HTTP error: conv reqd]]
var Efl.Net.Http.Error.FAILED_INIT: Eina.Error; [[HTTP error: failed init]]
var Efl.Net.Http.Error.FILE_COULDNT_READ_FILE: Eina.Error; [[HTTP error: could not read file]]
var Efl.Net.Http.Error.FILESIZE_EXCEEDED: Eina.Error; [[HTTP error: filesize exceeded]]
var Efl.Net.Http.Error.FUNCTION_NOT_FOUND: Eina.Error; [[HTTP error: function not found]]
var Efl.Net.Http.Error.GOT_NOTHING: Eina.Error; [[HTTP error: got nothing]]
var Efl.Net.Http.Error.HTTP2: Eina.Error; [[HTTP error: http2]]
var Efl.Net.Http.Error.HTTP2_STREAM: Eina.Error; [[HTTP error: http2 stream]]
var Efl.Net.Http.Error.HTTP_POST_ERROR: Eina.Error; [[HTTP error: http post error]]
var Efl.Net.Http.Error.HTTP_RETURNED_ERROR: Eina.Error; [[HTTP error: http returned error]]
var Efl.Net.Http.Error.INTERFACE_FAILED: Eina.Error; [[HTTP error: interface failed]]
var Efl.Net.Http.Error.LOGIN_DENIED: Eina.Error; [[HTTP error: login denied]]
var Efl.Net.Http.Error.NO_CONNECTION_AVAILABLE: Eina.Error; [[HTTP error: no connection available]]
var Efl.Net.Http.Error.NOT_BUILT_IN: Eina.Error; [[HTTP error: not built in]]
var Efl.Net.Http.Error.OPERATION_TIMEDOUT: Eina.Error; [[HTTP error: operation timeout]]
var Efl.Net.Http.Error.PARTIAL_FILE: Eina.Error; [[HTTP error: partial file]]
var Efl.Net.Http.Error.PEER_FAILED_VERIFICATION: Eina.Error; [[HTTP error: peer failed verification]]
var Efl.Net.Http.Error.RANGE_ERROR: Eina.Error; [[HTTP error: range error]]
var Efl.Net.Http.Error.READ_ERROR: Eina.Error; [[HTTP error: read error]]
var Efl.Net.Http.Error.RECV_ERROR: Eina.Error; [[HTTP error: receive error]]
var Efl.Net.Http.Error.REMOTE_ACCESS_DENIED: Eina.Error; [[HTTP error: remote access denied]]
var Efl.Net.Http.Error.REMOTE_DISK_FULL: Eina.Error; [[HTTP error: remote disk full]]
var Efl.Net.Http.Error.REMOTE_FILE_EXISTS: Eina.Error; [[HTTP error: remote file exists]]
var Efl.Net.Http.Error.REMOTE_FILE_NOT_FOUND: Eina.Error; [[HTTP error: remote file not found]]
var Efl.Net.Http.Error.SEND_ERROR: Eina.Error; [[HTTP error: send error]]
var Efl.Net.Http.Error.SEND_FAIL_REWIND: Eina.Error; [[HTTP error: send fail rewind]]
var Efl.Net.Http.Error.SSL_CACERT: Eina.Error; [[HTTP error: SSL cacert]]
var Efl.Net.Http.Error.SSL_CACERT_BADFILE: Eina.Error; [[HTTP error: SSL cacert bad file]]
var Efl.Net.Http.Error.SSL_CERTPROBLEM: Eina.Error; [[HTTP error: SSL certproblem]]
var Efl.Net.Http.Error.SSL_CIPHER: Eina.Error; [[HTTP error: SSL cipher]]
var Efl.Net.Http.Error.SSL_CONNECT_ERROR: Eina.Error; [[HTTP error: SSL connect error]]
var Efl.Net.Http.Error.SSL_CRL_BADFILE: Eina.Error; [[HTTP error: SSL crl bad file]]
var Efl.Net.Http.Error.SSL_ENGINE_INITFAILED: Eina.Error; [[HTTP error: SSL engine init failed]]
var Efl.Net.Http.Error.SSL_ENGINE_NOTFOUND: Eina.Error; [[HTTP error: SSL engine not found]]
var Efl.Net.Http.Error.SSL_ENGINE_SETFAILED: Eina.Error; [[HTTP error: SSL engine set failed]]
var Efl.Net.Http.Error.SSL_INVALIDCERTSTATUS: Eina.Error; [[HTTP error: SSL invalid cert status]]
var Efl.Net.Http.Error.SSL_ISSUER_ERROR: Eina.Error; [[HTTP error: SSL issuer error]]
var Efl.Net.Http.Error.SSL_PINNEDPUBKEYNOTMATCH: Eina.Error; [[HTTP error: SSL pinned pub key does not match]]
var Efl.Net.Http.Error.SSL_SHUTDOWN_FAILED: Eina.Error; [[HTTP error: SSL shutdown failed]]
var Efl.Net.Http.Error.TOO_MANY_REDIRECTS: Eina.Error; [[HTTP error: too many redirects]]
var Efl.Net.Http.Error.UNKNOWN_OPTION: Eina.Error; [[HTTP error: unknown option]]
var Efl.Net.Http.Error.UNSUPPORTED_PROTOCOL: Eina.Error; [[HTTP error: unsupported protocol]]
var Efl.Net.Http.Error.UPLOAD_FAILED: Eina.Error; [[HTTP error: upload failed]]
var Efl.Net.Http.Error.URL_MALFORMAT: Eina.Error; [[HTTP error: URL mal-formatted]]
var Efl.Net.Http.Error.USE_SSL_FAILED: Eina.Error; [[HTTP error: usage of SSL failed]]
var Efl.Net.Http.Error.WRITE_ERROR: Eina.Error; [[HTTP error: write error]]
var @beta Efl.Net.Http.Error.BAD_CONTENT_ENCODING: Eina.Error; [[HTTP error: bad content encoding]]
var @beta Efl.Net.Http.Error.BAD_DOWNLOAD_RESUME: Eina.Error; [[HTTP error: bad download resume]]
var @beta Efl.Net.Http.Error.BAD_FUNCTION_ARGUMENT: Eina.Error; [[HTTP error: bad function argument]]
var @beta Efl.Net.Http.Error.CHUNK_FAILED: Eina.Error; [[HTTP error: chunk failed]]
var @beta Efl.Net.Http.Error.CONV_FAILED: Eina.Error; [[HTTP error: conv failed]]
var @beta Efl.Net.Http.Error.CONV_REQD: Eina.Error; [[HTTP error: conv reqd]]
var @beta Efl.Net.Http.Error.FAILED_INIT: Eina.Error; [[HTTP error: failed init]]
var @beta Efl.Net.Http.Error.FILE_COULDNT_READ_FILE: Eina.Error; [[HTTP error: could not read file]]
var @beta Efl.Net.Http.Error.FILESIZE_EXCEEDED: Eina.Error; [[HTTP error: filesize exceeded]]
var @beta Efl.Net.Http.Error.FUNCTION_NOT_FOUND: Eina.Error; [[HTTP error: function not found]]
var @beta Efl.Net.Http.Error.GOT_NOTHING: Eina.Error; [[HTTP error: got nothing]]
var @beta Efl.Net.Http.Error.HTTP2: Eina.Error; [[HTTP error: http2]]
var @beta Efl.Net.Http.Error.HTTP2_STREAM: Eina.Error; [[HTTP error: http2 stream]]
var @beta Efl.Net.Http.Error.HTTP_POST_ERROR: Eina.Error; [[HTTP error: http post error]]
var @beta Efl.Net.Http.Error.HTTP_RETURNED_ERROR: Eina.Error; [[HTTP error: http returned error]]
var @beta Efl.Net.Http.Error.INTERFACE_FAILED: Eina.Error; [[HTTP error: interface failed]]
var @beta Efl.Net.Http.Error.LOGIN_DENIED: Eina.Error; [[HTTP error: login denied]]
var @beta Efl.Net.Http.Error.NO_CONNECTION_AVAILABLE: Eina.Error; [[HTTP error: no connection available]]
var @beta Efl.Net.Http.Error.NOT_BUILT_IN: Eina.Error; [[HTTP error: not built in]]
var @beta Efl.Net.Http.Error.OPERATION_TIMEDOUT: Eina.Error; [[HTTP error: operation timeout]]
var @beta Efl.Net.Http.Error.PARTIAL_FILE: Eina.Error; [[HTTP error: partial file]]
var @beta Efl.Net.Http.Error.PEER_FAILED_VERIFICATION: Eina.Error; [[HTTP error: peer failed verification]]
var @beta Efl.Net.Http.Error.RANGE_ERROR: Eina.Error; [[HTTP error: range error]]
var @beta Efl.Net.Http.Error.READ_ERROR: Eina.Error; [[HTTP error: read error]]
var @beta Efl.Net.Http.Error.RECV_ERROR: Eina.Error; [[HTTP error: receive error]]
var @beta Efl.Net.Http.Error.REMOTE_ACCESS_DENIED: Eina.Error; [[HTTP error: remote access denied]]
var @beta Efl.Net.Http.Error.REMOTE_DISK_FULL: Eina.Error; [[HTTP error: remote disk full]]
var @beta Efl.Net.Http.Error.REMOTE_FILE_EXISTS: Eina.Error; [[HTTP error: remote file exists]]
var @beta Efl.Net.Http.Error.REMOTE_FILE_NOT_FOUND: Eina.Error; [[HTTP error: remote file not found]]
var @beta Efl.Net.Http.Error.SEND_ERROR: Eina.Error; [[HTTP error: send error]]
var @beta Efl.Net.Http.Error.SEND_FAIL_REWIND: Eina.Error; [[HTTP error: send fail rewind]]
var @beta Efl.Net.Http.Error.SSL_CACERT: Eina.Error; [[HTTP error: SSL cacert]]
var @beta Efl.Net.Http.Error.SSL_CACERT_BADFILE: Eina.Error; [[HTTP error: SSL cacert bad file]]
var @beta Efl.Net.Http.Error.SSL_CERTPROBLEM: Eina.Error; [[HTTP error: SSL certproblem]]
var @beta Efl.Net.Http.Error.SSL_CIPHER: Eina.Error; [[HTTP error: SSL cipher]]
var @beta Efl.Net.Http.Error.SSL_CONNECT_ERROR: Eina.Error; [[HTTP error: SSL connect error]]
var @beta Efl.Net.Http.Error.SSL_CRL_BADFILE: Eina.Error; [[HTTP error: SSL crl bad file]]
var @beta Efl.Net.Http.Error.SSL_ENGINE_INITFAILED: Eina.Error; [[HTTP error: SSL engine init failed]]
var @beta Efl.Net.Http.Error.SSL_ENGINE_NOTFOUND: Eina.Error; [[HTTP error: SSL engine not found]]
var @beta Efl.Net.Http.Error.SSL_ENGINE_SETFAILED: Eina.Error; [[HTTP error: SSL engine set failed]]
var @beta Efl.Net.Http.Error.SSL_INVALIDCERTSTATUS: Eina.Error; [[HTTP error: SSL invalid cert status]]
var @beta Efl.Net.Http.Error.SSL_ISSUER_ERROR: Eina.Error; [[HTTP error: SSL issuer error]]
var @beta Efl.Net.Http.Error.SSL_PINNEDPUBKEYNOTMATCH: Eina.Error; [[HTTP error: SSL pinned pub key does not match]]
var @beta Efl.Net.Http.Error.SSL_SHUTDOWN_FAILED: Eina.Error; [[HTTP error: SSL shutdown failed]]
var @beta Efl.Net.Http.Error.TOO_MANY_REDIRECTS: Eina.Error; [[HTTP error: too many redirects]]
var @beta Efl.Net.Http.Error.UNKNOWN_OPTION: Eina.Error; [[HTTP error: unknown option]]
var @beta Efl.Net.Http.Error.UNSUPPORTED_PROTOCOL: Eina.Error; [[HTTP error: unsupported protocol]]
var @beta Efl.Net.Http.Error.UPLOAD_FAILED: Eina.Error; [[HTTP error: upload failed]]
var @beta Efl.Net.Http.Error.URL_MALFORMAT: Eina.Error; [[HTTP error: URL mal-formatted]]
var @beta Efl.Net.Http.Error.USE_SSL_FAILED: Eina.Error; [[HTTP error: usage of SSL failed]]
var @beta Efl.Net.Http.Error.WRITE_ERROR: Eina.Error; [[HTTP error: write error]]

View File

@ -1,5 +1,5 @@
var Efl.Net.Socket_Ssl_Error.HANDSHAKE: Eina.Error; [[Failed SSL handshake]]
var Efl.Net.Socket_Ssl_Error.CERTIFICATE_VERIFY_FAILED: Eina.Error; [[Failed to verify peer's certificate]]
var @beta Efl.Net.Socket_Ssl_Error.HANDSHAKE: Eina.Error; [[Failed SSL handshake]]
var @beta Efl.Net.Socket_Ssl_Error.CERTIFICATE_VERIFY_FAILED: Eina.Error; [[Failed to verify peer's certificate]]
class @beta Efl.Net.Socket_Ssl extends Efl.Loop_Consumer implements Efl.Net.Socket {
[[A wrapper socket doing SSL (Secure Sockets Layer).

View File

@ -1,3 +1,3 @@
import eina_types;
var Efl.Net.Error.COULDNT_RESOLVE_HOST: Eina.Error; [[Could not resolve the given host name]]
var @beta Efl.Net.Error.COULDNT_RESOLVE_HOST: Eina.Error; [[Could not resolve the given host name]]

View File

@ -11,7 +11,7 @@ ecore_file_src = [
if sys_windows == true
ecore_file_src += [ 'ecore_file_monitor_win32.c']
elif cc.has_header('sys/inotify.h')
elif sys_linux == true
ecore_file_src += [ 'ecore_file_monitor_inotify.c']
else
ecore_file_src += [ 'ecore_file_monitor_poll.c']

View File

@ -1,4 +1,4 @@
class Ector.Cairo.Software.Surface extends Ector.Cairo.Surface implements Ector.Software.Buffer.Base
class @beta Ector.Cairo.Software.Surface extends Ector.Cairo.Surface implements Ector.Software.Buffer.Base
{
[[Ector surface on a cairo software backend

View File

@ -1,6 +1,6 @@
struct @extern cairo_t; [[cairo_t type]]
class Ector.Cairo.Surface extends Efl.Object implements Ector.Surface
class @beta Ector.Cairo.Surface extends Efl.Object implements Ector.Surface
{
[[Ector surface on a cairo backend

View File

@ -1,4 +1,4 @@
abstract Ector.Renderer.Cairo extends Ector.Renderer
abstract @beta Ector.Renderer.Cairo extends Ector.Renderer
{
[[Ector cairo renderer abstract class]]
methods {

View File

@ -1,4 +1,4 @@
class Ector.Renderer.Cairo.Gradient.Linear extends Ector.Renderer.Cairo implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Linear, Efl.Gfx.Path
class @beta Ector.Renderer.Cairo.Gradient.Linear extends Ector.Renderer.Cairo implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Linear, Efl.Gfx.Path
{
[[Ector cairo renderer gradient linear]]
eo_prefix: ector_renderer_cairo_gradient_linear;

View File

@ -1,4 +1,4 @@
class Ector.Renderer.Cairo.Gradient.Radial extends Ector.Renderer.Cairo implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Radial, Efl.Gfx.Path
class @beta Ector.Renderer.Cairo.Gradient.Radial extends Ector.Renderer.Cairo implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Radial, Efl.Gfx.Path
{
[[Ector cairo renderer gradient radial]]
eo_prefix: ector_renderer_cairo_gradient_radial;

View File

@ -1,4 +1,4 @@
class Ector.Renderer.Cairo.Shape extends Ector.Renderer.Cairo implements Ector.Renderer.Shape, Efl.Gfx.Path
class @beta Ector.Renderer.Cairo.Shape extends Ector.Renderer.Cairo implements Ector.Renderer.Shape, Efl.Gfx.Path
{
[[Ector cairo renderer shape class]]
eo_prefix: ector_renderer_cairo_shape;

View File

@ -21,7 +21,7 @@ enum @beta Ector.Buffer.Access_Flag {
cow = 0x4, [[Forces copy-on-write if already mapped as read-only. Requires write.]]
}
mixin Ector.Buffer
mixin @beta Ector.Buffer
{
[[2D pixel buffer interface for Ector

View File

@ -1,6 +1,6 @@
import eina_types;
abstract Ector.Renderer extends Efl.Object
abstract @beta Ector.Renderer extends Efl.Object
{
[[Ector renderer abstract interface]]

View File

@ -1,4 +1,4 @@
mixin Ector.Renderer.Gradient requires Efl.Object extends Efl.Gfx.Gradient
mixin @beta Ector.Renderer.Gradient requires Efl.Object extends Efl.Gfx.Gradient
{
[[Ector gradient renderer mixin]]
eo_prefix: ector_renderer_gradient;

View File

@ -1,4 +1,4 @@
mixin Ector.Renderer.Gradient.Linear extends Efl.Gfx.Gradient_Linear
mixin @beta Ector.Renderer.Gradient.Linear extends Efl.Gfx.Gradient_Linear
{
[[Ector gradient linear renderer mixin]]
eo_prefix: ector_renderer_gradient_linear;

View File

@ -1,4 +1,4 @@
mixin Ector.Renderer.Gradient.Radial extends Efl.Gfx.Gradient_Radial
mixin @beta Ector.Renderer.Gradient.Radial extends Efl.Gfx.Gradient_Radial
{
[[Ector gradient radial renderer mixin]]
eo_prefix: ector_renderer_gradient_radial;

View File

@ -1,6 +1,6 @@
import ector_renderer;
mixin Ector.Renderer.Shape requires Efl.Object extends Efl.Gfx.Shape
mixin @beta Ector.Renderer.Shape requires Efl.Object extends Efl.Gfx.Shape
{
[[Ector shape renderer mixin]]
eo_prefix: ector_renderer_shape;

View File

@ -1,4 +1,4 @@
mixin Ector.Surface extends Ector.Buffer
mixin @beta Ector.Surface extends Ector.Buffer
{
[[Surface interface for Ector]]

View File

@ -1,4 +1,4 @@
class Ector.GL.Buffer extends Efl.Object implements Ector.Buffer
class @beta Ector.GL.Buffer extends Efl.Object implements Ector.Buffer
{
[[Ector GL buffer class]]
data: null;

View File

@ -1,6 +1,6 @@
import ector_types;
class Ector.GL.Surface extends Ector.GL.Buffer implements Ector.Surface
class @beta Ector.GL.Surface extends Ector.GL.Buffer implements Ector.Surface
{
[[Ector GL surface class]]
eo_prefix: ector_gl_surface;

View File

@ -1,6 +1,6 @@
import ector_types;
abstract Ector.Renderer.GL extends Ector.Renderer
abstract @beta Ector.Renderer.GL extends Ector.Renderer
{
[[Ector GL renderer abstract class]]
methods {

View File

@ -1,4 +1,4 @@
class Ector.Renderer.GL.Gradient.Linear extends Ector.Renderer.GL implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Linear, Efl.Gfx.Path
class @beta Ector.Renderer.GL.Gradient.Linear extends Ector.Renderer.GL implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Linear, Efl.Gfx.Path
{
[[Ector GL renderer gradient linear]]
eo_prefix: ector_renderer_gl_gradient_linear;

View File

@ -1,4 +1,4 @@
class Ector.Renderer.GL.Gradient.Radial extends Ector.Renderer.GL implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Radial, Efl.Gfx.Path
class @beta Ector.Renderer.GL.Gradient.Radial extends Ector.Renderer.GL implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Radial, Efl.Gfx.Path
{
[[Ector GL renderer gradient radial]]
eo_prefix: ector_renderer_gl_gradient_radial;

View File

@ -1,4 +1,4 @@
class Ector.Renderer.GL.Shape extends Ector.Renderer.GL implements Ector.Renderer.Shape, Efl.Gfx.Path
class @beta Ector.Renderer.GL.Shape extends Ector.Renderer.GL implements Ector.Renderer.Shape, Efl.Gfx.Path
{
[[Ector GL renderer shape class]]
eo_prefix: ector_renderer_gl_shape;

View File

@ -1,4 +1,4 @@
abstract Ector.Renderer.Software extends Ector.Renderer
abstract @beta Ector.Renderer.Software extends Ector.Renderer
{
[[Ector software renderer class]]
data: null;

View File

@ -1,4 +1,4 @@
class Ector.Renderer.Software.Gradient.Linear extends Ector.Renderer.Software implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Linear
class @beta Ector.Renderer.Software.Gradient.Linear extends Ector.Renderer.Software implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Linear
{
[[Ector software renderer gradient linear class]]
eo_prefix: ector_renderer_software_gradient_linear;

View File

@ -1,4 +1,4 @@
class Ector.Renderer.Software.Gradient.Radial extends Ector.Renderer.Software implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Radial
class @beta Ector.Renderer.Software.Gradient.Radial extends Ector.Renderer.Software implements Ector.Renderer.Gradient, Ector.Renderer.Gradient.Radial
{
[[Ector software renderer gradient radial]]
eo_prefix: ector_renderer_software_gradient_radial;

View File

@ -1,4 +1,4 @@
class Ector.Renderer.Software.Shape extends Ector.Renderer.Software implements Ector.Renderer.Shape
class @beta Ector.Renderer.Software.Shape extends Ector.Renderer.Software implements Ector.Renderer.Shape
{
[[Ector software renderer shape class]]
eo_prefix: ector_renderer_software_shape;

View File

@ -1,4 +1,4 @@
class Ector.Software.Buffer extends Efl.Object implements Ector.Software.Buffer.Base
class @beta Ector.Software.Buffer extends Efl.Object implements Ector.Software.Buffer.Base
{
[[Ector software buffer class]]
data: null;

View File

@ -1,4 +1,4 @@
mixin Ector.Software.Buffer.Base extends Ector.Buffer
mixin @beta Ector.Software.Buffer.Base extends Ector.Buffer
{
[[A buffer in Ector Software is a readable & optionally writable image]]
eo_prefix: ector_software_buffer;

View File

@ -1,4 +1,4 @@
class Ector.Software.Surface extends Ector.Software.Buffer implements Ector.Surface
class @beta Ector.Software.Surface extends Ector.Software.Buffer implements Ector.Surface
{
[[Ector surface software class]]
eo_prefix: ector_software_surface;

View File

@ -3166,26 +3166,56 @@ EAPI void edje_object_item_provider_set(Edje_Object *obj, Edje_Item_Provider_Cb
*/
EAPI const char *edje_object_color_class_description_get(const Edje_Object *obj, const char * color_class);
typedef Efl_Canvas_Layout_Part_Type Edje_Part_Type;
#define EDJE_PART_TYPE_NONE EFL_CANVAS_LAYOUT_PART_TYPE_NONE
#define EDJE_PART_TYPE_RECTANGLE EFL_CANVAS_LAYOUT_PART_TYPE_RECTANGLE
#define EDJE_PART_TYPE_TEXT EFL_CANVAS_LAYOUT_PART_TYPE_TEXT
#define EDJE_PART_TYPE_IMAGE EFL_CANVAS_LAYOUT_PART_TYPE_IMAGE
#define EDJE_PART_TYPE_SWALLOW EFL_CANVAS_LAYOUT_PART_TYPE_SWALLOW
#define EDJE_PART_TYPE_TEXTBLOCK EFL_CANVAS_LAYOUT_PART_TYPE_TEXTBLOCK
#define EDJE_PART_TYPE_GRADIENT EFL_CANVAS_LAYOUT_PART_TYPE_GRADIENT
#define EDJE_PART_TYPE_GROUP EFL_CANVAS_LAYOUT_PART_TYPE_GROUP
#define EDJE_PART_TYPE_BOX EFL_CANVAS_LAYOUT_PART_TYPE_BOX
#define EDJE_PART_TYPE_TABLE EFL_CANVAS_LAYOUT_PART_TYPE_TABLE
#define EDJE_PART_TYPE_EXTERNAL EFL_CANVAS_LAYOUT_PART_TYPE_EXTERNAL
#define EDJE_PART_TYPE_PROXY EFL_CANVAS_LAYOUT_PART_TYPE_PROXY
#define EDJE_PART_TYPE_SPACER EFL_CANVAS_LAYOUT_PART_TYPE_SPACER
#define EDJE_PART_TYPE_MESH_NODE EFL_CANVAS_LAYOUT_PART_TYPE_MESH_NODE
#define EDJE_PART_TYPE_LIGHT EFL_CANVAS_LAYOUT_PART_TYPE_LIGHT
#define EDJE_PART_TYPE_CAMERA EFL_CANVAS_LAYOUT_PART_TYPE_CAMERA
#define EDJE_PART_TYPE_SNAPSHOT EFL_CANVAS_LAYOUT_PART_TYPE_SNAPSHOT
#define EDJE_PART_TYPE_VECTOR EFL_CANVAS_LAYOUT_PART_TYPE_VECTOR
#define EDJE_PART_TYPE_LAST EFL_CANVAS_LAYOUT_PART_TYPE_LAST
/**
* @defgroup Edje_Object_Part Edje Part
*
* @brief Functions that deal with layout components
*
* Parts are layout components, but as a layout, they are objects too.
*
* There are several types of parts, these types can be divided into two
* main categories, the first being containers. Containers are parts
* that are in effect a group of elements. The second group is that of
* the elements, these part types may not contain others.
*
* This section has some functions specific for some types and others that
* could be applied to any type.
*
* @ingroup Edje_Object_Group
*
* @{
*/
/**
* @typedef Edje_Part_Type
*
* All possible "part" types in Edje
*/
typedef enum _Edje_Part_Type
{
EDJE_PART_TYPE_NONE = 0, /**< None type value */
EDJE_PART_TYPE_RECTANGLE = 1, /**< Rectangle type value */
EDJE_PART_TYPE_TEXT = 2, /**< Text type value */
EDJE_PART_TYPE_IMAGE = 3, /**< Image type value */
EDJE_PART_TYPE_SWALLOW = 4, /**< Swallow type value */
EDJE_PART_TYPE_TEXTBLOCK = 5, /**< Text block type value */
EDJE_PART_TYPE_GRADIENT = 6, /**< Gradient type value */
EDJE_PART_TYPE_GROUP = 7, /**< Group type value */
EDJE_PART_TYPE_BOX = 8, /**< Box type value */
EDJE_PART_TYPE_TABLE = 9, /**< Table type value */
EDJE_PART_TYPE_EXTERNAL = 10, /**< External type value */
EDJE_PART_TYPE_PROXY = 11, /**< Proxy type value */
EDJE_PART_TYPE_SPACER = 12, /**< Spacer type value @since 1.7 */
EDJE_PART_TYPE_MESH_NODE = 13,
EDJE_PART_TYPE_LIGHT = 14,
EDJE_PART_TYPE_CAMERA = 15,
EDJE_PART_TYPE_SNAPSHOT = 16, /**< Snapshot @since 1.16 */
EDJE_PART_TYPE_VECTOR = 17, /**< Vector @since 1.18 */
EDJE_PART_TYPE_LAST = 18 /**< Last type value */
} Edje_Part_Type;
/**
* @}
*/
/**
* @}

View File

@ -1,4 +1,4 @@
enum Efl.Canvas.Layout_Part_Type
enum @beta Efl.Canvas.Layout_Part_Type
{
[[Type of a part in an Efl.Canvas.Layout object (edje object).]]
none = 0, [[None type value, indicates invalid parts.]]

View File

@ -235,7 +235,7 @@ interface Efl.Canvas.Scene
object,focus,out: Efl.Input.Focus; [[Called when object lost focus]]
render,pre: void; [[Called when pre render happens]]
/* FIXME: event_info can be NULL, but @nullable tag does not work on events yet */
render,post: Efl.Gfx.Event.Render_Post; [[Called when post render happens]]
render,post @beta: Efl.Gfx.Event.Render_Post; [[Called when post render happens]]
device,changed @beta : Efl.Input.Device; [[Called when input device changed]]
device,added @beta: Efl.Input.Device; [[Called when input device was added]]
device,removed @beta : Efl.Input.Device; [[Called when input device was removed]]

View File

@ -197,14 +197,14 @@ enum @beta Efl.Gfx.Color_Class_Layer {
type @beta Efl.Font.Size: int; [[Efl font size type]]
var Efl.Gfx.Image.Load_Error.NONE: Eina.Error; [[No error on load]]
var Efl.Gfx.Image.Load_Error.GENERIC: Eina.Error; [[A non-specific error occurred]]
var Efl.Gfx.Image.Load_Error.DOES_NOT_EXIST: Eina.Error; [[File (or file path) does not exist]]
var Efl.Gfx.Image.Load_Error.PERMISSION_DENIED: Eina.Error; [[Permission denied to an existing file (or path)]]
var Efl.Gfx.Image.Load_Error.RESOURCE_ALLOCATION_FAILED: Eina.Error; [[Allocation of resources failure prevented load]]
var Efl.Gfx.Image.Load_Error.CORRUPT_FILE: Eina.Error; [[File corrupt (but was detected as a known format)]]
var Efl.Gfx.Image.Load_Error.UNKNOWN_FORMAT: Eina.Error; [[File is not a known format]]
var Efl.Gfx.Image.Load_Error.CANCELLED: Eina.Error; [[Reading operation has been cancelled during decoding]]
var Efl.Gfx.Image.Load_Error.INCOMPATIBLE_FILE: Eina.Error; [[(Edje only) The file pointed to is incompatible, i.e., it doesn't match the library's current version's format.]]
var Efl.Gfx.Image.Load_Error.UNKNOWN_COLLECTION: Eina.Error; [[(Edje only) The group/collection set to load from was not found in the file]]
var Efl.Gfx.Image.Load_Error.RECURSIVE_REFERENCE: Eina.Error; [[(Edje only) The group/collection set to load from had recursive references on its components]]
var @beta Efl.Gfx.Image.Load_Error.NONE: Eina.Error; [[No error on load]]
var @beta Efl.Gfx.Image.Load_Error.GENERIC: Eina.Error; [[A non-specific error occurred]]
var @beta Efl.Gfx.Image.Load_Error.DOES_NOT_EXIST: Eina.Error; [[File (or file path) does not exist]]
var @beta Efl.Gfx.Image.Load_Error.PERMISSION_DENIED: Eina.Error; [[Permission denied to an existing file (or path)]]
var @beta Efl.Gfx.Image.Load_Error.RESOURCE_ALLOCATION_FAILED: Eina.Error; [[Allocation of resources failure prevented load]]
var @beta Efl.Gfx.Image.Load_Error.CORRUPT_FILE: Eina.Error; [[File corrupt (but was detected as a known format)]]
var @beta Efl.Gfx.Image.Load_Error.UNKNOWN_FORMAT: Eina.Error; [[File is not a known format]]
var @beta Efl.Gfx.Image.Load_Error.CANCELLED: Eina.Error; [[Reading operation has been cancelled during decoding]]
var @beta Efl.Gfx.Image.Load_Error.INCOMPATIBLE_FILE: Eina.Error; [[(Edje only) The file pointed to is incompatible, i.e., it doesn't match the library's current version's format.]]
var @beta Efl.Gfx.Image.Load_Error.UNKNOWN_COLLECTION: Eina.Error; [[(Edje only) The group/collection set to load from was not found in the file]]
var @beta Efl.Gfx.Image.Load_Error.RECURSIVE_REFERENCE: Eina.Error; [[(Edje only) The group/collection set to load from had recursive references on its components]]

View File

@ -29,7 +29,7 @@ enum @beta Efl.Pointer.Flags
triple_click = (1 << 1), [[This mouse button press was the 3rd press of a triple click]]
}
enum Efl.Input.Flags
enum @beta Efl.Input.Flags
{
[[Special flags set during an input event propagation.
@ -48,7 +48,7 @@ enum Efl.Input.Flags
actually perform anything.]]
}
enum Efl.Input.Object_Pointer_Mode {
enum @beta Efl.Input.Object_Pointer_Mode {
[[How the mouse pointer should be handled by EFL.
In the mode $autograb, when a mouse button is pressed down over an

View File

@ -5,7 +5,7 @@ struct @beta Eio.Sentry.Event
source: string; [[The original monitored path.]]
}
class Eio.Sentry extends Efl.Object
class @beta Eio.Sentry extends Efl.Object
{
[[Monitors files and directories for changes.]]

View File

@ -1,6 +1,6 @@
import eldbus_types;
class Eldbus.Model extends Efl.Loop_Model {
class @beta Eldbus.Model extends Efl.Loop_Model {
methods {
connect {
[[Define connection parameters.

View File

@ -1,6 +1,6 @@
import eldbus_types;
class Eldbus.Model.Arguments extends Eldbus.Model {
class @beta Eldbus.Model.Arguments extends Eldbus.Model {
[[Eldbus model arguments class]]
methods {

View File

@ -1,4 +1,4 @@
class Eldbus.Model.Connection extends Eldbus.Model {
class @beta Eldbus.Model.Connection extends Eldbus.Model {
[[Eldbus model connection class]]
implements {

View File

@ -1,6 +1,6 @@
import eldbus_types;
class Eldbus.Model.Method extends Eldbus.Model.Arguments {
class @beta Eldbus.Model.Method extends Eldbus.Model.Arguments {
[[Eldbus model method class]]
methods {
@property proxy {

View File

@ -1,4 +1,4 @@
class Eldbus.Model.Object extends Eldbus.Model {
class @beta Eldbus.Model.Object extends Eldbus.Model {
[[Eldbus model object class]]
data: Eldbus_Model_Object_Data;

View File

@ -1,6 +1,6 @@
import eldbus_types;
class Eldbus.Model.Proxy extends Eldbus.Model {
class @beta Eldbus.Model.Proxy extends Eldbus.Model {
[[Eldbus model proxy class]]
methods {

View File

@ -1,4 +1,4 @@
class Eldbus.Model.Signal extends Eldbus.Model.Arguments {
class @beta Eldbus.Model.Signal extends Eldbus.Model.Arguments {
[[Eldbus model signal class]]
methods {

View File

@ -232,9 +232,10 @@ _canvas_object_deleted(void *data, const Efl_Event *ev EINA_UNUSED)
}
static void
_new_geom(void *data, const Efl_Event *event)
_new_geom(void *data, const Efl_Event *event EINA_UNUSED)
{
efl_event_callback_call(data, EFL_UI_FOCUS_OBJECT_EVENT_FOCUS_GEOMETRY_CHANGED, event->info);
Eina_Rect rect = efl_ui_focus_object_focus_geometry_get(data);
efl_event_callback_call(data, EFL_UI_FOCUS_OBJECT_EVENT_FOCUS_GEOMETRY_CHANGED, &rect);
}
EFL_CALLBACKS_ARRAY_DEFINE(canvas_obj,

View File

@ -81,6 +81,6 @@ mixin Efl.Ui.Focus.Object
focus_parent,changed: Efl.Ui.Focus.Object; [[Emitted when a new logical
parent should be used.]]
child_focus,changed: bool; [[Emitted if child_focus has changed.]]
focus_geometry,changed: void; [[Emitted if focus geometry of this object has changed.]]
focus_geometry,changed: Eina.Rect; [[Emitted if focus geometry of this object has changed.]]
}
}

View File

@ -1340,7 +1340,7 @@ _x11_drag_mouse_up(void *data, int etype EINA_UNUSED, void *event)
{
Evas_Object *win = elm_widget_top_get(seat_sel->drag_obj);
if (win && efl_isa(win, EFL_UI_WIN_CLASS))
efl_event_callback_del(win, EFL_UI_WIN_EVENT_ROTATION_CHANGED,
efl_event_callback_del(win, EFL_UI_WIN_EVENT_WIN_ROTATION_CHANGED,
_x11_win_rotation_changed_cb, seat_sel->drag_win);
}
}
@ -1496,7 +1496,7 @@ _x11_efl_sel_manager_drag_start(Eo *obj EINA_UNUSED, Efl_Ui_Selection_Manager_Da
if (win && efl_isa(win, EFL_UI_WIN_CLASS))
{
elm_win_rotation_set(seat_sel->drag_win, elm_win_rotation_get(win));
efl_event_callback_add(win, EFL_UI_WIN_EVENT_ROTATION_CHANGED,
efl_event_callback_add(win, EFL_UI_WIN_EVENT_WIN_ROTATION_CHANGED,
_x11_win_rotation_changed_cb, seat_sel->drag_win);
}
}
@ -4927,7 +4927,7 @@ _efl_ui_selection_manager_drag_cancel(Eo *obj EINA_UNUSED, Efl_Ui_Selection_Mana
{
Evas_Object *win = elm_widget_top_get(seat_sel->drag_obj);
if (win && efl_isa(win, EFL_UI_WIN_CLASS))
efl_event_callback_del(win, EFL_UI_WIN_EVENT_ROTATION_CHANGED,
efl_event_callback_del(win, EFL_UI_WIN_EVENT_WIN_ROTATION_CHANGED,
_x11_win_rotation_changed_cb, seat_sel->drag_win);
}
}

View File

@ -1460,6 +1460,9 @@ _efl_ui_widget_widget_sub_object_add(Eo *obj, Elm_Widget_Smart_Data *sd, Evas_Ob
{
Efl_Ui_Widget *parent;
if (!sobj) return EINA_FALSE;
EINA_SAFETY_ON_TRUE_RETURN_VAL(obj == sobj, EINA_FALSE);
//first make sure that we unregister the sobj from the parent
if (elm_widget_is(sobj))
parent = efl_ui_widget_parent_get(sobj);

View File

@ -253,7 +253,15 @@ abstract Efl.Ui.Widget extends Efl.Canvas.Group implements Efl.Access.Object,
/* Internal hooks. */
widget_sub_object_add @protected {
[[Virtual function handling sub objects being added.
[[Virtual function customizing sub objects being added.
When a widget is added as a sub-object of another widget (like list
elements inside a list container, for example) some of its properties
are automatically adapted to the parent's current values (like focus,
access, theme, scale, mirror, scrollable child get, translate,
display mode set, tree dump).
Override this method if you want to customize differently sub-objects
being added to this object.
Sub objects can be any canvas object, not necessarily widgets.
@ -266,11 +274,17 @@ abstract Efl.Ui.Widget extends Efl.Canvas.Group implements Efl.Access.Object,
return: bool; [[Indicates if the operation succeeded.]]
}
widget_sub_object_del @protected {
[[Virtual function handling sub objects being removed.
[[Virtual function customizing sub objects being removed.
When a widget is removed as a sub-object from another widget
(@Efl.Pack.unpack, @Efl.Content.content_unset, for example) some of
its properties are automatically adjusted.(like focus, access, tree dump)
Override this method if you want to customize differently sub-objects
being removed to this object.
Sub objects can be any canvas object, not necessarily widgets.
See also @.widget_parent.
See also @.widget_parent and @.widget_sub_object_add.
]]
params {
@in sub_obj: Efl.Canvas.Object;
@ -381,10 +395,10 @@ abstract Efl.Ui.Widget extends Efl.Canvas.Group implements Efl.Access.Object,
return: bool; [[Returns $true if the widget is registered in the focus manager, $false if not.]]
}
}
parts {
shadow: Efl.Ui.Widget_Part_Shadow;
background: Efl.Ui.Widget_Part_Bg;
}
// parts {
// shadow: Efl.Ui.Widget_Part_Shadow;
// background: Efl.Ui.Widget_Part_Bg;
// }
implements {
class.constructor;
Efl.Object.constructor;
@ -424,7 +438,7 @@ abstract Efl.Ui.Widget extends Efl.Canvas.Group implements Efl.Access.Object,
.style @optional;
}
events {
language,changed: void; [[Called when widget language changed]]
language,changed @beta: void; [[Called when widget language changed]]
access,changed @beta: void; [[Called when accessibility changed]]
}
}

View File

@ -1644,8 +1644,9 @@ _win_rotate(Evas_Object *obj, Efl_Ui_Win_Data *sd, int rotation, Eina_Bool resiz
_elm_win_xwin_update(sd);
#endif
_elm_win_frame_obj_update(sd, 0);
efl_event_callback_legacy_call
(obj, EFL_UI_WIN_EVENT_ROTATION_CHANGED, NULL);
efl_event_callback_call
(obj, EFL_UI_WIN_EVENT_WIN_ROTATION_CHANGED, (void*)(uintptr_t)rotation);
evas_object_smart_callback_call(obj, "rotation,changed", NULL);
if (_elm_config->atspi_mode)
{
Evas_Coord x = 0, y = 0, width = 0, height = 0;
@ -1796,35 +1797,39 @@ _elm_win_state_change(Ecore_Evas *ee)
#endif
if (ch_fullscreen)
{
Eina_Bool fullscreen;
ELM_WIN_DATA_ALIVE_CHECK(obj, sd);
_elm_win_frame_style_update(sd, 0, 1);
fullscreen = sd->fullscreen;
if (sd->fullscreen)
{
efl_event_callback_legacy_call
(obj, EFL_UI_WIN_EVENT_FULLSCREEN, NULL);
evas_object_smart_callback_call(obj, "fullscreen", NULL);
}
else
{
efl_event_callback_legacy_call
(obj, EFL_UI_WIN_EVENT_UNFULLSCREEN, NULL);
evas_object_smart_callback_call(obj, "unfullscreen", NULL);
}
efl_event_callback_call(obj, EFL_UI_WIN_EVENT_FULLSCREEN_CHANGED, (void*) (uintptr_t)fullscreen);
}
if (ch_maximized)
{
Eina_Bool maximized;
ELM_WIN_DATA_ALIVE_CHECK(obj, sd);
_elm_win_frame_style_update(sd, 0, 1);
maximized = sd->maximized;
if (sd->maximized)
{
efl_event_callback_legacy_call(obj, EFL_UI_WIN_EVENT_MAXIMIZED, NULL);
evas_object_smart_callback_call(obj, "maximized", NULL);
if (_elm_config->atspi_mode)
efl_access_window_maximized_signal_emit(obj);
}
else
{
efl_event_callback_legacy_call(obj, EFL_UI_WIN_EVENT_UNMAXIMIZED, NULL);
evas_object_smart_callback_call(obj, "unmaximized", NULL);
if (_elm_config->atspi_mode)
efl_access_window_restored_signal_emit(obj);
}
efl_event_callback_call(obj, EFL_UI_WIN_EVENT_MAXIMIZED_CHANGED, (void*) (uintptr_t)maximized);
}
if (ch_profile)
{
@ -2003,7 +2008,7 @@ _elm_win_evas_render_post(void *data,
Efl_Gfx_Event_Render_Post *ev = event_info;
Eo *win = data;
efl_event_callback_legacy_call(win, EFL_CANVAS_SCENE_EVENT_RENDER_POST, ev);
efl_event_callback_call(win, EFL_CANVAS_SCENE_EVENT_RENDER_POST, ev);
}
static void
@ -2014,7 +2019,7 @@ _elm_win_evas_render_pre(void *data,
Eo *win = data;
_elm_win_throttle_ok = EINA_TRUE;
efl_event_callback_legacy_call(win, EFL_CANVAS_SCENE_EVENT_RENDER_PRE, NULL);
efl_event_callback_call(win, EFL_CANVAS_SCENE_EVENT_RENDER_PRE, NULL);
}
static void
@ -2025,7 +2030,7 @@ _elm_win_evas_focus_in(void *data,
Eo *win = data;
_elm_win_throttle_ok = EINA_TRUE;
efl_event_callback_legacy_call(win, EFL_CANVAS_SCENE_EVENT_SCENE_FOCUS_IN, NULL);
efl_event_callback_call(win, EFL_CANVAS_SCENE_EVENT_SCENE_FOCUS_IN, NULL);
}
static void
@ -2035,7 +2040,7 @@ _elm_win_evas_focus_out(void *data,
{
Eo *win = data;
efl_event_callback_legacy_call(win, EFL_CANVAS_SCENE_EVENT_SCENE_FOCUS_OUT, NULL);
efl_event_callback_call(win, EFL_CANVAS_SCENE_EVENT_SCENE_FOCUS_OUT, NULL);
}
static void
@ -2047,7 +2052,7 @@ _elm_win_evas_object_focus_in(void *data,
Eo *win = data;
_elm_win_throttle_ok = EINA_TRUE;
efl_event_callback_legacy_call(win, EFL_CANVAS_SCENE_EVENT_OBJECT_FOCUS_IN, object);
efl_event_callback_call(win, EFL_CANVAS_SCENE_EVENT_OBJECT_FOCUS_IN, object);
}
static void
@ -2058,7 +2063,7 @@ _elm_win_evas_object_focus_out(void *data,
Eo *object = event_info;
Eo *win = data;
efl_event_callback_legacy_call(win, EFL_CANVAS_SCENE_EVENT_OBJECT_FOCUS_OUT, object);
efl_event_callback_call(win, EFL_CANVAS_SCENE_EVENT_OBJECT_FOCUS_OUT, object);
}
static void
@ -2069,7 +2074,7 @@ _elm_win_evas_device_changed(void *data,
Eo *device = event_info;
Eo *win = data;
efl_event_callback_legacy_call(win, EFL_CANVAS_SCENE_EVENT_DEVICE_CHANGED, device);
efl_event_callback_call(win, EFL_CANVAS_SCENE_EVENT_DEVICE_CHANGED, device);
}
static void

View File

@ -875,12 +875,10 @@ class Efl.Ui.Win extends Efl.Ui.Widget implements Efl.Canvas.Scene, Efl.Access.W
normal: void; [[Called when window is set to normal state]]
stick @beta: void; [[Called when window is set as sticky]]
unstick @beta: void; [[Called when window is no longer set as sticky]]
fullscreen: void; [[Called when window is set to fullscreen]]
unfullscreen: void; [[Called when window is no longer set to fullscreen]]
maximized: void; [[Called when window is set to maximized]]
unmaximized: void; [[Called when window is no longer set to maximized]]
fullscreen,changed: bool; [[Called when window is set to or from fullscreen]]
maximized,changed: bool; [[Called when window is set to or from maximized]]
indicator,prop,changed @beta: void; [[Called when indicator is property changed]]
rotation,changed: void; [[Called when window rotation is changed]]
win_rotation,changed: int; [[Called when window rotation is changed, sends current rotation in degrees]]
profile,changed @beta: void; [[Called when profile is changed]]
wm,rotation,changed @beta: void; [[Called when window manager rotation is changed]]
theme,changed: void; [[Called when theme is changed]]

View File

@ -1,4 +1,4 @@
class Elm_Actionslider.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm_Actionslider.Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary Actionslider internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm_Bubble.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm_Bubble.Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary Bubble internal part class]]
data: null;

View File

@ -15,7 +15,7 @@ enum @beta Elm.Code_Widget_Scroller_Policy
struct @extern Elm.Code; [[Elementary code main data structure]] /* The main interface currently defined in code */
struct @extern Elm.Code_Line; [[Elementary code line data structure]] /* Parts of the interface currently defined in code */
class Elm.Code_Widget extends Efl.Ui.Layout_Base
class @beta Elm.Code_Widget extends Efl.Ui.Layout_Base
{
[[Elementary code widget]]
eo_prefix: efl_ui_code_widget;

View File

@ -960,7 +960,7 @@ _elm_conformant_efl_canvas_group_group_del(Eo *obj, Elm_Conformant_Data *sd)
evas_object_data_set(sd->win, "\377 elm,conformant", NULL);
efl_event_callback_del(sd->win, EFL_UI_WIN_EVENT_INDICATOR_PROP_CHANGED, _on_indicator_mode_changed, obj);
efl_event_callback_del(sd->win, EFL_UI_WIN_EVENT_ROTATION_CHANGED, _on_rotation_changed, obj);
efl_event_callback_del(sd->win, EFL_UI_WIN_EVENT_WIN_ROTATION_CHANGED, _on_rotation_changed, obj);
efl_canvas_group_del(efl_super(obj, MY_CLASS));
}
@ -1014,7 +1014,7 @@ _elm_conformant_efl_object_constructor(Eo *obj, Elm_Conformant_Data *sd)
evas_object_data_set(sd->win, "\377 elm,conformant", obj);
efl_event_callback_add(sd->win, EFL_UI_WIN_EVENT_INDICATOR_PROP_CHANGED, _on_indicator_mode_changed, obj);
efl_event_callback_add(sd->win, EFL_UI_WIN_EVENT_ROTATION_CHANGED, _on_rotation_changed, obj);
efl_event_callback_add(sd->win, EFL_UI_WIN_EVENT_WIN_ROTATION_CHANGED, _on_rotation_changed, obj);
return obj;
}

View File

@ -1,4 +1,4 @@
class Elm.Ctxpopup.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm.Ctxpopup.Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary contex popup internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm.Dayselector.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm.Dayselector.Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary dayselector internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm.Entry.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm.Entry.Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary entry internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm.Fileselector.Entry.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm.Fileselector.Entry.Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary fileselector entry internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm.Fileselector.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm.Fileselector.Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary fileselector entry internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm.Flip.Part extends Efl.Object implements Efl.Content
class @beta Elm.Flip.Part extends Efl.Object implements Efl.Content
{
[[Elementary flip internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm.Hover.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm.Hover.Part extends Efl.Ui.Layout_Part_Legacy
{
[[elementary hover internal part class]]
data: null;

View File

@ -27,7 +27,7 @@ enum Elm.Scroller.Single_Direction
last [[Sentinel value to indicate last enum field during iteration]]
}
mixin Elm.Interface_Scrollable requires Efl.Ui.Widget extends Efl.Ui.Scrollable, Efl.Ui.Focus.Manager_Sub, Efl.Ui.Widget_Focus_Manager
mixin @beta Elm.Interface_Scrollable requires Efl.Ui.Widget extends Efl.Ui.Scrollable, Efl.Ui.Focus.Manager_Sub, Efl.Ui.Widget_Focus_Manager
{
[[Elm scrollable mixin]]
eo_prefix: elm_interface_scrollable;

View File

@ -1,4 +1,4 @@
class Elm_Label.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm_Label.Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary button internal part class]]
data: null;

View File

@ -46,7 +46,8 @@ EAPI Elm_Version *elm_version = &_version;
static void
_focus_ev_redirect_cb(void *data, const Efl_Event *ev EINA_UNUSED)
{
efl_event_callback_call(data, EFL_UI_FOCUS_OBJECT_EVENT_FOCUS_GEOMETRY_CHANGED, NULL);
Eina_Rect rect = efl_ui_focus_object_focus_geometry_get(data);
efl_event_callback_call(data, EFL_UI_FOCUS_OBJECT_EVENT_FOCUS_GEOMETRY_CHANGED, &rect);
}
void

View File

@ -1,4 +1,4 @@
class Elm.Mapbuf.Part extends Efl.Ui.Widget_Part implements Efl.Content
class @beta Elm.Mapbuf.Part extends Efl.Ui.Widget_Part implements Efl.Content
{
[[Elementary mapbuf internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm.Multibuttonentry_Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm.Multibuttonentry_Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary multibuttonentry internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm.Naviframe.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm.Naviframe.Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary naviframe internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm.Notify.Part extends Efl.Ui.Widget_Part implements Efl.Content, Efl.Text,
class @beta Elm.Notify.Part extends Efl.Ui.Widget_Part implements Efl.Content, Efl.Text,
Efl.Ui.L10n
{
[[Elementary notification internel part class]]

View File

@ -1,4 +1,4 @@
class Elm.Panel.Part extends Efl.Ui.Widget_Part implements Efl.Content
class @beta Elm.Panel.Part extends Efl.Ui.Widget_Part implements Efl.Content
{
[[Elementary panel internal part class]]
data: null;

View File

@ -1,4 +1,4 @@
class Elm.Player.Part extends Efl.Ui.Layout_Part_Legacy
class @beta Elm.Player.Part extends Efl.Ui.Layout_Part_Legacy
{
[[Elementary player internal part class]]
data: null;

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