EAPI EAPI_WEAK const Efl_Event_Description _EFL_UI_SCROLLBAR_EVENT_BAR_PRESSED =
   EFL_EVENT_DESCRIPTION("bar,pressed");
EAPI EAPI_WEAK const Efl_Event_Description _EFL_UI_SCROLLBAR_EVENT_BAR_UNPRESSED =
   EFL_EVENT_DESCRIPTION("bar,unpressed");
EAPI EAPI_WEAK const Efl_Event_Description _EFL_UI_SCROLLBAR_EVENT_BAR_DRAGGED =
   EFL_EVENT_DESCRIPTION("bar,dragged");
EAPI EAPI_WEAK const Efl_Event_Description _EFL_UI_SCROLLBAR_EVENT_BAR_SIZE_CHANGED =
   EFL_EVENT_DESCRIPTION("bar,size,changed");
EAPI EAPI_WEAK const Efl_Event_Description _EFL_UI_SCROLLBAR_EVENT_BAR_POS_CHANGED =
   EFL_EVENT_DESCRIPTION("bar,pos,changed");
EAPI EAPI_WEAK const Efl_Event_Description _EFL_UI_SCROLLBAR_EVENT_BAR_SHOW =
   EFL_EVENT_DESCRIPTION("bar,show");
EAPI EAPI_WEAK const Efl_Event_Description _EFL_UI_SCROLLBAR_EVENT_BAR_HIDE =
   EFL_EVENT_DESCRIPTION("bar,hide");
EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(efl_ui_scrollbar_bar_mode_set, EFL_FUNC_CALL(hbar, vbar), Efl_Ui_Scrollbar_Mode hbar, Efl_Ui_Scrollbar_Mode vbar);
EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV_CONST(efl_ui_scrollbar_bar_mode_get, EFL_FUNC_CALL(hbar, vbar), Efl_Ui_Scrollbar_Mode *hbar, Efl_Ui_Scrollbar_Mode *vbar);
EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV_CONST(efl_ui_scrollbar_bar_size_get, EFL_FUNC_CALL(width, height), double *width, double *height);
EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV(efl_ui_scrollbar_bar_position_set, EFL_FUNC_CALL(posx, posy), double posx, double posy);
EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV_CONST(efl_ui_scrollbar_bar_position_get, EFL_FUNC_CALL(posx, posy), double *posx, double *posy);
EAPI EAPI_WEAK EFL_VOID_FUNC_BODYV_CONST(efl_ui_scrollbar_bar_visibility_get, EFL_FUNC_CALL(hbar, vbar), Eina_Bool *hbar, Eina_Bool *vbar);
EAPI EAPI_WEAK EFL_VOID_FUNC_BODY(efl_ui_scrollbar_bar_visibility_update);

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

   const Efl_Object_Property_Reflection_Ops *ropsp = NULL;

#ifndef EFL_UI_SCROLLBAR_EXTRA_OPS
#define EFL_UI_SCROLLBAR_EXTRA_OPS
#endif

   EFL_OPS_DEFINE(ops,
      EFL_OBJECT_OP_FUNC(efl_ui_scrollbar_bar_mode_set, NULL),
      EFL_OBJECT_OP_FUNC(efl_ui_scrollbar_bar_mode_get, NULL),
      EFL_OBJECT_OP_FUNC(efl_ui_scrollbar_bar_size_get, NULL),
      EFL_OBJECT_OP_FUNC(efl_ui_scrollbar_bar_position_set, NULL),
      EFL_OBJECT_OP_FUNC(efl_ui_scrollbar_bar_position_get, NULL),
      EFL_OBJECT_OP_FUNC(efl_ui_scrollbar_bar_visibility_get, NULL),
      EFL_OBJECT_OP_FUNC(efl_ui_scrollbar_bar_visibility_update, NULL),
      EFL_UI_SCROLLBAR_EXTRA_OPS
   );
   opsp = &ops;

   return efl_class_functions_set(klass, opsp, ropsp);
}

static const Efl_Class_Description _efl_ui_scrollbar_class_desc = {
   EO_VERSION,
   "Efl.Ui.Scrollbar",
   EFL_CLASS_TYPE_INTERFACE,
   0,
   _efl_ui_scrollbar_class_initializer,
   NULL,
   NULL
};

EFL_DEFINE_CLASS(efl_ui_scrollbar_interface_get, &_efl_ui_scrollbar_class_desc, NULL, NULL);
