elm_map: Fix to show and bring in a correct region after zooming

Summary:
Show and bring in a region which has the given latitude and longitude after zooming
@fix

Reviewers: Hermet

CC: seoz

Differential Revision: https://phab.enlightenment.org/D851
This commit is contained in:
Jaehyun Cho 2014-05-14 12:27:27 +09:00 committed by Carsten Haitzler (Rasterman)
parent e62b07f779
commit 7e6799db44
1 changed files with 13 additions and 9 deletions

View File

@ -1012,21 +1012,24 @@ _track_place(Elm_Map_Data *sd)
static void
_calc_job(Elm_Map_Data *sd)
{
if (sd->calc_job.region_show_bring_in)
{
sd->calc_job.region_show_bring_in
(sd, sd->calc_job.lon, sd->calc_job.lat, sd->calc_job.bring_in);
sd->calc_job.region_show_bring_in = NULL;
}
if (sd->calc_job.zoom_mode_set)
{
sd->calc_job.zoom_mode_set(sd, sd->calc_job.zoom);
sd->calc_job.zoom_mode_set = NULL;
}
if (sd->calc_job.overlays_show)
if (!sd->zoom_animator)
{
sd->calc_job.overlays_show(sd, sd->calc_job.overlays);
sd->calc_job.overlays_show = NULL;
if (sd->calc_job.region_show_bring_in)
{
sd->calc_job.region_show_bring_in
(sd, sd->calc_job.lon, sd->calc_job.lat, sd->calc_job.bring_in);
sd->calc_job.region_show_bring_in = NULL;
}
if (sd->calc_job.overlays_show)
{
sd->calc_job.overlays_show(sd, sd->calc_job.overlays);
sd->calc_job.overlays_show = NULL;
}
}
}
@ -1136,6 +1139,7 @@ _zoom_anim_cb(void *data)
{
sd->zoom_animator = NULL;
evas_object_smart_changed(sd->pan_obj);
_calc_job(sd);
return ECORE_CALLBACK_CANCEL;
}