
void _efl_gfx_shape_stroke_scale_set(Eo *obj, Efl_Gfx_Shape_Data *pd, double s);


static Eina_Error
__eolian_efl_gfx_shape_stroke_scale_set_reflect(Eo *obj, Eina_Value val)
{
   Eina_Error r = 0;   double cval;
   if (!eina_value_double_convert(&val, &cval))
      {
         r = EINA_ERROR_VALUE_FAILED;
         goto end;
      }
   efl_gfx_shape_stroke_scale_set(obj, cval);
 end:
   eina_value_flush(&val);
   return r;
}

EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(efl_gfx_shape_stroke_scale_set, EFL_FUNC_CALL(s), double s);

double _efl_gfx_shape_stroke_scale_get(const Eo *obj, Efl_Gfx_Shape_Data *pd);


static Eina_Value
__eolian_efl_gfx_shape_stroke_scale_get_reflect(const Eo *obj)
{
   double val = efl_gfx_shape_stroke_scale_get(obj);
   return eina_value_double_init(val);
}

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_gfx_shape_stroke_scale_get, double, 0);

void _efl_gfx_shape_stroke_color_set(Eo *obj, Efl_Gfx_Shape_Data *pd, int r, int g, int b, int a);

EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(efl_gfx_shape_stroke_color_set, EFL_FUNC_CALL(r, g, b, a), int r, int g, int b, int a);

void _efl_gfx_shape_stroke_color_get(const Eo *obj, Efl_Gfx_Shape_Data *pd, int *r, int *g, int *b, int *a);

EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV_CONST(efl_gfx_shape_stroke_color_get, EFL_FUNC_CALL(r, g, b, a), int *r, int *g, int *b, int *a);

void _efl_gfx_shape_stroke_width_set(Eo *obj, Efl_Gfx_Shape_Data *pd, double w);


static Eina_Error
__eolian_efl_gfx_shape_stroke_width_set_reflect(Eo *obj, Eina_Value val)
{
   Eina_Error r = 0;   double cval;
   if (!eina_value_double_convert(&val, &cval))
      {
         r = EINA_ERROR_VALUE_FAILED;
         goto end;
      }
   efl_gfx_shape_stroke_width_set(obj, cval);
 end:
   eina_value_flush(&val);
   return r;
}

EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(efl_gfx_shape_stroke_width_set, EFL_FUNC_CALL(w), double w);

double _efl_gfx_shape_stroke_width_get(const Eo *obj, Efl_Gfx_Shape_Data *pd);


static Eina_Value
__eolian_efl_gfx_shape_stroke_width_get_reflect(const Eo *obj)
{
   double val = efl_gfx_shape_stroke_width_get(obj);
   return eina_value_double_init(val);
}

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_gfx_shape_stroke_width_get, double, 0);

void _efl_gfx_shape_stroke_location_set(Eo *obj, Efl_Gfx_Shape_Data *pd, double centered);


static Eina_Error
__eolian_efl_gfx_shape_stroke_location_set_reflect(Eo *obj, Eina_Value val)
{
   Eina_Error r = 0;   double cval;
   if (!eina_value_double_convert(&val, &cval))
      {
         r = EINA_ERROR_VALUE_FAILED;
         goto end;
      }
   efl_gfx_shape_stroke_location_set(obj, cval);
 end:
   eina_value_flush(&val);
   return r;
}

EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(efl_gfx_shape_stroke_location_set, EFL_FUNC_CALL(centered), double centered);

double _efl_gfx_shape_stroke_location_get(const Eo *obj, Efl_Gfx_Shape_Data *pd);


static Eina_Value
__eolian_efl_gfx_shape_stroke_location_get_reflect(const Eo *obj)
{
   double val = efl_gfx_shape_stroke_location_get(obj);
   return eina_value_double_init(val);
}

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_gfx_shape_stroke_location_get, double, 0);

void _efl_gfx_shape_stroke_dash_set(Eo *obj, Efl_Gfx_Shape_Data *pd, const Efl_Gfx_Dash *dash, unsigned int length);

EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(efl_gfx_shape_stroke_dash_set, EFL_FUNC_CALL(dash, length), const Efl_Gfx_Dash *dash, unsigned int length);

