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<void>::type Shape::stroke_dash_get( ::efl::eolian::out_traits<Efl_Gfx_Dash const&>::type dash,  ::efl::eolian::out_traits< unsigned int>::type length) const
{
   const Efl_Gfx_Dash * __out_param_dash = {};
   unsigned int __out_param_length = {};
    ::efl_gfx_shape_stroke_dash_get(this->_eo_ptr()
      , & __out_param_dash
      , & __out_param_length);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Efl_Gfx_Dash const&>::type, const Efl_Gfx_Dash *>(dash, __out_param_dash);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits< unsigned int>::type, unsigned int>(length, __out_param_length);
}
inline ::efl::eolian::return_traits<void>::type Shape::stroke_dash_set( ::efl::eolian::in_traits<Efl_Gfx_Dash const&>::type dash,  ::efl::eolian::in_traits< unsigned int>::type length) const
{
    ::efl_gfx_shape_stroke_dash_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const Efl_Gfx_Dash *,  ::efl::eolian::in_traits<Efl_Gfx_Dash const&>::type>(dash)
      ,  ::efl::eolian::convert_to_c<unsigned int,  ::efl::eolian::in_traits< unsigned int>::type>(length));
}
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<bool>::type Shape::interpolate( ::efl::eolian::in_traits< ::efl::Object>::type from,  ::efl::eolian::in_traits< ::efl::Object>::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< ::Efl_Object const*,  ::efl::eolian::in_traits< ::efl::Object>::type>(from)
      ,  ::efl::eolian::convert_to_c< ::Efl_Object const*,  ::efl::eolian::in_traits< ::efl::Object>::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<void>::type Shape::dup( ::efl::eolian::in_traits< ::efl::Object>::type dup_from) const
{
    ::efl_gfx_shape_dup(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Efl_Object const*,  ::efl::eolian::in_traits< ::efl::Object>::type>(dup_from));
}
} } 
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<void>::type Shape::stroke_dash_get( ::efl::eolian::out_traits<Efl_Gfx_Dash const&>::type dash,  ::efl::eolian::out_traits< unsigned int>::type length) const
{
   const Efl_Gfx_Dash * __out_param_dash = {};
   unsigned int __out_param_length = {};
    ::efl_gfx_shape_stroke_dash_get(this->_eo_ptr()
      , & __out_param_dash
      , & __out_param_length);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits<Efl_Gfx_Dash const&>::type, const Efl_Gfx_Dash *>(dash, __out_param_dash);
   ::efl::eolian::assign_out< ::efl::eolian::out_traits< unsigned int>::type, unsigned int>(length, __out_param_length);
}
inline ::efl::eolian::return_traits<void>::type Shape::stroke_dash_set( ::efl::eolian::in_traits<Efl_Gfx_Dash const&>::type dash,  ::efl::eolian::in_traits< unsigned int>::type length) const
{
    ::efl_gfx_shape_stroke_dash_set(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const Efl_Gfx_Dash *,  ::efl::eolian::in_traits<Efl_Gfx_Dash const&>::type>(dash)
      ,  ::efl::eolian::convert_to_c<unsigned int,  ::efl::eolian::in_traits< unsigned int>::type>(length));
}
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<bool>::type Shape::interpolate( ::efl::eolian::in_traits< ::efl::Object>::type from,  ::efl::eolian::in_traits< ::efl::Object>::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< ::Efl_Object const*,  ::efl::eolian::in_traits< ::efl::Object>::type>(from)
      ,  ::efl::eolian::convert_to_c< ::Efl_Object const*,  ::efl::eolian::in_traits< ::efl::Object>::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<void>::type Shape::dup( ::efl::eolian::in_traits< ::efl::Object>::type dup_from) const
{
    ::efl_gfx_shape_dup(this->_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Efl_Object const*,  ::efl::eolian::in_traits< ::efl::Object>::type>(dup_from));
}
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)); }
} } }

