lib/elementary/efl_ui_win_part.eo \
tests/elementary/focus_test.eo \
tests/elementary/focus_test_sub_main.eo \
+ lib/elementary/efl_ui_focus_rectangle.eo \
$(NULL)
# Legacy classes - not part of public EO API
#include <Elementary.h>
#include "elm_priv.h"
+#include "efl_ui_focus_rectangle.eo.h"
+
#define MY_CLASS EFL_UI_FOCUS_MANAGER_ROOT_FOCUS_CLASS
typedef struct {
ret = efl_finalize(efl_super(obj, MY_CLASS));
pd->root = efl_ui_focus_manager_root_get(obj);
- pd->rect = evas_object_rectangle_add(evas_object_evas_get(pd->root));
+
+ pd->rect = efl_add(EFL_UI_FOCUS_RECTANGLE_CLASS, evas_object_evas_get(pd->root));
+
+ EINA_SAFETY_ON_NULL_RETURN_VAL(pd->rect, NULL);
+
pd->iterator_list = eina_list_append(pd->iterator_list, pd->root);
_state_eval(obj, pd);
#include "efl_ui_focus_manager_root_focus.eo.c"
+/* focus rectnangle implementation */
+typedef struct {
+ Eina_Bool focus;
+} Efl_Ui_Focus_Rectangle_Data;
+
+EOLIAN static Eina_Rect
+_efl_ui_focus_rectangle_efl_ui_focus_object_focus_geometry_get(Eo *obj, Efl_Ui_Focus_Rectangle_Data *pd EINA_UNUSED)
+{
+ Eina_Rect geom;
+
+ evas_object_geometry_get(obj, &geom.x, &geom.y, &geom.w, &geom.h);
+
+ return geom;
+}
+
+
+EOLIAN static void
+_efl_ui_focus_rectangle_efl_ui_focus_object_focus_set(Eo *obj, Efl_Ui_Focus_Rectangle_Data *pd, Eina_Bool focus)
+{
+ efl_ui_focus_object_focus_set(efl_super(obj, EFL_UI_FOCUS_RECTANGLE_CLASS), focus);
+
+ pd->focus = focus;
+}
+
+
+EOLIAN static Eina_Bool
+_efl_ui_focus_rectangle_efl_ui_focus_object_focus_get(Eo *obj EINA_UNUSED, Efl_Ui_Focus_Rectangle_Data *pd)
+{
+ return pd->focus;
+}
+
+
+#include "efl_ui_focus_rectangle.eo.c"