void _efl_gfx_shape_stroke_dash_get(const Eo *obj, Efl_Gfx_Shape_Data *pd, const Efl_Gfx_Dash **dash, unsigned int *length);

EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV_CONST(efl_gfx_shape_stroke_dash_get, EFL_FUNC_CALL(dash, length), const Efl_Gfx_Dash **dash, unsigned int *length);

void _efl_gfx_shape_stroke_cap_set(Eo *obj, Efl_Gfx_Shape_Data *pd, Efl_Gfx_Cap c);

EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(efl_gfx_shape_stroke_cap_set, EFL_FUNC_CALL(c), Efl_Gfx_Cap c);

Efl_Gfx_Cap _efl_gfx_shape_stroke_cap_get(const Eo *obj, Efl_Gfx_Shape_Data *pd);

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_gfx_shape_stroke_cap_get, Efl_Gfx_Cap, 0);

void _efl_gfx_shape_stroke_join_set(Eo *obj, Efl_Gfx_Shape_Data *pd, Efl_Gfx_Join j);

EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(efl_gfx_shape_stroke_join_set, EFL_FUNC_CALL(j), Efl_Gfx_Join j);

Efl_Gfx_Join _efl_gfx_shape_stroke_join_get(const Eo *obj, Efl_Gfx_Shape_Data *pd);

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_gfx_shape_stroke_join_get, Efl_Gfx_Join, 0);

void _efl_gfx_shape_stroke_miterlimit_set(Eo *obj, Efl_Gfx_Shape_Data *pd, double miterlimit);


static Eina_Error
__eolian_efl_gfx_shape_stroke_miterlimit_set_reflect(Eo *obj, Eina_Value val)
{
   Eina_Error r = 0;   double cval;
   if (!eina_value_double_convert(&val, &cval))
      {
         r = EINA_ERROR_VALUE_FAILED;
         goto end;
      }
   efl_gfx_shape_stroke_miterlimit_set(obj, cval);
 end:
   eina_value_flush(&val);
   return r;
}

EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(efl_gfx_shape_stroke_miterlimit_set, EFL_FUNC_CALL(miterlimit), double miterlimit);

double _efl_gfx_shape_stroke_miterlimit_get(const Eo *obj, Efl_Gfx_Shape_Data *pd);


static Eina_Value
__eolian_efl_gfx_shape_stroke_miterlimit_get_reflect(const Eo *obj)
{
   double val = efl_gfx_shape_stroke_miterlimit_get(obj);
   return eina_value_double_init(val);
}

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_gfx_shape_stroke_miterlimit_get, double, 0);

void _efl_gfx_shape_fill_rule_set(Eo *obj, Efl_Gfx_Shape_Data *pd, Efl_Gfx_Fill_Rule fill_rule);

EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(efl_gfx_shape_fill_rule_set, EFL_FUNC_CALL(fill_rule), Efl_Gfx_Fill_Rule fill_rule);

Efl_Gfx_Fill_Rule _efl_gfx_shape_fill_rule_get(const Eo *obj, Efl_Gfx_Shape_Data *pd);

EAPI EAPI_WEAK EFL_FUNC_BODY_CONST(efl_gfx_shape_fill_rule_get, Efl_Gfx_Fill_Rule, 0);

void _efl_gfx_shape_efl_gfx_path_copy_from(Eo *obj, Efl_Gfx_Shape_Data *pd, const Efl_Object *dup_from);


Eina_Bool _efl_gfx_shape_efl_gfx_path_interpolate(Eo *obj, Efl_Gfx_Shape_Data *pd, const Efl_Object *from, const Efl_Object *to, double pos_map);


