Evas_Coord auto_x, auto_y; // desired delta
Evas_Coord x, y; // current delta
} delta;
+ Ecore_Job *show_region_job;
};
/* Enum to identify conformant swallow parts */
Evas_Object *obj,
void *event_info);
static void _sizing_eval(Evas_Object *obj);
+static void _show_region_job(void *data);
static Eina_Bool _prop_change(void *data, int type, void *event);
static void _changed_size_hints(void *data, Evas *e,
Evas_Object *obj,
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
+ if (wd->show_region_job) ecore_job_del(wd->show_region_job);
free(wd);
}
_content_resize_event_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj
__UNUSED__, void *event_info __UNUSED__)
{
- Evas_Object *focus_obj;
Evas_Object *conformant = (Evas_Object *)data;
Widget_Data *wd = elm_widget_data_get(conformant);
if (wd->vkb_state == ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF) return;
#endif
+ if (wd->show_region_job) ecore_job_del(wd->show_region_job);
+ wd->show_region_job = ecore_job_add(_show_region_job, conformant);
+}
+
+static void
+_show_region_job(void *data)
+{
+ Evas_Object *focus_obj;
+ Evas_Object *conformant = (Evas_Object *)data;
+ Widget_Data *wd = elm_widget_data_get(conformant);
+
+ if (!wd) return;
+
focus_obj = elm_widget_focused_object_get(conformant);
if (focus_obj)
{
elm_widget_show_region_set(focus_obj, x, y, w, h, EINA_TRUE);
}
+
+ wd->show_region_job = NULL;
}
#ifdef HAVE_ELEMENTARY_X
Evas_Object *parent_obj, *child_obj;
Evas_Coord px, py, cx, cy;
+ evas_smart_objects_calculate(evas_object_evas_get(obj));
+
API_ENTRY return;
if (!forceshow && (x == sd->rx) && (y == sd->ry)
&& (w == sd->rw) && (h == sd->rh)) return;