wd->show.show = EINA_FALSE;
elm_smart_scroller_child_region_show(wd->scr, wd->show.x, wd->show.y, wd->show.w, wd->show.h);
}
- printf("RECT PLACE %d %d\n", gw, gh);
}
static void
{
elm_map_utils_convert_geo_into_coord(wd->center_on.lon, wd->center_on.lat, wd->size.w, &xx, &yy);
xx -= ow / 2;
- yy -= oh / 2;
+ yy -= oh / 2;
}
else
{
if (yy < 0) yy = 0;
else if (yy > (wd->size.h - oh)) yy = wd->size.h - oh;
- printf("ZOOM %d %f %d\n", wd->size.w, wd->size.spos.x, xx);
- //elm_smart_scroller_child_region_show(wd->scr, xx, yy, ow, oh);
wd->show.show = EINA_TRUE;
wd->show.x = xx;
wd->show.y = yy;
wd->calc_job = ecore_job_add(_calc_job, wd);
if (t >= 1.0)
{
- printf("ZOOM DONE %d %d\n\n", xx, yy);
return 0;
}
return 1;
evas_object_show(group->bx);
elm_scroller_content_set(group->sc, group->bx);
-
+
evas_object_event_callback_add(group->sc, EVAS_CALLBACK_RESIZE,
_bubble_sc_hits_changed_cb, group);
}
marker->content = marker->class->func.get(group->wd->obj, marker, marker->data);
if(marker->content)
- elm_box_pack_end(group->bx, marker->content);
+ elm_box_pack_end(group->bx, marker->content);
}
}
evas_object_show(group->rect);
}
-static void
+ static void
_group_bringin_cb(void *data, Evas_Object *obj, const char *emission, const char *soure)
{
Marker_Group *group = data;
elm_map_geo_region_bring_in(group->wd->obj, marker->longitude, marker->latitude);
}
-static void
+ static void
_group_open_cb(void *data, Evas_Object *obj, const char *emission, const char *soure)
{
Marker_Group *group = data;
evas_object_smart_callback_add(wd->scr, "drag,stop", _scr_drag_stop, obj);
evas_object_smart_callback_add(wd->scr, "scroll", _scr_scroll, obj);
- elm_smart_scroller_bounce_allow_set(wd->scr, 0, 0);
+ elm_smart_scroller_bounce_allow_set(wd->scr, 1, 1);
wd->obj = obj;
group->x-group->w/4, group->y-group->h/4, group->w, group->h))
{
group->markers = eina_list_append(group->markers, marker);
-
+
group->sum_x += marker->x[i];
group->sum_y += marker->y[i];
group->x = group->sum_x / eina_list_count(group->markers);
group->y = group->sum_y / eina_list_count(group->markers);
-
+
group->w = sizew + sizew/8. * eina_list_count(group->markers);
group->h = sizeh + sizew/8. * eina_list_count(group->markers);
if(group->w > wd->marker_max_w) group->w = wd->marker_max_w;
double x, y;
} spos;
} size;
+ struct
+ {
+ Eina_Bool show : 1;
+ Evas_Coord x, y ,w ,h;
+ } show;
int tsize;
Evas_Object *img; // low res version of image (scale down == 8)
int nosmooth;
ox + 0 - px + ax,
oy + 0 - py + ay);
evas_object_resize(wd->img, gw, gh);
+
+ if(wd->show.show)
+ {
+ wd->show.show = EINA_FALSE;
+ elm_smart_scroller_child_region_show(wd->scr, wd->show.x, wd->show.y, wd->show.w, wd->show.h);
+ }
}
static void
else if (xx > (wd->size.w - ow)) xx = wd->size.w - ow;
if (yy < 0) yy = 0;
else if (yy > (wd->size.h - oh)) yy = wd->size.h - oh;
- elm_smart_scroller_child_region_show(wd->scr, xx, yy, ow, oh);
+
+ wd->show.show = EINA_TRUE;
+ wd->show.x = xx;
+ wd->show.y = yy;
+ wd->show.w = ow;
+ wd->show.h = oh;
+
if (wd->calc_job) ecore_job_del(wd->calc_job);
wd->calc_job = ecore_job_add(_calc_job, wd);
if (t >= 1.0)