X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=backends%2Fsystem%2Fdefault_ani_easysetup.c;h=4449a4e2969f91d213f0356bc64efb590fced850;hb=2e78a9207788b3de63c50d76b18b11855f24a4ad;hp=791300d4cdc027c63ed12b3d58b97ae43dbcd195;hpb=8e20904d16d6d59127ba47bb05af288e116e3538;p=platform%2Fcore%2Fuifw%2Flibpui.git diff --git a/backends/system/default_ani_easysetup.c b/backends/system/default_ani_easysetup.c index 791300d..4449a4e 100644 --- a/backends/system/default_ani_easysetup.c +++ b/backends/system/default_ani_easysetup.c @@ -85,7 +85,11 @@ _ani_backend_easysetup_get_frame(default_ani_info *ani_info) } ani_info->frame_idx++; if (ani_info->frame_idx >= (ani_info->num_key_frames * SMOOTH_FRAME)) + { + if (ani_info->repeat >= 0) + ani_info->repeat_cur++; ani_info->frame_idx = 0; + } return frame; } @@ -143,7 +147,14 @@ _ani_backend_easysetup_frame_cb(void *data, int serial) return (pui_bool)0; } - pui_info("... update (serial=%d)\n", serial); + pui_info("... update (serial=%d), (repeat| cur: %d, want: %d)\n", + serial, ani_info->repeat_cur, ani_info->repeat); + + if (ani_info->repeat >= 0 && + ani_info->repeat_cur >= ani_info->repeat) + { + ani_data->ani_func->ani_stop(ani, EINA_FALSE); + } return (pui_bool)1; } @@ -158,14 +169,13 @@ _ani_easysetup_start(pui_ani_t *ani, int repeat) ani_data = pui_backend_ani_get_ani_data(ani); default_ani_info *info = (default_ani_info *)ani_data->ani_info; - //TODO - (void) info; - pui_info("... info->id: %s, repeat : %d, interval: %d\n", info->id, repeat, info->interval); pui_backend_ani_status_update(ani, PUI_ANI_STATUS_STARTED); - ret = pui_backend_ani_add_frame_cb(ani, _ani_backend_easysetup_frame_cb, info->interval / 1000.0); + if (repeat == 0) info->repeat = 1; + else info->repeat = repeat; + ret = pui_backend_ani_add_frame_cb(ani, _ani_backend_easysetup_frame_cb, info->interval / 1000.0); if (!ret) { pui_err("Failed to add frame callback !\n");