#ifndef EFL_CANVAS_TEXT_IMPL_HH
#define EFL_CANVAS_TEXT_IMPL_HH

#include "efl_canvas_text.eo.hh"

namespace efl { namespace canvas { 
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Text::is_empty_get() const
{
    Eina_Bool __return_value =  ::efl_canvas_text_is_empty_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text::style_insets_get( ::efl::eolian::out_traits<int>::type l,  ::efl::eolian::out_traits<int>::type r,  ::efl::eolian::out_traits<int>::type t,  ::efl::eolian::out_traits<int>::type b) const
{
    int __out_param_l = {};
    int __out_param_r = {};
    int __out_param_t = {};
    int __out_param_b = {};
     ::efl_canvas_text_style_insets_get(_eo_ptr(),
        & __out_param_l,
        & __out_param_r,
        & __out_param_t,
        & __out_param_b);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(l, __out_param_l);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(r, __out_param_r);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(t, __out_param_t);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(b, __out_param_b);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits< ::efl::eina::string_view>::type Text::bidi_delimiters_get() const
{
    const char * __return_value =  ::efl_canvas_text_bidi_delimiters_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::string_view>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text::bidi_delimiters_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type delim) const
{
     ::efl_canvas_text_bidi_delimiters_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(delim));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Text::legacy_newline_get() const
{
    Eina_Bool __return_value =  ::efl_canvas_text_legacy_newline_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text::legacy_newline_set( ::efl::eolian::in_traits<bool>::type mode) const
{
     ::efl_canvas_text_legacy_newline_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(mode));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits< ::efl::eina::string_view>::type Text::style_get( ::efl::eolian::in_traits< ::efl::eina::string_view>::type key) const
{
    const char * __return_value =  ::efl_canvas_text_style_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(key));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::string_view>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text::style_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type key,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type style) const
{
     ::efl_canvas_text_style_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(key),
         ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(style));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text::size_formatted_get( ::efl::eolian::out_traits<int>::type w,  ::efl::eolian::out_traits<int>::type h) const
{
    int __out_param_w = {};
    int __out_param_h = {};
     ::efl_canvas_text_size_formatted_get(_eo_ptr(),
        & __out_param_w,
        & __out_param_h);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(w, __out_param_w);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(h, __out_param_h);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text::size_native_get( ::efl::eolian::out_traits<int>::type w,  ::efl::eolian::out_traits<int>::type h) const
{
    int __out_param_w = {};
    int __out_param_h = {};
     ::efl_canvas_text_size_native_get(_eo_ptr(),
        & __out_param_w,
        & __out_param_h);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(w, __out_param_w);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(h, __out_param_h);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Text::visible_range_get( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type start,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type end) const
{
    Eina_Bool __return_value =  ::efl_canvas_text_visible_range_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(start),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(end));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits< ::std::string>::type Text::range_text_get( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur1,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur2) const
{
    char * __return_value =  ::efl_canvas_text_range_text_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur1),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur2));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::std::string>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits< ::efl::eina::iterator<Eina_Rect const&>>::type Text::range_geometry_get( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur1,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur2) const
{
    Eina_Iterator * __return_value =  ::efl_canvas_text_range_geometry_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur1),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur2));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::iterator<Eina_Rect const&>>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits< ::efl::eina::iterator<Eina_Rect const&>>::type Text::range_simple_geometry_get( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur1,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur2) const
{
    Eina_Iterator * __return_value =  ::efl_canvas_text_range_simple_geometry_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur1),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur2));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::iterator<Eina_Rect const&>>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text::range_delete( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur1,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur2) const
{
     ::efl_canvas_text_range_delete(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur1),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur2));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Text::obstacle_add( ::efl::eolian::in_traits< ::efl::canvas::Object>::type eo_obs) const
{
    Eina_Bool __return_value =  ::efl_canvas_text_obstacle_add(_eo_ptr(),
         ::efl::eolian::convert_to_c< ::Efl_Canvas_Object*,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type>(eo_obs));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Text::obstacle_del( ::efl::eolian::in_traits< ::efl::canvas::Object>::type eo_obs) const
{
    Eina_Bool __return_value =  ::efl_canvas_text_obstacle_del(_eo_ptr(),
         ::efl::eolian::convert_to_c< ::Efl_Canvas_Object*,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type>(eo_obs));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text::obstacles_update() const
{
     ::efl_canvas_text_obstacles_update(_eo_ptr());
}
#endif
} } 
namespace eo_cxx {
namespace efl { namespace canvas { 
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Text::is_empty_get() const
{
    Eina_Bool __return_value =  ::efl_canvas_text_is_empty_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text::style_insets_get( ::efl::eolian::out_traits<int>::type l,  ::efl::eolian::out_traits<int>::type r,  ::efl::eolian::out_traits<int>::type t,  ::efl::eolian::out_traits<int>::type b) const
{
    int __out_param_l = {};
    int __out_param_r = {};
    int __out_param_t = {};
    int __out_param_b = {};
     ::efl_canvas_text_style_insets_get(_eo_ptr(),
        & __out_param_l,
        & __out_param_r,
        & __out_param_t,
        & __out_param_b);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(l, __out_param_l);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(r, __out_param_r);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(t, __out_param_t);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(b, __out_param_b);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits< ::efl::eina::string_view>::type Text::bidi_delimiters_get() const
{
    const char * __return_value =  ::efl_canvas_text_bidi_delimiters_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::string_view>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text::bidi_delimiters_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type delim) const
{
     ::efl_canvas_text_bidi_delimiters_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(delim));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Text::legacy_newline_get() const
{
    Eina_Bool __return_value =  ::efl_canvas_text_legacy_newline_get(_eo_ptr());
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text::legacy_newline_set( ::efl::eolian::in_traits<bool>::type mode) const
{
     ::efl_canvas_text_legacy_newline_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(mode));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits< ::efl::eina::string_view>::type Text::style_get( ::efl::eolian::in_traits< ::efl::eina::string_view>::type key) const
{
    const char * __return_value =  ::efl_canvas_text_style_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(key));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::string_view>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text::style_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type key,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type style) const
{
     ::efl_canvas_text_style_set(_eo_ptr(),
         ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(key),
         ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(style));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text::size_formatted_get( ::efl::eolian::out_traits<int>::type w,  ::efl::eolian::out_traits<int>::type h) const
{
    int __out_param_w = {};
    int __out_param_h = {};
     ::efl_canvas_text_size_formatted_get(_eo_ptr(),
        & __out_param_w,
        & __out_param_h);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(w, __out_param_w);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(h, __out_param_h);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text::size_native_get( ::efl::eolian::out_traits<int>::type w,  ::efl::eolian::out_traits<int>::type h) const
{
    int __out_param_w = {};
    int __out_param_h = {};
     ::efl_canvas_text_size_native_get(_eo_ptr(),
        & __out_param_w,
        & __out_param_h);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(w, __out_param_w);
    ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(h, __out_param_h);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Text::visible_range_get( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type start,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type end) const
{
    Eina_Bool __return_value =  ::efl_canvas_text_visible_range_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(start),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(end));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits< ::std::string>::type Text::range_text_get( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur1,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur2) const
{
    char * __return_value =  ::efl_canvas_text_range_text_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur1),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur2));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::std::string>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits< ::efl::eina::iterator<Eina_Rect const&>>::type Text::range_geometry_get( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur1,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur2) const
{
    Eina_Iterator * __return_value =  ::efl_canvas_text_range_geometry_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur1),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur2));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::iterator<Eina_Rect const&>>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits< ::efl::eina::iterator<Eina_Rect const&>>::type Text::range_simple_geometry_get( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur1,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur2) const
{
    Eina_Iterator * __return_value =  ::efl_canvas_text_range_simple_geometry_get(_eo_ptr(),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur1),
         ::efl::eolian::convert_to_c<const Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur2));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::iterator<Eina_Rect const&>>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text::range_delete( ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur1,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type cur2) const
{
     ::efl_canvas_text_range_delete(_eo_ptr(),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur1),
         ::efl::eolian::convert_to_c<Efl_Text_Cursor_Cursor *,  ::efl::eolian::in_traits<Efl_Text_Cursor_Cursor const*>::type>(cur2));
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Text::obstacle_add( ::efl::eolian::in_traits< ::efl::canvas::Object>::type eo_obs) const
{
    Eina_Bool __return_value =  ::efl_canvas_text_obstacle_add(_eo_ptr(),
         ::efl::eolian::convert_to_c< ::Efl_Canvas_Object*,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type>(eo_obs));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<bool>::type Text::obstacle_del( ::efl::eolian::in_traits< ::efl::canvas::Object>::type eo_obs) const
{
    Eina_Bool __return_value =  ::efl_canvas_text_obstacle_del(_eo_ptr(),
         ::efl::eolian::convert_to_c< ::Efl_Canvas_Object*,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type>(eo_obs));
    return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
#endif
#ifdef EFL_BETA_API_SUPPORT
inline ::efl::eolian::return_traits<void>::type Text::obstacles_update() const
{
     ::efl_canvas_text_obstacles_update(_eo_ptr());
}
#endif
inline efl::canvas::Text::operator ::efl::canvas::Text() const { return *static_cast< ::efl::canvas::Text const*>(static_cast<void const*>(this)); }
inline efl::canvas::Text::operator ::efl::canvas::Text&() { return *static_cast< ::efl::canvas::Text*>(static_cast<void*>(this)); }
inline efl::canvas::Text::operator ::efl::canvas::Text const&() const { return *static_cast< ::efl::canvas::Text const*>(static_cast<void const*>(this)); }
} } }
#endif
