EVAS_API EVAS_API_WEAK const Efl_Event_Description _EFL_CANVAS_SCENE_EVENT_SCENE_FOCUS_IN =
   EFL_EVENT_DESCRIPTION("scene,focus,in");
EVAS_API EVAS_API_WEAK const Efl_Event_Description _EFL_CANVAS_SCENE_EVENT_SCENE_FOCUS_OUT =
   EFL_EVENT_DESCRIPTION("scene,focus,out");
EVAS_API EVAS_API_WEAK const Efl_Event_Description _EFL_CANVAS_SCENE_EVENT_OBJECT_FOCUS_IN =
   EFL_EVENT_DESCRIPTION("object,focus,in");
EVAS_API EVAS_API_WEAK const Efl_Event_Description _EFL_CANVAS_SCENE_EVENT_OBJECT_FOCUS_OUT =
   EFL_EVENT_DESCRIPTION("object,focus,out");
EVAS_API EVAS_API_WEAK const Efl_Event_Description _EFL_CANVAS_SCENE_EVENT_RENDER_PRE =
   EFL_EVENT_DESCRIPTION("render,pre");
EVAS_API EVAS_API_WEAK const Efl_Event_Description _EFL_CANVAS_SCENE_EVENT_RENDER_POST =
   EFL_EVENT_DESCRIPTION("render,post");
EVAS_API EVAS_API_WEAK const Efl_Event_Description _EFL_CANVAS_SCENE_EVENT_DEVICE_CHANGED =
   EFL_EVENT_DESCRIPTION("device,changed");
EVAS_API EVAS_API_WEAK const Efl_Event_Description _EFL_CANVAS_SCENE_EVENT_DEVICE_ADDED =
   EFL_EVENT_DESCRIPTION("device,added");
EVAS_API EVAS_API_WEAK const Efl_Event_Description _EFL_CANVAS_SCENE_EVENT_DEVICE_REMOVED =
   EFL_EVENT_DESCRIPTION("device,removed");
EVAS_API EVAS_API_WEAK EFL_FUNC_BODYV_CONST(efl_canvas_scene_image_max_size_get, Eina_Bool, 0, EFL_FUNC_CALL(max), Eina_Size2D *max);
EVAS_API EVAS_API_WEAK EFL_VOID_FUNC_BODY(efl_canvas_scene_group_objects_calculate);

static Eina_Value
__eolian_efl_canvas_scene_group_objects_calculating_get_reflect(const Eo *obj)
{
   Eina_Bool val = efl_canvas_scene_group_objects_calculating_get(obj);
   return eina_value_bool_init(val);
}

EVAS_API EVAS_API_WEAK EFL_FUNC_BODY_CONST(efl_canvas_scene_group_objects_calculating_get, Eina_Bool, 0);
EVAS_API EVAS_API_WEAK EFL_FUNC_BODYV(efl_canvas_scene_objects_at_xy_get, Eina_Iterator *, NULL, EFL_FUNC_CALL(pos, include_pass_events_objects, include_hidden_objects), Eina_Position2D pos, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects);
EVAS_API EVAS_API_WEAK EFL_FUNC_BODYV_CONST(efl_canvas_scene_object_top_at_xy_get, Efl_Gfx_Entity *, NULL, EFL_FUNC_CALL(pos, include_pass_events_objects, include_hidden_objects), Eina_Position2D pos, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects);
EVAS_API EVAS_API_WEAK EFL_FUNC_BODYV(efl_canvas_scene_objects_in_rectangle_get, Eina_Iterator *, NULL, EFL_FUNC_CALL(rect, include_pass_events_objects, include_hidden_objects), Eina_Rect rect, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects);
EVAS_API EVAS_API_WEAK EFL_FUNC_BODYV_CONST(efl_canvas_scene_object_top_in_rectangle_get, Efl_Gfx_Entity *, NULL, EFL_FUNC_CALL(rect, include_pass_events_objects, include_hidden_objects), Eina_Rect rect, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects);
EVAS_API EVAS_API_WEAK EFL_FUNC_BODY(efl_canvas_scene_seats, Eina_Iterator *, NULL);
EVAS_API EVAS_API_WEAK EFL_FUNC_BODYV_CONST(efl_canvas_scene_device_get, Efl_Input_Device *, NULL, EFL_FUNC_CALL(name), const char *name);
EVAS_API EVAS_API_WEAK EFL_FUNC_BODYV_CONST(efl_canvas_scene_seat_get, Efl_Input_Device *, NULL, EFL_FUNC_CALL(id), int id);
EVAS_API EVAS_API_WEAK EFL_FUNC_BODY_CONST(efl_canvas_scene_seat_default_get, Efl_Input_Device *, NULL);
EVAS_API EVAS_API_WEAK EFL_FUNC_BODYV_CONST(efl_canvas_scene_pointer_position_get, Eina_Bool, 0, EFL_FUNC_CALL(seat, pos), Efl_Input_Device *seat, Eina_Position2D *pos);

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

   const Efl_Object_Property_Reflection_Ops *ropsp = NULL;

#ifndef EFL_CANVAS_SCENE_EXTRA_OPS
#define EFL_CANVAS_SCENE_EXTRA_OPS
#endif

   EFL_OPS_DEFINE(ops,
      EFL_OBJECT_OP_FUNC(efl_canvas_scene_image_max_size_get, NULL),
      EFL_OBJECT_OP_FUNC(efl_canvas_scene_group_objects_calculate, NULL),
      EFL_OBJECT_OP_FUNC(efl_canvas_scene_group_objects_calculating_get, NULL),
      EFL_OBJECT_OP_FUNC(efl_canvas_scene_objects_at_xy_get, NULL),
      EFL_OBJECT_OP_FUNC(efl_canvas_scene_object_top_at_xy_get, NULL),
      EFL_OBJECT_OP_FUNC(efl_canvas_scene_objects_in_rectangle_get, NULL),
      EFL_OBJECT_OP_FUNC(efl_canvas_scene_object_top_in_rectangle_get, NULL),
      EFL_OBJECT_OP_FUNC(efl_canvas_scene_seats, NULL),
      EFL_OBJECT_OP_FUNC(efl_canvas_scene_device_get, NULL),
      EFL_OBJECT_OP_FUNC(efl_canvas_scene_seat_get, NULL),
      EFL_OBJECT_OP_FUNC(efl_canvas_scene_seat_default_get, NULL),
      EFL_OBJECT_OP_FUNC(efl_canvas_scene_pointer_position_get, NULL),
      EFL_CANVAS_SCENE_EXTRA_OPS
   );
   opsp = &ops;

   static const Efl_Object_Property_Reflection refl_table[] = {
      {"group_objects_calculating", NULL, __eolian_efl_canvas_scene_group_objects_calculating_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_canvas_scene_class_desc = {
   EO_VERSION,
   "Efl.Canvas.Scene",
   EFL_CLASS_TYPE_INTERFACE,
   0,
   _efl_canvas_scene_class_initializer,
   NULL,
   NULL
};

EFL_DEFINE_CLASS(efl_canvas_scene_interface_get, &_efl_canvas_scene_class_desc, NULL, NULL);
