From 6345d2bbb095106f64409c00f0de806ac36e7611 Mon Sep 17 00:00:00 2001 From: Kim Shinwoo Date: Fri, 16 Dec 2011 05:15:32 +0000 Subject: [PATCH] elementary/ctxpopup Sure, I have separated the path. The attached patch is for the using previous result which is calculated by the _calc_base_geometry(); Thanks always.. Please review this patch first. I will send second one based on the attached. Sincerely, Shinwoo Kim. Signed-Off-By: Kim Shinwoo Signed-Off-By: ChunEon Park SVN revision: 66267 --- src/lib/elc_ctxpopup.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/lib/elc_ctxpopup.c b/src/lib/elc_ctxpopup.c index fa57ab2..983bb33 100644 --- a/src/lib/elc_ctxpopup.c +++ b/src/lib/elc_ctxpopup.c @@ -64,7 +64,7 @@ static void _adjust_pos_y(Evas_Coord_Point *pos, Evas_Coord_Rectangle *hover_area); static Elm_Ctxpopup_Direction _calc_base_geometry(Evas_Object *obj, Evas_Coord_Rectangle *rect); -static void _update_arrow(Evas_Object *obj, Elm_Ctxpopup_Direction dir); +static void _update_arrow(Evas_Object *obj, Elm_Ctxpopup_Direction dir, Evas_Coord_Rectangle rect); static void _sizing_eval(Evas_Object *obj); static void _shift_base_by_arrow(Evas_Object *arrow, Elm_Ctxpopup_Direction dir, @@ -504,11 +504,10 @@ _calc_base_geometry(Evas_Object *obj, Evas_Coord_Rectangle *rect) } static void -_update_arrow(Evas_Object *obj, Elm_Ctxpopup_Direction dir) +_update_arrow(Evas_Object *obj, Elm_Ctxpopup_Direction dir, Evas_Coord_Rectangle base_size) { Evas_Coord x, y; Evas_Coord_Rectangle arrow_size; - Evas_Coord_Rectangle base_size; Widget_Data *wd; double drag; @@ -518,8 +517,6 @@ _update_arrow(Evas_Object *obj, Elm_Ctxpopup_Direction dir) evas_object_geometry_get(obj, &x, &y, NULL, NULL); evas_object_geometry_get(wd->arrow, NULL, NULL, &arrow_size.w, &arrow_size.h); - evas_object_geometry_get(wd->base, &base_size.x, &base_size.y, - &base_size.w, &base_size.h); edje_object_part_unswallow(wd->base, wd->arrow); @@ -677,7 +674,7 @@ _sizing_eval(Evas_Object *obj) //Base wd->dir = _calc_base_geometry(obj, &rect); _show_signal_emit(obj, wd->dir); - _update_arrow(obj, wd->dir); + _update_arrow(obj, wd->dir, rect); _shift_base_by_arrow(wd->arrow, wd->dir, &rect); //resize scroller according to final size. -- 2.7.4