namespace efl { namespace gfx { 
inline ::efl::eolian::return_traits<double>::type Shape::stroke_scale_get() const
{
   double __return_value =  ::efl_gfx_shape_stroke_scale_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<double>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Shape::stroke_scale_set( ::efl::eolian::in_traits<double>::type s) const
{
    ::efl_gfx_shape_stroke_scale_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(s));
}
inline ::efl::eolian::return_traits<void>::type Shape::stroke_color_get( ::efl::eolian::out_traits<int>::type r,  ::efl::eolian::out_traits<int>::type g,  ::efl::eolian::out_traits<int>::type b,  ::efl::eolian::out_traits<int>::type a) const
{
   int __out_param_r = {};
   int __out_param_g = {};
   int __out_param_b = {};
   int __out_param_a = {};
    ::efl_gfx_shape_stroke_color_get(this->_eo_ptr()
      , & __out_param_r
      , & __out_param_g
      , & __out_param_b
      , & __out_param_a);
   ::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>(g, __out_param_g);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(b, __out_param_b);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(a, __out_param_a);
}
inline ::efl::eolian::return_traits<void>::type Shape::stroke_color_set( ::efl::eolian::in_traits<int>::type r,  ::efl::eolian::in_traits<int>::type g,  ::efl::eolian::in_traits<int>::type b,  ::efl::eolian::in_traits<int>::type a) const
{
    ::efl_gfx_shape_stroke_color_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(r)
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(g)
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(b)
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(a));
}
inline ::efl::eolian::return_traits<double>::type Shape::stroke_width_get() const
{
   double __return_value =  ::efl_gfx_shape_stroke_width_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<double>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Shape::stroke_width_set( ::efl::eolian::in_traits<double>::type w) const
{
    ::efl_gfx_shape_stroke_width_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(w));
}
inline ::efl::eolian::return_traits<double>::type Shape::stroke_location_get() const
{
   double __return_value =  ::efl_gfx_shape_stroke_location_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<double>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Shape::stroke_location_set( ::efl::eolian::in_traits<double>::type centered) const
{
    ::efl_gfx_shape_stroke_location_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(centered));
}
inline ::efl::eolian::return_traits<Efl_Gfx_Cap>::type Shape::stroke_cap_get() const
{
   Efl_Gfx_Cap __return_value =  ::efl_gfx_shape_stroke_cap_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Efl_Gfx_Cap>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Shape::stroke_cap_set( ::efl::eolian::in_traits<Efl_Gfx_Cap>::type c) const
{
    ::efl_gfx_shape_stroke_cap_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Efl_Gfx_Cap,  ::efl::eolian::in_traits<Efl_Gfx_Cap>::type>(c));
}
inline ::efl::eolian::return_traits<Efl_Gfx_Join>::type Shape::stroke_join_get() const
{
   Efl_Gfx_Join __return_value =  ::efl_gfx_shape_stroke_join_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Efl_Gfx_Join>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Shape::stroke_join_set( ::efl::eolian::in_traits<Efl_Gfx_Join>::type j) const
{
    ::efl_gfx_shape_stroke_join_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Efl_Gfx_Join,  ::efl::eolian::in_traits<Efl_Gfx_Join>::type>(j));
}
inline ::efl::eolian::return_traits<Efl_Gfx_Fill_Rule>::type Shape::fill_rule_get() const
{
   Efl_Gfx_Fill_Rule __return_value =  ::efl_gfx_shape_fill_rule_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Efl_Gfx_Fill_Rule>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Shape::fill_rule_set( ::efl::eolian::in_traits<Efl_Gfx_Fill_Rule>::type fill_rule) const
{
    ::efl_gfx_shape_fill_rule_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Efl_Gfx_Fill_Rule,  ::efl::eolian::in_traits<Efl_Gfx_Fill_Rule>::type>(fill_rule));
}
inline ::efl::eolian::return_traits<void>::type Shape::path_length_get( ::efl::eolian::out_traits< unsigned int>::type commands,  ::efl::eolian::out_traits< unsigned int>::type points) const
{
   unsigned int __out_param_commands = {};
   unsigned int __out_param_points = {};
    ::efl_gfx_shape_path_length_get(this->_eo_ptr()
      , & __out_param_commands
      , & __out_param_points);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits< unsigned int>::type, unsigned int>(commands, __out_param_commands);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits< unsigned int>::type, unsigned int>(points, __out_param_points);
}
inline ::efl::eolian::return_traits<void>::type Shape::current_get( ::efl::eolian::out_traits<double>::type x,  ::efl::eolian::out_traits<double>::type y) const
{
   double __out_param_x = {};
   double __out_param_y = {};
    ::efl_gfx_shape_current_get(this->_eo_ptr()
      , & __out_param_x
      , & __out_param_y);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<double>::type, double>(x, __out_param_x);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<double>::type, double>(y, __out_param_y);
}
inline ::efl::eolian::return_traits<void>::type Shape::current_ctrl_get( ::efl::eolian::out_traits<double>::type x,  ::efl::eolian::out_traits<double>::type y) const
{
   double __out_param_x = {};
   double __out_param_y = {};
    ::efl_gfx_shape_current_ctrl_get(this->_eo_ptr()
      , & __out_param_x
      , & __out_param_y);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<double>::type, double>(x, __out_param_x);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<double>::type, double>(y, __out_param_y);
}
inline ::efl::eolian::return_traits<void>::type Shape::dup( ::efl::eolian::in_traits< ::eo::Base>::type dup_from) const
{
    ::efl_gfx_shape_dup(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Eo_Base const*,  ::efl::eolian::in_traits< ::eo::Base>::type>(dup_from));
}
inline ::efl::eolian::return_traits<void>::type Shape::bounds_get( ::efl::eolian::out_traits<Eina_Rectangle>::type r) const
{
   Eina_Rectangle __out_param_r = {};
    ::efl_gfx_shape_bounds_get(this->_eo_ptr()
      , & __out_param_r);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Eina_Rectangle>::type, Eina_Rectangle>(r, __out_param_r);
}
inline ::efl::eolian::return_traits<void>::type Shape::reset() const
{
    ::efl_gfx_shape_reset(this->_eo_ptr());
}
inline ::efl::eolian::return_traits<void>::type Shape::append_move_to( ::efl::eolian::in_traits<double>::type x,  ::efl::eolian::in_traits<double>::type y) const
{
    ::efl_gfx_shape_append_move_to(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(y));
}
inline ::efl::eolian::return_traits<void>::type Shape::append_line_to( ::efl::eolian::in_traits<double>::type x,  ::efl::eolian::in_traits<double>::type y) const
{
    ::efl_gfx_shape_append_line_to(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(y));
}
inline ::efl::eolian::return_traits<void>::type Shape::append_quadratic_to( ::efl::eolian::in_traits<double>::type x,  ::efl::eolian::in_traits<double>::type y,  ::efl::eolian::in_traits<double>::type ctrl_x,  ::efl::eolian::in_traits<double>::type ctrl_y) const
{
    ::efl_gfx_shape_append_quadratic_to(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(y)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(ctrl_x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(ctrl_y));
}
inline ::efl::eolian::return_traits<void>::type Shape::append_squadratic_to( ::efl::eolian::in_traits<double>::type x,  ::efl::eolian::in_traits<double>::type y) const
{
    ::efl_gfx_shape_append_squadratic_to(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(y));
}
inline ::efl::eolian::return_traits<void>::type Shape::append_cubic_to( ::efl::eolian::in_traits<double>::type ctrl_x0,  ::efl::eolian::in_traits<double>::type ctrl_y0,  ::efl::eolian::in_traits<double>::type ctrl_x1,  ::efl::eolian::in_traits<double>::type ctrl_y1,  ::efl::eolian::in_traits<double>::type x,  ::efl::eolian::in_traits<double>::type y) const
{
    ::efl_gfx_shape_append_cubic_to(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(ctrl_x0)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(ctrl_y0)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(ctrl_x1)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(ctrl_y1)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(y));
}
inline ::efl::eolian::return_traits<void>::type Shape::append_scubic_to( ::efl::eolian::in_traits<double>::type x,  ::efl::eolian::in_traits<double>::type y,  ::efl::eolian::in_traits<double>::type ctrl_x,  ::efl::eolian::in_traits<double>::type ctrl_y) const
{
    ::efl_gfx_shape_append_scubic_to(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(y)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(ctrl_x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(ctrl_y));
}
inline ::efl::eolian::return_traits<void>::type Shape::append_arc_to( ::efl::eolian::in_traits<double>::type x,  ::efl::eolian::in_traits<double>::type y,  ::efl::eolian::in_traits<double>::type rx,  ::efl::eolian::in_traits<double>::type ry,  ::efl::eolian::in_traits<double>::type angle,  ::efl::eolian::in_traits<bool>::type large_arc,  ::efl::eolian::in_traits<bool>::type sweep) const
{
    ::efl_gfx_shape_append_arc_to(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(y)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(rx)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(ry)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(angle)
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(large_arc)
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(sweep));
}
inline ::efl::eolian::return_traits<void>::type Shape::append_arc( ::efl::eolian::in_traits<double>::type x,  ::efl::eolian::in_traits<double>::type y,  ::efl::eolian::in_traits<double>::type w,  ::efl::eolian::in_traits<double>::type h,  ::efl::eolian::in_traits<double>::type start_angle,  ::efl::eolian::in_traits<double>::type sweep_length) const
{
    ::efl_gfx_shape_append_arc(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(y)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(w)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(h)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(start_angle)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(sweep_length));
}
inline ::efl::eolian::return_traits<void>::type Shape::append_close() const
{
    ::efl_gfx_shape_append_close(this->_eo_ptr());
}
inline ::efl::eolian::return_traits<void>::type Shape::append_circle( ::efl::eolian::in_traits<double>::type x,  ::efl::eolian::in_traits<double>::type y,  ::efl::eolian::in_traits<double>::type radius) const
{
    ::efl_gfx_shape_append_circle(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(y)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(radius));
}
inline ::efl::eolian::return_traits<void>::type Shape::append_rect( ::efl::eolian::in_traits<double>::type x,  ::efl::eolian::in_traits<double>::type y,  ::efl::eolian::in_traits<double>::type w,  ::efl::eolian::in_traits<double>::type h,  ::efl::eolian::in_traits<double>::type rx,  ::efl::eolian::in_traits<double>::type ry) const
{
    ::efl_gfx_shape_append_rect(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(y)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(w)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(h)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(rx)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(ry));
}
inline ::efl::eolian::return_traits<void>::type Shape::append_svg_path( ::efl::eolian::in_traits< ::efl::eina::string_view>::type svg_path_data) const
{
    ::efl_gfx_shape_append_svg_path(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(svg_path_data));
}
inline ::efl::eolian::return_traits<bool>::type Shape::interpolate( ::efl::eolian::in_traits< ::eo::Base>::type from,  ::efl::eolian::in_traits< ::eo::Base>::type to,  ::efl::eolian::in_traits<double>::type pos_map) const
{
   Eina_Bool __return_value =  ::efl_gfx_shape_interpolate(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Eo_Base const*,  ::efl::eolian::in_traits< ::eo::Base>::type>(from)
      ,  ::efl::eolian::convert_to_c< ::Eo_Base const*,  ::efl::eolian::in_traits< ::eo::Base>::type>(to)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(pos_map));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Shape::equal_commands( ::efl::eolian::in_traits< ::eo::Base>::type with) const
{
   Eina_Bool __return_value =  ::efl_gfx_shape_equal_commands(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Eo_Base const*,  ::efl::eolian::in_traits< ::eo::Base>::type>(with));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
} } 
namespace eo_cxx {
namespace efl { namespace gfx { 
inline ::efl::eolian::return_traits<double>::type Shape::stroke_scale_get() const
{
   double __return_value =  ::efl_gfx_shape_stroke_scale_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<double>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Shape::stroke_scale_set( ::efl::eolian::in_traits<double>::type s) const
{
    ::efl_gfx_shape_stroke_scale_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(s));
}
inline ::efl::eolian::return_traits<void>::type Shape::stroke_color_get( ::efl::eolian::out_traits<int>::type r,  ::efl::eolian::out_traits<int>::type g,  ::efl::eolian::out_traits<int>::type b,  ::efl::eolian::out_traits<int>::type a) const
{
   int __out_param_r = {};
   int __out_param_g = {};
   int __out_param_b = {};
   int __out_param_a = {};
    ::efl_gfx_shape_stroke_color_get(this->_eo_ptr()
      , & __out_param_r
      , & __out_param_g
      , & __out_param_b
      , & __out_param_a);
   ::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>(g, __out_param_g);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(b, __out_param_b);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<int>::type, int>(a, __out_param_a);
}
inline ::efl::eolian::return_traits<void>::type Shape::stroke_color_set( ::efl::eolian::in_traits<int>::type r,  ::efl::eolian::in_traits<int>::type g,  ::efl::eolian::in_traits<int>::type b,  ::efl::eolian::in_traits<int>::type a) const
{
    ::efl_gfx_shape_stroke_color_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(r)
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(g)
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(b)
      ,  ::efl::eolian::convert_to_c<int,  ::efl::eolian::in_traits<int>::type>(a));
}
inline ::efl::eolian::return_traits<double>::type Shape::stroke_width_get() const
{
   double __return_value =  ::efl_gfx_shape_stroke_width_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<double>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Shape::stroke_width_set( ::efl::eolian::in_traits<double>::type w) const
{
    ::efl_gfx_shape_stroke_width_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(w));
}
inline ::efl::eolian::return_traits<double>::type Shape::stroke_location_get() const
{
   double __return_value =  ::efl_gfx_shape_stroke_location_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<double>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Shape::stroke_location_set( ::efl::eolian::in_traits<double>::type centered) const
{
    ::efl_gfx_shape_stroke_location_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(centered));
}
inline ::efl::eolian::return_traits<Efl_Gfx_Cap>::type Shape::stroke_cap_get() const
{
   Efl_Gfx_Cap __return_value =  ::efl_gfx_shape_stroke_cap_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Efl_Gfx_Cap>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Shape::stroke_cap_set( ::efl::eolian::in_traits<Efl_Gfx_Cap>::type c) const
{
    ::efl_gfx_shape_stroke_cap_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Efl_Gfx_Cap,  ::efl::eolian::in_traits<Efl_Gfx_Cap>::type>(c));
}
inline ::efl::eolian::return_traits<Efl_Gfx_Join>::type Shape::stroke_join_get() const
{
   Efl_Gfx_Join __return_value =  ::efl_gfx_shape_stroke_join_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Efl_Gfx_Join>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Shape::stroke_join_set( ::efl::eolian::in_traits<Efl_Gfx_Join>::type j) const
{
    ::efl_gfx_shape_stroke_join_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Efl_Gfx_Join,  ::efl::eolian::in_traits<Efl_Gfx_Join>::type>(j));
}
inline ::efl::eolian::return_traits<Efl_Gfx_Fill_Rule>::type Shape::fill_rule_get() const
{
   Efl_Gfx_Fill_Rule __return_value =  ::efl_gfx_shape_fill_rule_get(this->_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<Efl_Gfx_Fill_Rule>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Shape::fill_rule_set( ::efl::eolian::in_traits<Efl_Gfx_Fill_Rule>::type fill_rule) const
{
    ::efl_gfx_shape_fill_rule_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Efl_Gfx_Fill_Rule,  ::efl::eolian::in_traits<Efl_Gfx_Fill_Rule>::type>(fill_rule));
}
inline ::efl::eolian::return_traits<void>::type Shape::path_length_get( ::efl::eolian::out_traits< unsigned int>::type commands,  ::efl::eolian::out_traits< unsigned int>::type points) const
{
   unsigned int __out_param_commands = {};
   unsigned int __out_param_points = {};
    ::efl_gfx_shape_path_length_get(this->_eo_ptr()
      , & __out_param_commands
      , & __out_param_points);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits< unsigned int>::type, unsigned int>(commands, __out_param_commands);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits< unsigned int>::type, unsigned int>(points, __out_param_points);
}
inline ::efl::eolian::return_traits<void>::type Shape::current_get( ::efl::eolian::out_traits<double>::type x,  ::efl::eolian::out_traits<double>::type y) const
{
   double __out_param_x = {};
   double __out_param_y = {};
    ::efl_gfx_shape_current_get(this->_eo_ptr()
      , & __out_param_x
      , & __out_param_y);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<double>::type, double>(x, __out_param_x);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<double>::type, double>(y, __out_param_y);
}
inline ::efl::eolian::return_traits<void>::type Shape::current_ctrl_get( ::efl::eolian::out_traits<double>::type x,  ::efl::eolian::out_traits<double>::type y) const
{
   double __out_param_x = {};
   double __out_param_y = {};
    ::efl_gfx_shape_current_ctrl_get(this->_eo_ptr()
      , & __out_param_x
      , & __out_param_y);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<double>::type, double>(x, __out_param_x);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<double>::type, double>(y, __out_param_y);
}
inline ::efl::eolian::return_traits<void>::type Shape::dup( ::efl::eolian::in_traits< ::eo::Base>::type dup_from) const
{
    ::efl_gfx_shape_dup(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Eo_Base const*,  ::efl::eolian::in_traits< ::eo::Base>::type>(dup_from));
}
inline ::efl::eolian::return_traits<void>::type Shape::bounds_get( ::efl::eolian::out_traits<Eina_Rectangle>::type r) const
{
   Eina_Rectangle __out_param_r = {};
    ::efl_gfx_shape_bounds_get(this->_eo_ptr()
      , & __out_param_r);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Eina_Rectangle>::type, Eina_Rectangle>(r, __out_param_r);
}
inline ::efl::eolian::return_traits<void>::type Shape::reset() const
{
    ::efl_gfx_shape_reset(this->_eo_ptr());
}
inline ::efl::eolian::return_traits<void>::type Shape::append_move_to( ::efl::eolian::in_traits<double>::type x,  ::efl::eolian::in_traits<double>::type y) const
{
    ::efl_gfx_shape_append_move_to(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(y));
}
inline ::efl::eolian::return_traits<void>::type Shape::append_line_to( ::efl::eolian::in_traits<double>::type x,  ::efl::eolian::in_traits<double>::type y) const
{
    ::efl_gfx_shape_append_line_to(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(y));
}
inline ::efl::eolian::return_traits<void>::type Shape::append_quadratic_to( ::efl::eolian::in_traits<double>::type x,  ::efl::eolian::in_traits<double>::type y,  ::efl::eolian::in_traits<double>::type ctrl_x,  ::efl::eolian::in_traits<double>::type ctrl_y) const
{
    ::efl_gfx_shape_append_quadratic_to(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(y)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(ctrl_x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(ctrl_y));
}
inline ::efl::eolian::return_traits<void>::type Shape::append_squadratic_to( ::efl::eolian::in_traits<double>::type x,  ::efl::eolian::in_traits<double>::type y) const
{
    ::efl_gfx_shape_append_squadratic_to(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(y));
}
inline ::efl::eolian::return_traits<void>::type Shape::append_cubic_to( ::efl::eolian::in_traits<double>::type ctrl_x0,  ::efl::eolian::in_traits<double>::type ctrl_y0,  ::efl::eolian::in_traits<double>::type ctrl_x1,  ::efl::eolian::in_traits<double>::type ctrl_y1,  ::efl::eolian::in_traits<double>::type x,  ::efl::eolian::in_traits<double>::type y) const
{
    ::efl_gfx_shape_append_cubic_to(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(ctrl_x0)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(ctrl_y0)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(ctrl_x1)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(ctrl_y1)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(y));
}
inline ::efl::eolian::return_traits<void>::type Shape::append_scubic_to( ::efl::eolian::in_traits<double>::type x,  ::efl::eolian::in_traits<double>::type y,  ::efl::eolian::in_traits<double>::type ctrl_x,  ::efl::eolian::in_traits<double>::type ctrl_y) const
{
    ::efl_gfx_shape_append_scubic_to(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(y)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(ctrl_x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(ctrl_y));
}
inline ::efl::eolian::return_traits<void>::type Shape::append_arc_to( ::efl::eolian::in_traits<double>::type x,  ::efl::eolian::in_traits<double>::type y,  ::efl::eolian::in_traits<double>::type rx,  ::efl::eolian::in_traits<double>::type ry,  ::efl::eolian::in_traits<double>::type angle,  ::efl::eolian::in_traits<bool>::type large_arc,  ::efl::eolian::in_traits<bool>::type sweep) const
{
    ::efl_gfx_shape_append_arc_to(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(y)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(rx)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(ry)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(angle)
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(large_arc)
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(sweep));
}
inline ::efl::eolian::return_traits<void>::type Shape::append_arc( ::efl::eolian::in_traits<double>::type x,  ::efl::eolian::in_traits<double>::type y,  ::efl::eolian::in_traits<double>::type w,  ::efl::eolian::in_traits<double>::type h,  ::efl::eolian::in_traits<double>::type start_angle,  ::efl::eolian::in_traits<double>::type sweep_length) const
{
    ::efl_gfx_shape_append_arc(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(y)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(w)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(h)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(start_angle)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(sweep_length));
}
inline ::efl::eolian::return_traits<void>::type Shape::append_close() const
{
    ::efl_gfx_shape_append_close(this->_eo_ptr());
}
inline ::efl::eolian::return_traits<void>::type Shape::append_circle( ::efl::eolian::in_traits<double>::type x,  ::efl::eolian::in_traits<double>::type y,  ::efl::eolian::in_traits<double>::type radius) const
{
    ::efl_gfx_shape_append_circle(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(y)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(radius));
}
inline ::efl::eolian::return_traits<void>::type Shape::append_rect( ::efl::eolian::in_traits<double>::type x,  ::efl::eolian::in_traits<double>::type y,  ::efl::eolian::in_traits<double>::type w,  ::efl::eolian::in_traits<double>::type h,  ::efl::eolian::in_traits<double>::type rx,  ::efl::eolian::in_traits<double>::type ry) const
{
    ::efl_gfx_shape_append_rect(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(x)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(y)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(w)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(h)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(rx)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(ry));
}
inline ::efl::eolian::return_traits<void>::type Shape::append_svg_path( ::efl::eolian::in_traits< ::efl::eina::string_view>::type svg_path_data) const
{
    ::efl_gfx_shape_append_svg_path(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(svg_path_data));
}
inline ::efl::eolian::return_traits<bool>::type Shape::interpolate( ::efl::eolian::in_traits< ::eo::Base>::type from,  ::efl::eolian::in_traits< ::eo::Base>::type to,  ::efl::eolian::in_traits<double>::type pos_map) const
{
   Eina_Bool __return_value =  ::efl_gfx_shape_interpolate(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Eo_Base const*,  ::efl::eolian::in_traits< ::eo::Base>::type>(from)
      ,  ::efl::eolian::convert_to_c< ::Eo_Base const*,  ::efl::eolian::in_traits< ::eo::Base>::type>(to)
      ,  ::efl::eolian::convert_to_c<double,  ::efl::eolian::in_traits<double>::type>(pos_map));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Shape::equal_commands( ::efl::eolian::in_traits< ::eo::Base>::type with) const
{
   Eina_Bool __return_value =  ::efl_gfx_shape_equal_commands(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Eo_Base const*,  ::efl::eolian::in_traits< ::eo::Base>::type>(with));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline efl::gfx::Shape::operator ::efl::gfx::Shape() const { return *static_cast< ::efl::gfx::Shape const*>(static_cast<void const*>(this)); }
inline efl::gfx::Shape::operator ::efl::gfx::Shape&() { return *static_cast< ::efl::gfx::Shape*>(static_cast<void*>(this)); }
inline efl::gfx::Shape::operator ::efl::gfx::Shape const&() const { return *static_cast< ::efl::gfx::Shape const*>(static_cast<void const*>(this)); }
} } }

