elm_photocam_gesture_enabled_set(slider_new->pMainView->photocam, EINA_TRUE);
elm_photocam_gesture_enabled_set(slider_new->pMainView->photocam2, EINA_TRUE);
- elm_gesture_layer_cb_set(slider_new->gesture, ELM_GESTURE_N_LONG_TAPS, ELM_GESTURE_STATE_ABORT, ivug_long_tap_gesture_abort_cb, slider_new);
- elm_gesture_layer_cb_set(slider_new->gesture, ELM_GESTURE_N_LONG_TAPS, ELM_GESTURE_STATE_MOVE, ivug_long_tap_gesture_move_cb, slider_new);
+ //Long tap gesture not required currently.
+ //elm_gesture_layer_cb_set(slider_new->gesture, ELM_GESTURE_N_LONG_TAPS, ELM_GESTURE_STATE_ABORT, ivug_long_tap_gesture_abort_cb, slider_new);
+ //elm_gesture_layer_cb_set(slider_new->gesture, ELM_GESTURE_N_LONG_TAPS, ELM_GESTURE_STATE_MOVE, ivug_long_tap_gesture_move_cb, slider_new);
elm_gesture_layer_cb_set(slider_new->gesture, ELM_GESTURE_MOMENTUM , ELM_GESTURE_STATE_START, _momentum_start, slider_new);
elm_gesture_layer_cb_set(slider_new->gesture, ELM_GESTURE_MOMENTUM , ELM_GESTURE_STATE_MOVE, _momentum_move, slider_new);
elm_gesture_layer_cb_set(gesture, ELM_GESTURE_N_LONG_TAPS, ELM_GESTURE_STATE_START, NULL, NULL);
elm_gesture_layer_cb_set(gesture, ELM_GESTURE_N_LONG_TAPS, ELM_GESTURE_STATE_END, NULL, NULL);
- elm_gesture_layer_cb_set(gesture, ELM_GESTURE_N_LONG_TAPS, ELM_GESTURE_STATE_ABORT, ivug_long_tap_gesture_abort_cb, slider_new);
- elm_gesture_layer_cb_set(gesture, ELM_GESTURE_N_LONG_TAPS, ELM_GESTURE_STATE_MOVE, ivug_long_tap_gesture_move_cb, slider_new);
+
+ //Long tap gesture not required currently.
+ //elm_gesture_layer_cb_set(gesture, ELM_GESTURE_N_LONG_TAPS, ELM_GESTURE_STATE_ABORT, ivug_long_tap_gesture_abort_cb, slider_new);
+ //elm_gesture_layer_cb_set(gesture, ELM_GESTURE_N_LONG_TAPS, ELM_GESTURE_STATE_MOVE, ivug_long_tap_gesture_move_cb, slider_new);
elm_gesture_layer_cb_set(gesture, ELM_GESTURE_MOMENTUM , ELM_GESTURE_STATE_START, _momentum_start, slider_new);
elm_gesture_layer_cb_set(gesture, ELM_GESTURE_MOMENTUM , ELM_GESTURE_STATE_MOVE, _momentum_move, slider_new);
#undef LOG_CAT
#define LOG_CAT "IV-MAIN-VIEW"
+#define MOVE_GIF_X 140
+#define RESIZE_GIF_W 1000
+#define RESIZE_GIF_H 720
+
// EDJE
#define IVUG_MAIN_EDJ full_path(EDJ_PATH, "/ivug-main.edj")
///////////////////////////////////////////////////////////////////////////////////////////////////
return;
}
+static void
+ivug_gif_view_pop_cb(void *data, Evas_Object* obj, void* event_info)
+{
+ ivug_ret_if(!data);
+ Ivug_MainView *pMainView = (Ivug_MainView *)data;
+
+ Elm_Object_Item *it = elm_naviframe_top_item_get(pMainView->navi_bar);
+ MSG_IVUG_HIGH("GIF View Pop");
+
+ elm_naviframe_item_pop(pMainView->navi_bar);
+}
+
+
+static Evas_Object*
+ivug_gif_view_back_button_create(Evas_Object *parent, Evas_Smart_Cb cb_func, void *data)
+{
+ ivug_retv_if(!parent, NULL);
+
+ Evas_Object *btn = NULL;
+ btn = elm_button_add(parent);
+ if (btn == NULL) {
+ MSG_ERROR("create button failed.");
+ return NULL;
+ }
+
+ elm_object_style_set(btn, "naviframe/back_btn/default");
+
+ evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ if (cb_func) {
+ evas_object_smart_callback_add(btn, "clicked", cb_func, data);
+ }
+ return btn;
+}
+
+
+static Eina_Bool
+naviframe_pop_cb(void *data, Elm_Object_Item *it)
+{
+ return EINA_TRUE;
+}
+
+
+static Evas_Object*
+ivug_create_content(Evas_Object *parent, char* path)
+{
+ ivug_retv_if(!parent, NULL);
+
+ Evas_Object *ly = elm_layout_add(parent);
+ evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+ Evas_Object * img = elm_image_add(ly);
+ elm_image_file_set(img, path, NULL);
+ elm_image_animated_set(img, EINA_TRUE);
+ elm_image_animated_play_set(img, EINA_TRUE);
+
+ evas_object_move(img, MOVE_GIF_X, 0);
+ evas_object_resize(img, RESIZE_GIF_W, RESIZE_GIF_H);
+ evas_object_show(img);
+ evas_object_show(ly);
+
+ return ly;
+}
+
+
+static void ivug_create_gif_view(Ivug_MainView *pMainView, char* path)
+{
+ IV_ASSERT(pMainView != NULL);
+ Evas_Object *sn_layout = ivug_slider_new_get_layout(pMainView->pSliderNew);
+ Evas_Object *content;
+ Evas_Object *btn;
+ Elm_Object_Item *nf_it;
+
+ content = ivug_create_content(pMainView->navi_bar, path);
+
+ /* Push a new item */
+ nf_it = elm_naviframe_item_push(pMainView->navi_bar, NULL, NULL, NULL, content, NULL);
+
+ Evas_Object *btnBack = ivug_gif_view_back_button_create(pMainView->navi_bar, ivug_gif_view_pop_cb, pMainView);
+ elm_object_item_part_content_set(nf_it, "prev_btn", btnBack);
+ elm_naviframe_item_pop_cb_set(nf_it, naviframe_pop_cb, pMainView->navi_bar);
+}
+
/**
* play video icon clicked
* @param data: main view data
return;
}
- MSG_MAIN_HIGH("Launching video player");
- if (pMainView->mode == IVUG_MODE_CAMERA_SIMPLE) {
- ivug_ext_launch_videoplayer(mdata->filepath, true);
+ if (ivug_is_agif(pMainView, mdata->filepath)) {
+ MSG_MAIN_HIGH("Launching GIF");
+ ivug_create_gif_view(pMainView, mdata->filepath);
} else {
- ivug_ext_launch_videoplayer(mdata->filepath, false);
+ MSG_MAIN_HIGH("Launching video player");
+ if (pMainView->mode == IVUG_MODE_CAMERA_SIMPLE) {
+ ivug_ext_launch_videoplayer(mdata->filepath, true);
+ } else {
+ ivug_ext_launch_videoplayer(mdata->filepath, false);
+ }
}
}
elm_photocam_file_set(pMainView->photocam, mdata->thumbnail_path);
ivug_disable_gesture(pMainView->pSliderNew);
} else {
- edje_object_signal_emit(elm_layout_edje_get(sn_layout), "hide,icon", "video_play_icon");
- pMainView->is_play_Icon = false;
+ if (ivug_is_agif(pMainView, mdata->filepath)) {
+ edje_object_signal_emit(elm_layout_edje_get(sn_layout), "show,icon", "video_play_icon");
+ pMainView->is_play_Icon = true;
+ } else {
+ edje_object_signal_emit(elm_layout_edje_get(sn_layout), "hide,icon", "video_play_icon");
+ pMainView->is_play_Icon = false;
+ }
int bx = 0, by = 0, bw = 0, bh = 0;
e = elm_photocam_file_set(pMainView->photocam, mdata->filepath);
MSG_MAIN_HIGH("photocam_file_set Error = %d", e);
elm_photocam_file_set(pMainView->photocam, mdata->thumbnail_path);
ivug_disable_gesture(pMainView->pSliderNew);
} else {
- edje_object_signal_emit(elm_layout_edje_get(sn_layout), "hide,icon", "video_play_icon");
- pMainView->is_play_Icon = false;
+ if (ivug_is_agif(pMainView, mdata->filepath)) {
+ edje_object_signal_emit(elm_layout_edje_get(sn_layout), "show,icon", "video_play_icon");
+ pMainView->is_play_Icon = true;
+ } else {
+ edje_object_signal_emit(elm_layout_edje_get(sn_layout), "hide,icon", "video_play_icon");
+ pMainView->is_play_Icon = false;
+ }
e = elm_photocam_file_set(pMainView->photocam, mdata->filepath);
if (EVAS_LOAD_ERROR_NONE != e) {
if (pData && pData->slide_type == SLIDE_TYPE_VIDEO) {
elm_photocam_file_set(pMainView->photocam2, pData->thumbnail_path);
} else if (pData) {
- e = elm_photocam_file_set(pMainView->photocam2, pData->filepath);
+ if (ivug_is_agif(pMainView, pData->filepath)) {
+ e = elm_photocam_file_set(pMainView->photocam2, pData->thumbnail_path);
+ } else {
+ e = elm_photocam_file_set(pMainView->photocam2, pData->filepath);
+ }
if (EVAS_LOAD_ERROR_NONE != e) {
MSG_HIGH("Loading default Thumbnail");
if (pmData->slide_type == SLIDE_TYPE_VIDEO) {
elm_photocam_file_set(pMainView->photocam0, pmData->thumbnail_path);
} else {
- e = elm_photocam_file_set(pMainView->photocam0, pmData->filepath);
+ if (ivug_is_agif(pMainView, pmData->filepath)) {
+ elm_photocam_file_set(pMainView->photocam0, pmData->thumbnail_path);
+ } else {
+ e = elm_photocam_file_set(pMainView->photocam0, pmData->filepath);
+ }
+
if (EVAS_LOAD_ERROR_NONE != e) {
MSG_HIGH("Loading default Thumbnail");
elm_photocam_file_set(pMainView->photocam0, default_thumbnail_edj_path);
edje_object_signal_emit(_EDJ(pMainView->lyContent), "elm,state,hide", "user");
edje_object_signal_emit(elm_layout_edje_get(pMainView->lyContent), "hide,back,btn", "user");
-}
+}
\ No newline at end of file
Media_Data *mData = ivug_medialist_get_data(mitem);
if (mData->slide_type == SLIDE_TYPE_IMAGE) {
- edje_object_signal_emit(elm_layout_edje_get(sn_layout), "hide,icon", "video_play_icon");
- ivug_enable_gesture(pMainView->pSliderNew);
- pMainView->is_play_Icon = false;
+ if (ivug_is_agif(pMainView, mData->filepath)) {
+ edje_object_signal_emit(elm_layout_edje_get(sn_layout), "show,icon", "video_play_icon");
+ ivug_disable_gesture(pMainView->pSliderNew);
+ pMainView->is_play_Icon = true;
+ } else {
+ edje_object_signal_emit(elm_layout_edje_get(sn_layout), "hide,icon", "video_play_icon");
+ ivug_enable_gesture(pMainView->pSliderNew);
+ pMainView->is_play_Icon = false;
+ }
} else {
edje_object_signal_emit(elm_layout_edje_get(sn_layout), "show,icon", "video_play_icon");
ivug_disable_gesture(pMainView->pSliderNew);
Media_Data *mData = ivug_medialist_get_data(mitem);
if (mData->slide_type == SLIDE_TYPE_IMAGE) {
- edje_object_signal_emit(elm_layout_edje_get(sn_layout), "hide,icon", "video_play_icon");
- ivug_enable_gesture(pMainView->pSliderNew);
- pMainView->is_play_Icon = false;
+ if (ivug_is_agif(pMainView, mData->filepath)) {
+ edje_object_signal_emit(elm_layout_edje_get(sn_layout), "show,icon", "video_play_icon");
+ ivug_disable_gesture(pMainView->pSliderNew);
+ pMainView->is_play_Icon = true;
+ } else {
+ edje_object_signal_emit(elm_layout_edje_get(sn_layout), "hide,icon", "video_play_icon");
+ ivug_enable_gesture(pMainView->pSliderNew);
+ pMainView->is_play_Icon = false;
+ }
+
} else {
edje_object_signal_emit(elm_layout_edje_get(sn_layout), "show,icon", "video_play_icon");
ivug_disable_gesture(pMainView->pSliderNew);
if (pmData->slide_type == SLIDE_TYPE_VIDEO) {
elm_photocam_file_set(*prev_pc, pmData->thumbnail_path);
} else {
- err = elm_photocam_file_set(*prev_pc, pmData->filepath);
+ if (ivug_is_agif(pMainView, pmData->filepath)) {
+ err = elm_photocam_file_set(*prev_pc, pmData->thumbnail_path);
+ } else {
+ err = elm_photocam_file_set(*prev_pc, pmData->filepath);
+ }
if (EVAS_LOAD_ERROR_NONE != err) {
MSG_HIGH("Loading default Thumbnail");
if (pmData->slide_type == SLIDE_TYPE_VIDEO) {
elm_photocam_file_set(*next_pc, pmData->thumbnail_path);
} else {
- err = elm_photocam_file_set(*next_pc, pmData->filepath);
+ if (ivug_is_agif(pMainView, pmData->filepath)) {
+ err = elm_photocam_file_set(*next_pc, pmData->thumbnail_path);
+ } else {
+ err = elm_photocam_file_set(*next_pc, pmData->filepath);
+ }
if (EVAS_LOAD_ERROR_NONE != err) {
MSG_HIGH("Loading default Thumbnail");