static Eina_Bool
_efl_gfx_shape_class_initializer(Efl_Class *klass)
{
   const Efl_Object_Ops *opsp = NULL;

   const Efl_Object_Property_Reflection_Ops *ropsp = NULL;

#ifndef EFL_GFX_SHAPE_EXTRA_OPS
#define EFL_GFX_SHAPE_EXTRA_OPS
#endif

   EFL_OPS_DEFINE(ops,
      EFL_OBJECT_OP_FUNC(efl_gfx_shape_stroke_scale_set, _efl_gfx_shape_stroke_scale_set),
      EFL_OBJECT_OP_FUNC(efl_gfx_shape_stroke_scale_get, _efl_gfx_shape_stroke_scale_get),
      EFL_OBJECT_OP_FUNC(efl_gfx_shape_stroke_color_set, _efl_gfx_shape_stroke_color_set),
      EFL_OBJECT_OP_FUNC(efl_gfx_shape_stroke_color_get, _efl_gfx_shape_stroke_color_get),
      EFL_OBJECT_OP_FUNC(efl_gfx_shape_stroke_width_set, _efl_gfx_shape_stroke_width_set),
      EFL_OBJECT_OP_FUNC(efl_gfx_shape_stroke_width_get, _efl_gfx_shape_stroke_width_get),
      EFL_OBJECT_OP_FUNC(efl_gfx_shape_stroke_location_set, _efl_gfx_shape_stroke_location_set),
      EFL_OBJECT_OP_FUNC(efl_gfx_shape_stroke_location_get, _efl_gfx_shape_stroke_location_get),
      EFL_OBJECT_OP_FUNC(efl_gfx_shape_stroke_dash_set, _efl_gfx_shape_stroke_dash_set),
      EFL_OBJECT_OP_FUNC(efl_gfx_shape_stroke_dash_get, _efl_gfx_shape_stroke_dash_get),
      EFL_OBJECT_OP_FUNC(efl_gfx_shape_stroke_cap_set, _efl_gfx_shape_stroke_cap_set),
      EFL_OBJECT_OP_FUNC(efl_gfx_shape_stroke_cap_get, _efl_gfx_shape_stroke_cap_get),
      EFL_OBJECT_OP_FUNC(efl_gfx_shape_stroke_join_set, _efl_gfx_shape_stroke_join_set),
      EFL_OBJECT_OP_FUNC(efl_gfx_shape_stroke_join_get, _efl_gfx_shape_stroke_join_get),
      EFL_OBJECT_OP_FUNC(efl_gfx_shape_stroke_miterlimit_set, _efl_gfx_shape_stroke_miterlimit_set),
      EFL_OBJECT_OP_FUNC(efl_gfx_shape_stroke_miterlimit_get, _efl_gfx_shape_stroke_miterlimit_get),
      EFL_OBJECT_OP_FUNC(efl_gfx_shape_fill_rule_set, _efl_gfx_shape_fill_rule_set),
      EFL_OBJECT_OP_FUNC(efl_gfx_shape_fill_rule_get, _efl_gfx_shape_fill_rule_get),
      EFL_OBJECT_OP_FUNC(efl_gfx_path_copy_from, _efl_gfx_shape_efl_gfx_path_copy_from),
      EFL_OBJECT_OP_FUNC(efl_gfx_path_interpolate, _efl_gfx_shape_efl_gfx_path_interpolate),
      EFL_GFX_SHAPE_EXTRA_OPS
   );
   opsp = &ops;

   static const Efl_Object_Property_Reflection refl_table[] = {
      {"stroke_scale", __eolian_efl_gfx_shape_stroke_scale_set_reflect, __eolian_efl_gfx_shape_stroke_scale_get_reflect},
      {"stroke_width", __eolian_efl_gfx_shape_stroke_width_set_reflect, __eolian_efl_gfx_shape_stroke_width_get_reflect},
      {"stroke_location", __eolian_efl_gfx_shape_stroke_location_set_reflect, __eolian_efl_gfx_shape_stroke_location_get_reflect},
      {"stroke_miterlimit", __eolian_efl_gfx_shape_stroke_miterlimit_set_reflect, __eolian_efl_gfx_shape_stroke_miterlimit_get_reflect},
   };
   static const Efl_Object_Property_Reflection_Ops rops = {
      refl_table, EINA_C_ARRAY_LENGTH(refl_table)
   };
   ropsp = &rops;

   return efl_class_functions_set(klass, opsp, ropsp);
}

static const Efl_Class_Description _efl_gfx_shape_class_desc = {
   EO_VERSION,
   "Efl.Gfx.Shape",
   EFL_CLASS_TYPE_MIXIN,
   sizeof(Efl_Gfx_Shape_Data),
   _efl_gfx_shape_class_initializer,
   NULL,
   NULL
};

EFL_DEFINE_CLASS(efl_gfx_shape_mixin_get, &_efl_gfx_shape_class_desc, NULL, EFL_GFX_PATH_MIXIN, NULL);
