aa = ( tv.tv_sec * 1000 + tv.tv_usec / 1000 ) - aa; \
} while(0)
-// TODO : Need align(1)
typedef struct {
const char *fname;
int nline;
#endif //IVUG_LOG_OUTPUT_DLOG
-/*
- How to add new Category..
-
- TODO:
-*/
-
#define MSG_MOUSE_SZCAT "IV-MOUSE"
#define LVL_MOUSE DBG_MSG_LVL_WARN
} MouseEvent;
-// TODO : Review below APIs
typedef struct {
void (*onMouseDown)(Evas_Object *obj, MouseEvent *down, void *data);
void (*onMouseDlbClick)(Evas_Object *obj, MouseEvent *click, void *data);
#include <vconf.h>
#include <vconf-keys.h>
-//TODO: Request vconf key to setting part, Slide show setting vconf key
#define VCONFKEY_GALLERY_INTERVAL_TIME "db/setting/gallery/interval_time" //double
#define VCONFKEY_GALLERY_REPEAT_STATE "db/setting/gallery/repeat_state" //boolean
#define VCONFKEY_GALLERY_SHUFFLE_STATE "db/setting/gallery/shuffle_state" //boolean
#define VCONFKEY_GALLERY_TRANSITION_EFFECT "db/setting/gallery/ss_effect" //char
-#define VCONFKEY_GALLERY_MUSIC_STATE "db/setting/gallery/music_state" //boolean
-#define VCONFKEY_GALLERY_MUSIC_PATH "db/setting/gallery/ss_music" //char
-
enum { STATE_FALSE = 0, STATE_TRUE = 1, };
return FALSE;
}
-// TODO : Need to check file existence?????
/*if(vconf_set_str(VCONFKEY_BGSET, filepath) < 0)
{
MSG_IMAGEVIEW_ERROR("Homescreen set Error");
static char *
_ivug_config_get_slideshow_effect_type(void)
{
-// TODO : Free returned string??
char *effect_str = NULL;
effect_str = vconf_get_str(VCONFKEY_GALLERY_TRANSITION_EFFECT);
return true;
}
-bool _get_drm_image_gps_info(const char* filepath, double *latitude, double *longitude)
-{
- IV_ASSERT(filepath != NULL);
- IV_ASSERT(latitude != NULL);
- IV_ASSERT(longitude != NULL);
-
- ExifData *ed = NULL;
-
- unsigned char *buffer = NULL;
- unsigned int buf_size = 0;
-
- buffer = ivug_data_drm_get_buffer_from_file(filepath, &buf_size); // Returned buffer should be freed by user
-
- if ( (buffer == NULL) || (buf_size == 0))
- {
- MSG_DETAIL_ERROR("Cannot get file buf");
- return false;
- }
-
- ed = exif_data_new_from_data(buffer, buf_size);
- if (!ed)
- {
- free(buffer);
- return false;
- }
-
- if(_get_gps_info_from_exifdata(ed, latitude, longitude) == false)
- {
- exif_data_unref(ed);
- free(buffer);
- return false;
- }
-
- exif_data_unref(ed);
- free(buffer);
-
- return true;
-}
-
bool _get_image_gps_info(const char* filepath, double *latitude, double *longitude)
{
IV_ASSERT(filepath != NULL);
return true;
}
-
-static bool _get_drm_image_resolution(const char *path, int * /* OUT */ pWidth, int * /* OUT */pHeight)
-{
- IV_ASSERT(path != NULL);
-
- unsigned char *buffer = NULL;
- unsigned int buf_size = 0;
-
- buffer = ivug_data_drm_get_buffer_from_file(path, &buf_size); // Returned buffer should be freed by user
-
- if ( buffer == NULL )
- {
- MSG_DETAIL_ERROR("Cannot get file buf");
- return false;
- }
-
- int width = 0;
- int height = 0;
-
- Evas *canvas;
- Ecore_Evas *ee;
-
- ee = ecore_evas_buffer_new(1, 1); // Dummy canvas for decoding image
- if (!ee)
- {
- MSG_DETAIL_ERROR("Cannot get EVAS");
- free(buffer);
- return false;
- }
-
- canvas = ecore_evas_get(ee);
-
- Evas_Object *img = evas_object_image_add(canvas);
-
- evas_object_image_file_set(img, NULL, NULL);
- evas_object_image_load_orientation_set(img, EINA_TRUE);
- evas_object_image_load_scale_down_set(img, 0);
- evas_object_image_memfile_set(img, buffer, buf_size, NULL, NULL); // There is no return value
- evas_object_image_size_get(img, &width, &height);
-
- evas_object_image_file_set(img, NULL, NULL);
- evas_object_del(img);
-
- free(buffer);
-
- ecore_evas_free(ee);
-
- *pWidth = width;
- *pHeight = height;
-
- MSG_DETAIL_HIGH("widht & height is [%d, %d]", width, height);
-
- return true;
-}
-
-
static bool
_get_video_resolution(const char *path, int * /* OUT */ pWidth, int * /* OUT */pHeight)
{
return false;
}
- if(ivug_drm_is_drm_file(path) == true)
- {
- return _get_drm_image_resolution(path, pWidth, pHeight);
- }
- else
+ if(ivug_drm_is_drm_file(path) == false)
{
return _get_image_resolution(path, pWidth, pHeight);
}
return false;
}
- if(ivug_drm_is_drm_file(path) == true)
- {
-// TODO : Currently, Not support to get video resolution for drm.
- return false;
- }
- else
+ if(ivug_drm_is_drm_file(path) == false)
{
return _get_video_resolution(path, pWidth, pHeight);
}
return false;
}
- if(ivug_drm_is_drm_file(path) == true)
- {
-// TODO : Currently, Not support to get video gps info for drm.
- return false;
- }
- else
+ if(ivug_drm_is_drm_file(path) == false)
{
return _get_video_gps_info(path, latitude, longitude);
}
return false;
}
- if(ivug_drm_is_drm_file(path) == true)
- {
- return _get_drm_image_gps_info(path, latitude, longitude);
- }
- else
+ if(ivug_drm_is_drm_file(path) == false)
{
return _get_image_gps_info(path, latitude, longitude);
}
}
pData->m_state++;
- pData->bDown[pressed] = true; // TODO : probably, can make memory overwritten issues.
+ pData->bDown[pressed] = true;
if ( pData->m_state == MOUSE_DOWN_1 )
{
pData->bDown[1],
pData->bDown[2]);
- // TODO : Recover.
return;
}
ivug_mouse_event_add(Evas_Object *obj, mouse_callback_t *pCallback, void *client_data, const char *alias)
{
mouse_data_t *pData = NULL;
-//TODO : Should check parameters
pData = calloc(1, sizeof(mouse_data_t));
snprintf(tempname, sizeof(tempname), "%s_0.%s",filepath, ext);
int i = 1;
-// TODO : Will implement with another algorithm
while(ecore_file_exists(tempname) == EINA_TRUE )
{
snprintf(tempname, sizeof(tempname),"%s_%d.%s", filepath, i, ext);
timezone = vconf_get_str(VCONFKEY_SETAPPL_TIMEZONE_ID); // eg Asia/Seoul
if(timezone == NULL)
{
-// TODO : How to get default time zone????
MSG_UTIL_ERROR("Cannot get time zone");
return NULL;
}
/*
Launch extern module.
*/
-bool ivug_ext_launch_videoplayer_allshare(const char *filepath, int mssID);
bool ivug_ext_launch_videoplayer_simple(const char *filepath);
bool ivug_ext_launch_videoplayer(const char *uri);
ui_gadget_h ivug_ext_launch_contact(const char *uri, ug_destroy_cb func, void *data);
ui_gadget_h ivug_ext_launch_message(const char *uri, ug_destroy_cb func, void *data);
-bool ivug_ext_launch_message_through_number(const char *number);
-bool ivug_ext_launch_email_through_addr(const char *addr);
-ui_gadget_h ivug_ext_launch_select_music(ug_result_cb result_func, ug_destroy_cb destroy_func, void *data);
ui_gadget_h ivug_ext_launch_select_contact(ug_result_cb result_func, ug_destroy_cb destroy_func, void *data);
-bool ivug_ext_launch_videoeditor(const char *uri);
bool ivug_ext_launch_browser(const char *uri);
bool ivug_ext_launch_email(const char *uri);
-bool ivug_ext_launch_email_account_set(void *data);
-bool ivug_ext_launch_facebook_profile(void *data, const char *id);
-
-/*
- Actually, each sns pkg needs different parameter. so hard-coding cannot be removed.
-*/
-bool ivug_ext_launch_sns(const char *pkgname, const char *uri);
-
/*
Below functions are not used at Now, but should be needed soon.
return (ret == SERVICE_ERROR_NONE ? ug : NULL);
}
-bool ivug_ext_launch_videoeditor(const char *uri)
-{
- MSG_IMAGEVIEW_HIGH("%s. URI=%s", __func__, uri);
-
- int ret = -1;
- int destroy_ret = -1;
-
- service_h handle;
-
- ret = service_create(&handle);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_create failed, %d", ret);
- return false;
- }
-
- ret = service_set_operation(handle, SERVICE_OPERATION_VIEW);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_set_operation failed, %d", ret);
- goto VIDEO_EDITOR_END;
- }
-
- ret = service_set_uri (handle, uri);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_set_uri failed, %d", ret);
- goto VIDEO_EDITOR_END;
- }
-
- ret = service_add_extra_data(handle, "path", uri);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_add_extra_data failed, %d", ret);
- goto VIDEO_EDITOR_END;
- }
-
- ret = service_add_extra_data(handle, "launching_application", "image_viewer");
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_add_extra_data failed, %d", ret);
- goto VIDEO_EDITOR_END;
- }
-
- ret = service_add_extra_data(handle, "edit_mode", "trim");
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_add_extra_data failed, %d", ret);
- goto VIDEO_EDITOR_END;
- }
-
- const char *pkgname = VIDEOPLAYER_PKG_NAME;
-
- ret = service_set_package(handle, pkgname);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_set_uri failed, %d", ret);
- goto VIDEO_EDITOR_END;
- }
-
- ret = service_send_launch_request(handle, ivug_ext_service_reply_cb, NULL);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_send_launch_request failed, %d", ret);
- goto VIDEO_EDITOR_END;
- }
-
-VIDEO_EDITOR_END:
- destroy_ret = service_destroy(handle);
- if(destroy_ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_destroy failed, %d", destroy_ret);
- return false;
- }
-
- return (ret == SERVICE_ERROR_NONE ? true : false);
-}
-
ui_gadget_h ivug_ext_launch_message(const char *uri, ug_destroy_cb func, void *data)
{
MSG_IMAGEVIEW_HIGH("%s. URI=%s", __func__, uri);
return (ret == SERVICE_ERROR_NONE ? ug : NULL);
}
-bool ivug_ext_launch_message_through_number(const char *number)
-{
- MSG_IMAGEVIEW_HIGH("%s. Number=%s", __func__, number);
-
- int ret = -1;
- int destroy_ret = -1;
-
- service_h handle;
-
- ret = service_create(&handle);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_create failed, %d", ret);
- return false;
- }
-
- ret = service_set_operation(handle, SERVICE_OPERATION_SEND_TEXT);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_set_operation failed, %d", ret);
- goto MESSAGE_CT_END;
- }
-
- /*ret = service_set_uri (handle, uri);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_set_uri failed, %d", ret);
- goto MESSAGE_CT_END;
- }*/
-
- ret = service_add_extra_data(handle, SERVICE_DATA_TO, number);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_add_extra_data failed, %d", ret);
- goto MESSAGE_CT_END;
- }
-
- const char *pkgname = MESSAGE_PKG_NAME;
-
- ret = service_set_package(handle, pkgname);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_set_uri failed, %d", ret);
- goto MESSAGE_CT_END;
- }
-
- ret = service_send_launch_request(handle, ivug_ext_service_reply_cb, NULL);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_send_launch_request failed, %d", ret);
- goto MESSAGE_CT_END;
- }
-
-MESSAGE_CT_END:
- destroy_ret = service_destroy(handle);
- if(destroy_ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_destroy failed, %d", destroy_ret);
- return false;
- }
-
- return (ret == SERVICE_ERROR_NONE ? true : false);
-}
-
-
bool ivug_ext_launch_email(const char *uri)
{
MSG_IMAGEVIEW_HIGH("%s. URI=%s", __func__, uri);
return (ret == SERVICE_ERROR_NONE ? true : false);
}
-bool ivug_ext_launch_email_through_addr(const char *addr)
-{
- MSG_IMAGEVIEW_HIGH("%s. Number=%s", __func__, addr);
-
- int ret = -1;
- int destroy_ret = -1;
-
- service_h handle;
-
- ret = service_create(&handle);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_create failed, %d", ret);
- return false;
- }
-
- ret = service_set_operation(handle, SERVICE_OPERATION_SEND_TEXT);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_set_operation failed, %d", ret);
- goto EMAIL_CT_END;
- }
-
- const char *pkgname = EMAIL_UG_NAME;
-
- ret = service_set_app_id(handle, pkgname);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_set_uri failed, %d", ret);
- goto EMAIL_CT_END;
- }
-
- Ecore_X_Window win_id = elm_win_xwindow_get(ug_get_window());
- ret = service_set_window(handle, win_id);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_set_uri failed, %d", ret);
- goto EMAIL_CT_END;
- }
-
- /*ret = service_set_uri (handle, uri);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_set_uri failed, %d", ret);
- goto EMAIL_CT_END;
- }*/
-
- ret = service_add_extra_data(handle, SERVICE_DATA_TO, addr);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_add_extra_data failed, %d", ret);
- goto EMAIL_CT_END;
- }
- /*
- service_add_extra_data(service, SERVICE_DATA_CC, email_address);
- service_add_extra_data(service, SERVICE_DATA_BCC, email_address);
- service_add_extra_data(service, SERVICE_DATA_SUBJECT, subject_text);
- service_add_extra_data(service, SERVICE_DATA_TEXT, body_text);
- */
-
- ret = service_send_launch_request(handle, ivug_ext_service_reply_cb, NULL);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_send_launch_request failed, %d", ret);
- goto EMAIL_CT_END;
- }
-
-EMAIL_CT_END:
- destroy_ret = service_destroy(handle);
- if(destroy_ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_destroy failed, %d", destroy_ret);
- return false;
- }
-
- return (ret == SERVICE_ERROR_NONE ? true : false);
-}
-
ui_gadget_h ivug_ext_launch_contact(const char *uri, ug_destroy_cb func, void *data)
{
MSG_IMAGEVIEW_HIGH("%s. URI=%s", __func__, uri);
return (ret == SERVICE_ERROR_NONE ? true : false);
}
-bool ivug_ext_launch_videoplayer_allshare(const char *uri, int mssID)
-{
-#define MID_MAX_LEN (8)
-
- MSG_IMAGEVIEW_HIGH("%s. URI=%s", __func__, uri);
-
- int ret = -1;
- int destroy_ret = -1;
-
- service_h handle;
-
- ret = service_create(&handle);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_create failed, %d", ret);
- return false;
- }
-
- ret = service_set_operation(handle, SERVICE_OPERATION_VIEW);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_set_operation failed, %d", ret);
- goto VIDEO_PLAYER_ALLSHARE_END;
- }
-
- ret = service_set_uri (handle, uri);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_set_uri failed, %d", ret);
- goto VIDEO_PLAYER_ALLSHARE_END;
- }
-
- char temp[MID_MAX_LEN] = {0,};
- snprintf(temp, sizeof(temp), "%d", mssID);
-
- ret = service_add_extra_data(handle, "video_list_type", "all_share");
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_add_extra_data failed, %d", ret);
- goto VIDEO_PLAYER_ALLSHARE_END;
- }
-
- ret = service_add_extra_data(handle, "MSS_MediaID", temp);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_add_extra_data failed, %d", ret);
- goto VIDEO_PLAYER_ALLSHARE_END;
- }
-
- ret = service_add_extra_data(handle, "path", uri);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_add_extra_data failed, %d", ret);
- goto VIDEO_PLAYER_ALLSHARE_END;
- }
-
- ret = service_add_extra_data(handle, "launching_application", "simple_viewer");
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_add_extra_data failed, %d", ret);
- goto VIDEO_PLAYER_ALLSHARE_END;
- }
-
- const char *pkgname = VIDEOPLAYER_PKG_NAME;
-
- ret = service_set_package(handle, pkgname);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_set_uri failed, %d", ret);
- goto VIDEO_PLAYER_ALLSHARE_END;
- }
-
- ret = service_send_launch_request(handle, ivug_ext_service_reply_cb, NULL);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_send_launch_request failed, %d", ret);
- goto VIDEO_PLAYER_ALLSHARE_END;
- }
-
-VIDEO_PLAYER_ALLSHARE_END:
- destroy_ret = service_destroy(handle);
- if(destroy_ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_destroy failed, %d", destroy_ret);
- return false;
- }
-
- return (ret == SERVICE_ERROR_NONE ? true : false);
-}
-
-
bool ivug_ext_launch_twitter(const char *uri)
{
MSG_IMAGEVIEW_HIGH("%s. URI=%s", __func__, uri);
return (ret == SERVICE_ERROR_NONE ? true : false);
}
-bool ivug_ext_launch_sns(const char *pkgname, const char *uri)
-{
- if(strcmp(pkgname, "com.samsung.twitter") == 0)
- {
- return ivug_ext_launch_twitter(uri);
- }
- else if(strcmp(pkgname, "com.samsung.facebook") == 0)
- {
- return ivug_ext_launch_facebook(uri);
- }
- else if(strcmp(pkgname, "com.samsung.picasa") == 0)
- {
- return ivug_ext_launch_picasa(uri);
- }
- else if(strcmp(pkgname, "com.samsung.youtube") == 0)
- {
- return ivug_ext_launch_default(uri, SERVICE_OPERATION_SEND, pkgname, NULL);
- }
- else
- {
- MSG_IMAGEVIEW_ERROR("Unknown package name:%s", pkgname);
- }
-
- return true;
-}
-
bool ivug_ext_launch_browser(const char *uri)
{
MSG_IMAGEVIEW_HIGH("%s. URI=%s", __func__, uri);
}
-ui_gadget_h ivug_ext_launch_select_music(ug_result_cb result_func, ug_destroy_cb destroy_func, void *data)
-{
- MSG_IMAGEVIEW_HIGH("%s", __func__);
-
- const char *pa_cur_ringtone = NULL;
- const char *dir_path = NULL;
-
- int ret = -1;
- int destroy_ret = -1;
-
- service_h handle;
- ui_gadget_h ug = NULL;
-
- pa_cur_ringtone = "/opt/share/settings/Ringtones/Over the horizon.mp3";
- dir_path = "/opt/share/settings/Ringtones/";
-
- ret = service_create(&handle);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_create failed, %d", ret);
- return NULL;
- }
-
- /*ret = service_set_operation(handle, SERVICE_OPERATION_VIEW);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_set_operation failed, %d", ret);
- goto MYFILE_END;
- }*/
-
- ret = service_add_extra_data(handle, "marked_mode", pa_cur_ringtone);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_add_extra_data failed, %d", ret);
- goto MYFILE_END;
- }
-
- ret = service_add_extra_data(handle, "path", dir_path);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_add_extra_data failed, %d", ret);
- goto MYFILE_END;
- }
-
- ret = service_add_extra_data(handle, "select_type", "SINGLE_FILE");
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_add_extra_data failed, %d", ret);
- goto MYFILE_END;
- }
-
- ret = service_add_extra_data(handle, "drm_type", "DRM_ALL");
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_add_extra_data failed, %d", ret);
- goto MYFILE_END;
- }
-
- /*const char *pkgname = MYFILE_UG_NAME;
-
- ret = service_set_package(handle, pkgname);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_set_uri failed, %d", ret);
- goto MYFILE_END;
- }*/
-
- ug = _ivug_ext_launch_ug_with_result(MYFILE_UG_NAME, handle, result_func, destroy_func, data);
-
-MYFILE_END:
- destroy_ret = service_destroy(handle);
- if(destroy_ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_destroy failed, %d", destroy_ret);
- return NULL;
- }
-
- return (ret == SERVICE_ERROR_NONE ? ug : NULL);
-}
-
ui_gadget_h ivug_ext_launch_select_contact(ug_result_cb result_func, ug_destroy_cb destroy_func, void *data)
{
MSG_IMAGEVIEW_HIGH("%s", __func__);
return (ret == SERVICE_ERROR_NONE ? ug : NULL);
}
-bool ivug_ext_launch_email_account_set(void *data)
-{
- MSG_IMAGEVIEW_HIGH("%s.", __func__);
-
- int ret = -1;
- int destroy_ret = -1;
-
- service_h handle;
-
- ret = service_create(&handle);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_create failed, %d", ret);
- return false;
- }
-
- ret = service_add_extra_data(handle, "RUN_TYPE", "9");
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_add_extra_data failed, %d", ret);
- goto EMAIL_ACCOUNT_END;
- }
-
- ret = service_set_package(handle, EMAIL_PKG_NAME);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_set_package failed, %d", ret);
- goto EMAIL_ACCOUNT_END;
- }
-
- ret = service_send_launch_request(handle, ivug_ext_service_reply_cb, NULL);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_send_launch_request failed, %d", ret);
- goto EMAIL_ACCOUNT_END;
- }
-
-EMAIL_ACCOUNT_END:
- destroy_ret = service_destroy(handle);
- if(destroy_ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_destroy failed, %d", destroy_ret);
- return false;
- }
-
- return (ret == SERVICE_ERROR_NONE ? true : false);
-}
-
-bool ivug_ext_launch_facebook_profile(void *data, const char *id)
-{
- MSG_IMAGEVIEW_HIGH("%s.", __func__);
-
- int ret = -1;
- int destroy_ret = -1;
-
- service_h handle;
-
- ret = service_create(&handle);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_create failed, %d", ret);
- return false;
- }
-
- ret = service_add_extra_data(handle, "fb.appcontrol.launch.type", "profile");
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_add_extra_data failed, %d", ret);
- goto FACEBOOK_END;
- }
-
- ret = service_add_extra_data(handle, "fb.appcontrol.launch.info", id);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_add_extra_data failed, %d", ret);
- goto FACEBOOK_END;
- }
-
- ret = service_set_operation(handle, "http://tizen.org/fb/appcontrol/operation/view");
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_set_operation failed, %d", ret);
- goto FACEBOOK_END;
- }
-
- ret = service_set_package(handle, FACEBOOK_PKG_NAME);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_set_package failed, %d", ret);
- goto FACEBOOK_END;
- }
-
- ret = service_send_launch_request(handle, ivug_ext_service_reply_cb, data);
- if(ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_send_launch_request failed, %d", ret);
- goto FACEBOOK_END;
- }
-
-FACEBOOK_END:
- destroy_ret = service_destroy(handle);
- if(destroy_ret != SERVICE_ERROR_NONE)
- {
- MSG_IMAGEVIEW_ERROR("service_destroy failed, %d", destroy_ret);
- return false;
- }
-
- return (ret == SERVICE_ERROR_NONE ? true : false);
-}
-
bool ivug_ext_launch_default(const char *uri, const char *operation, const char *pkg, void *data)
{
MSG_IMAGEVIEW_HIGH("%s.", __func__);
IVUG_VIEW_BY_TAG,
IVUG_VIEW_BY_FOLDER, // Same as DB Album. will be renamed to BY_ALBUM
IVUG_VIEW_BY_PLACES,
- IVUG_VIEW_BY_ALLSHARE,
- IVUG_VIEW_BY_PTP,
- IVUG_VIEW_BY_WEB,
- IVUG_VIEW_BY_WEBALBUM,
- IVUG_VIEW_BY_CONTACT_ID,
- IVUG_VIEW_BY_CONTACT_GROUP,
IVUG_VIEW_BY_DIRECTORY,
} ivug_view_by;
#define ZOOM_LEVEL_STEP (0.7)
#define ZOOM_LEVEL_MAX (4)
+#define USE_DEFAULT_APP_SERVICE
case FILE_INFO_RESOLUTION:
*name = strdup(IDS_RESOLUTION);
*contents = (char *)calloc(1, sizeof(char)*NOMAL_BUF+1);
- if(stype == SLIDE_TYPE_IMAGE || stype == SLIDE_TYPE_WEB_IMAGE || stype == SLIDE_TYPE_PTP_IMAGE)
+ if(stype == SLIDE_TYPE_IMAGE)
{
if(ivug_fileinfo_get_image_resolution(path, &width, &height) == false)
{
extern "C" {
#endif
-// TODO : Remove dependacy ivug-detail-view and ivug-detail-info.
-
bool
ivug_datail_get_exif_info(/*out*/char** name_, /*out*/char **contents_,
const char *path, Media_Type stype, exif_info_type_e type);
#define IVUG_BUNDLE_KEY_MEDIA_TYPE "Media type"
-#define IVUG_BUNDLE_KEY_MSS_SERVER_ID "MSS_ServerID"
-#define IVUG_BUNDLE_KEY_MSS_SORT_TYPE "MSS_Sort_type"
-
-#define IVUG_BUNDLE_KEY_ALLSHARE_DEVICE_ID "Device id"
-
-#define IVUG_BUNDLE_KEY_ALLSHARE_HANDLE_POINTER "Handle pointer"
-
-#define IVUG_BUNDLE_KEY_PTP_TOTAL_COUNT "Count"
-
#define IVUG_BUNDLE_KEY_STANDALONE "Standalone"
#define IVUG_BUNDLE_KEY_CONTACT_ID "Contact id"
#define IVUG_BUNDLE_VALUE_VIEW_MODE_NORMAL "NORMAL"
#define IVUG_BUNDLE_VALUE_VIEW_MODE_SINGLE "SINGLE"
#define IVUG_BUNDLE_VALUE_VIEW_MODE_GALLERY "GALLERY"
-#define IVUG_BUNDLE_VALUE_VIEW_MODE_WEB "WEB_CLUSTER"
#define IVUG_BUNDLE_VALUE_VIEW_MODE_CAMERA "CAMERA"
#define IVUG_BUNDLE_VALUE_VIEW_MODE_DISPLAY "DISPLAY"
#define IVUG_BUNDLE_VALUE_VIEW_MODE_SETAS "SETAS"
-#define IVUG_BUNDLE_VALUE_VIEW_MODE_ALLSHARE "ALLSHARE"
-#define IVUG_BUNDLE_VALUE_VIEW_MODE_PTP "PTP"
#define IVUG_BUNDLE_VALUE_VIEW_MODE_SLIDESHOW "SLIDESHOW"
-#define IVUG_BUNDLE_VALUE_VIEW_MODE_BESTSHOT "BESTSHOT"
-#define IVUG_BUNDLE_VALUE_VIEW_MODE_BUDDY "BUDDY PHOTO SHARE"
int len = strlen(val);
if(data->view_by != IVUG_VIEW_BY_ALL &&
data->view_by != IVUG_VIEW_BY_FAVORITES &&
data->view_by != IVUG_VIEW_BY_TAG &&
- data->view_by != IVUG_VIEW_BY_PLACES &&
- data->view_by != IVUG_VIEW_BY_WEBALBUM)
+ data->view_by != IVUG_VIEW_BY_PLACES)
{
data->view_by = IVUG_VIEW_BY_FOLDER;
}
#define IVUG_BUNDLE_VALUE_VIEW_BY_TAGS "Tags"
#define IVUG_BUNDLE_VALUE_VIEW_BY_FLODER "By Folder"
#define IVUG_BUNDLE_VALUE_VIEW_BY_PLACES "Places"
-#define IVUG_BUNDLE_VALUE_VIEW_BY_CONTACT_ID "Contact id"
-#define IVUG_BUNDLE_VALUE_VIEW_BY_CONTACT_GROUP "Contact group"
-#define IVUG_BUNDLE_VALUE_VIEW_BY_WEB "Web"
IV_ASSERT(val != NULL);
{
return IVUG_VIEW_BY_PLACES;
}
- else if (strncmp(val, IVUG_BUNDLE_VALUE_VIEW_BY_CONTACT_ID, len) == 0)
- {
- return IVUG_VIEW_BY_CONTACT_ID;
- }
- else if (strncmp(val, IVUG_BUNDLE_VALUE_VIEW_BY_CONTACT_GROUP, len) == 0)
- {
- return IVUG_VIEW_BY_CONTACT_GROUP;
- }
- else if (strncmp(val, IVUG_BUNDLE_VALUE_VIEW_BY_WEB, len) == 0)
- {
- return IVUG_VIEW_BY_WEBALBUM;
- }
MSG_IVUG_ERROR("Invalid view by : %s", val);
MSG_IVUG_HIGH("View mode is NULL. Set Default(%d)", data->mode);
}
- //data->view_by = IVUG_VIEW_BY_ALLSHARE; // TODO: for all share TEST
-
//parse path
char* szFilePath = NULL;
MSG_IVUG_HIGH("Get Album ID(%s) from file %s", uuid_getchar(data->album_id), data->filepath);
}
-// TODO : Check parameter integrity
service_get_extra_data (service, IVUG_BUNDLE_KEY_MEDIA_TYPE, &val);
if(val != NULL)
{
}
else
{
- /* TODO : remove default value, width & height needed */
data->width = 100;
data->height = 100;
MSG_IVUG_HIGH("Rectangle ratio is not set. Set as default : %dx%d", data->width, data->height);
}
break;
case IVUG_VIEW_BY_DIRECTORY:
- // TODO : Need more things?
break;
case IVUG_VIEW_BY_INVAILD:
default:
typedef enum {
IVUG_MODE_INVAILD = 0x00,
- IVUG_MODE_NORMAL, // include web album
+ IVUG_MODE_NORMAL,
IVUG_MODE_SINGLE, // just show one slide
IVUG_MODE_DISPLAY, // from "take a photo" in messenger
IVUG_MODE_FILE, // file viewer(can flick)
IVUG_MODE_CAMERA, // camera(can flick)
IVUG_MODE_SETAS, // SetAs in setting menu.
- IVUG_MODE_PTP, // PTP in gallery
IVUG_MODE_SLIDESHOW, // Slideshow
- IVUG_MODE_BESTSHOT, // Bestshot
- IVUG_MODE_BUDDY, // Buddy photo share
} ivug_mode;
//set as ug
UUID album_id; //cluster id of media service
ivug_media_type media_type;
- ivug_sort_type sort_type; // TODO : extract from here. sort type can be used in case of default
+ ivug_sort_type sort_type;
/* for places view */
bool footsteps;
/*
- Covert ivug_paramter to db filter or allshare filter
+ Covert ivug_paramter to db filter
*/
Filter_struct *
ivug_param_create_filter(const ivug_parameter *param);
/*
Create & show popup with no button.
- TODO : Rename function
*/
Evas_Object *ivug_timeout_popup_show(Evas_Object *parent,
Evas_Smart_Cb response, void *data, const char *sztitle, const char *content);
NAVI_BAR_TYPE_IMAGE, // [Edit, Set, Info] default
NAVI_BAR_TYPE_FILE, // [Set, Info] default
NAVI_BAR_TYPE_VIDEO, // [Trim, Set, Info] default
- NAVI_BAR_TYPE_WEB_IMAGAE, // [Set] default
NAVI_BAR_TYPE_SELECT, // [Ok, Cancel] from take photo
} ivug_toolbar;
CTRL_BAR_TYPE_NONE = 0x00,
CTRL_BAR_TYPE_EMPTY, // not exist ctrl bar
CTRL_BAR_TYPE_FILE, // [Delete,Share,Set,Info] file manager, video at gallery
- CTRL_BAR_TYPE_READ_ONLY, // [Share, Set, Save, Info] web image
+ CTRL_BAR_TYPE_READ_ONLY, // [Share, Set, Save, Info]
CTRL_BAR_TYPE_IMAGE, // [Delete,Share, Add tag, Slide show, Editor] from gallery
CTRL_BAR_TYPE_VIDEO, // [Delete,Share, Add tag, Slide show, Trim] from gallery
} ivug_ctrlbar;
TOOLBUTTON_DETAILS,
TOOLBUTTON_TRIM,
- TOOLBUTTON_ALLSHARE,
-
// only shows in toolbar
TOOLBUTTON_OK,
TOOLBUTTON_CANCEL,
Evas_Object* vIcon; //video play icon
Evas_Object* photocam; // photocam
- Evas_Object* videocam; // videocam
- bool bUseInPlay;
- Evas_Object* progress; //progress bar for web download.
+ Evas_Object* progress; //progress bar for download.
// Callback
bool bMenuVisible;
static bool
_show_thumbnail( Slide_Item* si, const char *filepath)
{
-// TODO : When image orientatin is not 0 degree, rotate thumbnail also
IV_ASSERT(si != NULL);
if (si->thumbnail == NULL)
switch(mtype)
{
case SLIDE_TYPE_IMAGE:
- case SLIDE_TYPE_WEB_IMAGE:
return SITEM_TYPE_IMAGE;
case SLIDE_TYPE_VIDEO:
- case SLIDE_TYPE_STREAMING:
return SITEM_TYPE_VIDEO;
case SLIDE_TYPE_NONE:
static bool _set_mitem(Slide_Item* si, Media_Item *item)
{
- bool ret = false;
-
Media_Data *mdata = ivug_medialist_get_data(item);
IV_ASSERT(mdata != NULL);
break;
case SLIDE_TYPE_VIDEO:
- case SLIDE_TYPE_STREAMING:
MSG_SITEM_HIGH("Set video. %s", ivug_get_filename(mdata->filepath));
si->state = SLIDE_STATE_READY; // Video dont need to load photocam
static bool _unset_mitem(Slide_Item* si)
{
-// Unswallow photocam/videocam
+// Unswallow photocam
elm_object_part_content_unset(si->layout, "slider.contents");
switch(si->type)
ivug_image_image_size_get(si->photocam, &w, &h);
- if (mdata->slide_type == SLIDE_TYPE_VIDEO || mdata->slide_type == SLIDE_TYPE_STREAMING) //if slide type is video,
+ if (mdata->slide_type == SLIDE_TYPE_VIDEO) //if slide type is video,
{
- // TODO : Never get here..
MSG_SITEM_FATAL("slide type is video. thumbnail image ");
return;
}
MSG_SITEM_HIGH("Photocam Pre-loaded. File=%s", ivug_get_filename(mdata->filepath));
}
-static void
-_videocam_loaded_cb(void *data, Evas_Object *obj, void *event_info)
-{
- IV_ASSERT(data != NULL);
-
- Slide_Item* si = static_cast<Slide_Item*>(data);
-
- si->state = SLIDE_STATE_LOADED;
-
- MSG_SITEM_HIGH("Playing video is started");
-
- evas_object_show(obj); //show videocam
-
-#ifdef USE_VIDEO_THUMBNAIL
- MSG_SITEM_HIGH("Thumbnail Hide");
- _hide_thumbnail(si);
-#endif
-
- if ( si->bMenuVisible == false )
- {
- _hide_videoicon(si);
- }
-
- _call_user_callback(si);
-}
-
-
-
-static void
-_videocam_ready_cb(void *data, Evas_Object *obj, void *event_info)
-{
- IV_ASSERT(data != NULL);
-
-// Slide_Item* si = static_cast<Slide_Item*>(data);
-
- MSG_SITEM_HIGH("Video is ready");
-
-}
-
-
-
-static void
-_videocam_eos_cb(void *data, Evas_Object *obj, void *event_info)
-{
- IV_ASSERT(data != NULL);
-
- Slide_Item* si = static_cast<Slide_Item*>(data);
-
- MSG_SITEM_HIGH("Video cam End of Stream");
-
-#ifdef USE_VIDEO_THUMBNAIL
- edje_object_signal_emit(_EDJ(si->layout), "elm,state,show_thumbnail", "slider");
-#endif
-
- elm_image_file_set(si->vIcon, EDJ_PATH"/ivug-icons.edj", "btn.video.play");
- _show_videoicon(si);
-
- evas_object_hide(si->videocam);
-}
-
static void _on_event_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info)
{
MSG_SITEM_HIGH("Event layer clicked : %s Layer=%d", evas_object_name_get(obj), evas_object_layer_get(obj));
IV_ASSERT(si != NULL );
if ( si->w == w && si->h == h ) return;
- // TODO : Impelement
MSG_SITEM_HIGH("SLIDER Resize to XYWH(%d,%d,%d,%d)", si->x, si->y, w, h );
// w,h is not Image's scale, but Object's scale
si->photocam = NULL;
}
- if (si->videocam)
- {
- evas_object_del(si->videocam);
- si->videocam = NULL;
- }
-
if (si->thumbnail)
{
evas_object_del(si->thumbnail);
}
break;
- case SLIDE_TYPE_STREAMING:
- si->state = SLIDE_STATE_LOADED;
- return true;
-
- break;
-
- case SLIDE_TYPE_WEB_IMAGE:
- MSG_SITEM_HIGH("Stored Filename : %s", ivug_get_filename(mdata->filepath));
- si->state = SLIDE_STATE_LOADING;
-
- if (ivug_image_file_set(si->photocam, mdata->filepath, NULL) != EVAS_LOAD_ERROR_NONE)
- {
- MSG_SITEM_ERROR("Failed photocam to set file file=%s", path);
- si->state = SLIDE_STATE_ERROR;
- return false;
- }
- break;
-
default:
MSG_SITEM_ERROR("slide type invaild. Type=%d", mdata->slide_type);
if ( mdata == NULL )
{
MSG_SITEM_ERROR("slide type is NULL. Item=0x%08x", si);
- return false; // TODO : Temp..
+ return false;
}
switch(si->type)
return false;
}
- if ( mdata->slide_type == SLIDE_TYPE_VIDEO || mdata->slide_type == SLIDE_TYPE_STREAMING )
+ if ( mdata->slide_type == SLIDE_TYPE_VIDEO )
{
if (si->vIcon)
{
sd->prev_x = p->x2;
sd->prev_y = p->y2;
-// End animation. TODO : Preserve monentum
sd->anim->Stop();
// Update Center!.
sd->load_idler = ecore_idler_add(_idler_loading_func, sd);
}
-static bool _ivug_slider_image_rotate_reset(Slide_Item *si)
-{
- IV_ASSERT(si != NULL);
-
- if(si->state != SLIDE_STATE_LOADED)
- {
- return false;
- }
-
- if ( si->type == SITEM_TYPE_IMAGE )
- {
- ivug_image_rotate_set(si->photocam, 0);
- }
-
- return true;
-}
-
static void _ivug_slider_on_center_changed(Evas_Object *obj, Slide_Item *old, Slide_Item *cur)
{
IV_ASSERT(old != cur );
if ( old != NULL )
{
ivug_slider_item_zoom_reset(old, EINA_FALSE, 0, 0);
-// _ivug_slider_image_rotate_reset(old);
ivug_slider_item_stop(old); // Stop DRM consume/Animation
}
int nOffset = 100; // For debugging
x += nOffset;
#endif
-// TODO : If size is smaller than screen's, image should be put in middle
ivug_slider_item_move(sd->slide[CENTER_SLIDE], x, y);
-// TODO : so as to increas perf, dont draw slide under certain condition
ivug_slider_item_move(sd->slide[PREV_SLIDE], x - sd->slide[PREV_SLIDE]->w - IMAGE_BETWEEN_MARGIN , y);
ivug_slider_item_move(sd->slide[NEXT_SLIDE], x + sd->slide[CENTER_SLIDE]->w + IMAGE_BETWEEN_MARGIN , y);
}
return;
}
-// TODO : If transition is preceeding, change slide item,
sd->anim->Stop();
if ( sd->tween ) delete sd->tween;
ivug_slider_start(Evas_Object *obj)
{
IV_ASSERT(obj != NULL);
- struct Smart_Data *sd = (struct Smart_Data *) evas_object_smart_data_get(obj);
MSG_SLIDER_HIGH("Slider start");
-
ivug_slider_load(obj);
}
void
ivug_slider_skip(Evas_Object* obj)
{
- ivug_ret_if(!obj); // TODO
+ ivug_ret_if(!obj);
struct Smart_Data *sd = (struct Smart_Data *) evas_object_smart_data_get(obj);
if ( sd->last_dir == SLIDE_SHIFT_TO_RIGHT) // <--------------
#undef TRACE_RENDER
-static void _on_parent_resize(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- Evas_Coord x,y,w,h;
- evas_object_geometry_get(obj, &x, &y, &w, &h);
-
- MSG_IMAGEVIEW_HIGH("Parent win(0x%08x) resized geomtery XYWH(%d,%d,%d,%d) angle=%d", obj, x, y, w, h, elm_win_rotation_get((Evas_Object *)ug_get_window()));
-}
-
-static void _on_parent_move(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- Evas_Coord x,y,w,h;
- evas_object_geometry_get(obj, &x, &y, &w, &h);
-
- MSG_IMAGEVIEW_HIGH("Parent win(0x%08x) moved geomtery XYWH(%d,%d,%d,%d) angle=%d", obj, x, y, w, h, elm_win_rotation_get((Evas_Object *)ug_get_window()));
-}
-
-
static void _on_base_resize(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
Evas_Coord x,y,w,h;
evas_object_event_callback_add(ugd->base, EVAS_CALLBACK_SHOW, _on_base_show, NULL);
evas_object_event_callback_add(ugd->base, EVAS_CALLBACK_HIDE, _on_base_hide, NULL);
-// evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE, _on_parent_resize, NULL);
-// evas_object_event_callback_add(win, EVAS_CALLBACK_MOVE, _on_parent_move, NULL);
-
evas_object_smart_callback_add(win, "profile,changed", _win_profile_changed_cb, ugd);
ret = vconf_notify_key_changed(VCONFKEY_SYSMAN_MMC_STATUS, _on_mmc_state_changed, ugd);
return;
}
-static void _on_btn_cancel(void *data, Evas_Object *obj, void *event_info)
-{
- IV_ASSERT(data != NULL);
-
- IvugCropView *pCropView = static_cast<IvugCropView *>(data);
-
- MSG_HIGH("Cancel clicked");
-
- evas_object_smart_callback_call(pCropView->layout, "destroyed", NULL);
-
- evas_object_smart_callback_call(pCropView->layout, "cancel,clicked", NULL);
-
- ivug_crop_view_destroy(pCropView);
-}
-
static Evas_Event_Flags _finger_tap_end(void *data , void *event_info)
{
Elm_Gesture_Taps_Info *p = (Elm_Gesture_Taps_Info *) event_info;
Evas_Load_Error err;
- Evas_Object *thumbnail = NULL;
-
if ( pCropView->file_path )
{
free(pCropView->file_path);
pDetailsView->mitem = mitem;
- if(view_by == IVUG_VIEW_BY_ALLSHARE)
- {
-
- }
-
// Creating GUI
pDetailsView->evas = evas_object_evas_get(parent);
genlist = _ivug_details_view_genlist_create(pDetailsView, pDetailsView->layout);
pDetailsView->genlist = genlist;
- if(stype == SLIDE_TYPE_WEB_IMAGE || stype == SLIDE_TYPE_STREAMING )
- {
- _ivug_detail_genlist_view_file_view_create(pDetailsView, mdata->fileurl, stype);
- }
- else
- {
- _ivug_detail_genlist_view_file_view_create(pDetailsView, filepath, stype);
- }
+ _ivug_detail_genlist_view_file_view_create(pDetailsView, filepath, stype);
-// TODO : Should check below routine. why DRM has no GPS info???
if(mdata->bIsDRMContent == EINA_TRUE)
{
_ivug_detail_genlist_view_drm_create(pDetailsView, filepath, stype);
ivug_main_view_set_hide_timer(pMainView);
}
-static void
-_on_ext_music_ug_result_cb(ui_gadget_h ug, service_h service, void *priv)
-{
- if (!ug ) return;
-
- Ivug_MainView *pMainView = (Ivug_MainView *)priv;
- IV_ASSERT(pMainView != NULL);
-
- MSG_IMAGEVIEW_HIGH("UG result sended");
-
- char *path = NULL;
-
- service_get_extra_data(service, "result", &path);
-
- MSG_IMAGEVIEW_HIGH("selected path = %s", path);
-
- if(pMainView->ss_music_name != NULL)
- {
- free(pMainView->ss_music_name);
- }
- pMainView->ss_music_name = strdup(path);
-
- free(path);
-}
-
static void _on_selectioninfo_deleted(void * data, Evas * e, Evas_Object * obj, void * event_info)
{
Ivug_MainView *pMainView = (Ivug_MainView *)data;
ivug_main_view_set_hide_timer(pMainView);
}
-static void
-_on_setasview_deleted(void *data, Evas *e , Evas_Object *obj , void *event_info )
-{
- ivug_retm_if(!data, "data is NULL");
- Ivug_MainView *pMainView = (Ivug_MainView *)data;
- MSG_MAIN_HIGH("SetAS View is destroyed");
-
- pMainView->pSetAsView = NULL;
-
- ivug_main_view_set_hide_timer(pMainView);
-}
-
static void _on_setas_view_destroyed(void *data, Evas_Object *obj, void *event_info)
{
IV_ASSERT(data != NULL);
}
-
-#ifdef USE_DEFAULT_APP_SERVICE
void _on_share_selected(void *data, Evas_Object *obj, void *event_info)
{
IV_ASSERT(data != NULL);
}
char *path = NULL;
- if(mdata->slide_type == SLIDE_TYPE_WEB_IMAGE)
- {
- path = mdata->fileurl;
- }
- else
- {
- path = mdata->filepath;
- }
+ path = mdata->filepath;
bool ret = false;
evas_object_del(obj);
}
-#else
-void _on_share_selected(void *data, Evas_Object *obj, void *event_info)
-{
- IV_ASSERT(data != NULL);
-
- Ivug_MainView *pMainView = (Ivug_MainView *)data;
- IV_ASSERT(pMainView->ext_ug == NULL);
-
- Ivug_ListPopup_Item *item = (Ivug_ListPopup_Item *)event_info;
-
- const char *label = (const char *)ivug_listpopup_item_get_data(item);
-
- if(label == NULL)
- {
- MSG_MAIN_ERROR("label is NULL");
- evas_object_del(obj);
- ivug_main_view_set_hide_timer(pMainView);
- return;
- }
- MSG_MAIN_HIGH("text(%s) is clicked", label);
-
- Media_Item *mitem = ivug_slider_get_item(pMainView->slider);
- Media_Data *mdata = ivug_medialist_get_data(mitem);
-
- if(mdata == NULL)
- {
- MSG_MAIN_ERROR("sd is NULL");
- evas_object_del(obj);
- return;
- }
-
- char *path = NULL;
- if(mdata->slide_type == SLIDE_TYPE_WEB_IMAGE)
- {
- path = mdata->fileurl;
- }
- else
- {
- path = mdata->filepath;
- }
-
- bool ret = false;
-
- if(strncmp(label, IDS_MESSAGE, strlen(label)) == 0)
- {
- pMainView->ext_ug = ivug_ext_launch_message(path, _on_ext_ug_destroy_cb, data);
- }
- else if(strncmp(label, IDS_EMAIL, strlen(label)) == 0)
- {
- ret = ivug_ext_launch_email(path);
- }
- else if(strncmp(label, IDS_BLUETOOTH, strlen(label)) == 0)
- {
- pMainView->ext_ug = ivug_ext_launch_bluetooth_send(path, _on_ext_ug_destroy_cb, data);
- }
- else if(strncmp(label, IDS_PRINT_VIA_BLUETOOH, strlen(IDS_PRINT_VIA_BLUETOOH)) == 0) // for distinguish print
- {
- pMainView->ext_ug = ivug_ext_launch_bluetooth_print(path, _on_ext_ug_destroy_cb, data);
- }
- else if(strncmp(label, IDS_FACEBOOK, strlen(label)) == 0)
- {
- ret = ivug_ext_launch_sns("com.samsung.facebook", path);
- }
- else if(strncmp(label, IDS_PICASA, strlen(label)) == 0)
- {
- ret = ivug_ext_launch_sns("com.samsung.picasa", path);
- }
- else if(strncmp(label, IDS_TWITTER, strlen(label)) == 0)
- {
- ret = ivug_ext_launch_sns("com.samsung.twitter", path);
- }
- else if(strncmp(label, IDS_YOUTUBE, strlen(label)) == 0)
- {
- ret = ivug_ext_launch_sns("com.samsung.youtube", path);
- }
- else if(strncmp(label, IDS_WIFI_DIRECT, strlen(label)) == 0)
- {
- pMainView->ext_ug = ivug_ext_launch_wifi_file_transfer(path, _on_ext_ug_destroy_cb, data);
- }
- else
- {
- MSG_MAIN_WARN("Unknown Share type : %s", label);
- }
-
- /* appsvc failed or ug_create failed */
- if(ret == false && pMainView->ext_ug == NULL)
- {
- ivug_timeout_popup_show(pMainView->layout, _on_timeout_response, pMainView, NULL, IDS_APPLICATION_NOT_INSTALLED);
- }
-
- evas_object_del(obj);
-}
-#endif
-
-static int
-_on_addhome_result_cb(int ret, int pid, void *data)
-{
- MSG_MAIN_HIGH("Client pid: %d, Return: %d", pid, ret);
- return 0;
-}
static void _create_setas_view(Ivug_MainView *pMainView, const char *filepath, ivug_set_screen_type type)
{
pMainView->pSetAsView = ivug_setas_view_screen_create(pMainView->layout, IVUG_SETAS_NORMAL, type);
Evas_Object *setasOjbect = ivug_setas_view_object_get(pMainView->pSetAsView);
- //evas_object_event_callback_add(setasOjbect, EVAS_CALLBACK_DEL, _on_setasview_deleted, pMainView);
evas_object_smart_callback_add(setasOjbect, "destroy", _on_setas_view_destroyed, pMainView);
Evas_Object *back_btn = ivug_button_add(pMainView->navi_bar, "naviframe/end_btn/default",
return;
}
- Evas_Object *setasOjbect;
-
if(strncmp(label, IDS_HOME_SCREEN, strlen(label)) == 0)
{
_create_setas_view(pMainView, mdata->filepath, IVUG_CTRLBAR_SET_SCREEN_HOME);
if(strlen(name) == 0)
{
- ivug_listpopup_itemlist_add(items, 0, NULL, IDS_NO_NAME, (void *)strdup(path), false); // TODO : Memory leak uuid.
+ ivug_listpopup_itemlist_add(items, 0, NULL, IDS_NO_NAME, (void *)strdup(path), false);
}
else
{
ivug_listpopup_item_append(popup, NULL, IDS_YOUTUBE, IDS_YOUTUBE);
break;
- case SLIDE_TYPE_STREAMING:
- // do not share about streaming
- break;
case SLIDE_TYPE_UNKNOWN:
ivug_listpopup_item_append(popup, NULL, IDS_BLUETOOTH, IDS_BLUETOOTH);
break;
}
-
-void on_btn_edit_clicked(void *data, Evas_Object *obj, void *event_info)
-{
- Ivug_MainView *pMainView = (Ivug_MainView *)data;
- IV_ASSERT(pMainView != NULL);
-
- Media_Item *mitem = ivug_slider_get_item(pMainView->slider);
- Media_Data *mdata = ivug_medialist_get_data(mitem);
- IV_ASSERT(mdata != NULL);
-
- if(mdata->slide_type == SLIDE_TYPE_IMAGE)
- {
- ivug_ext_launch_default(mdata->filepath, SERVICE_OPERATION_EDIT, NULL, NULL);
- }
- else if(mdata->slide_type == SLIDE_TYPE_VIDEO)
- {
- ivug_ext_launch_videoeditor(mdata->filepath);
- }
-
-}
-
void on_btn_details_close_clicked(void *data, Evas_Object *obj, void *event_info)
{
Ivug_MainView *pMainView = (Ivug_MainView *)data;
char *path = NULL;
int len = 0;
- if(mdata->slide_type == SLIDE_TYPE_WEB_IMAGE)
- {
- if(mdata->filepath)
- {
- path = mdata->filepath;
- }
- else
- {
- path = mdata->thumbnail_path;
- }
- }
- else if(mdata->slide_type == SLIDE_TYPE_VIDEO)
+ if(mdata->slide_type == SLIDE_TYPE_VIDEO)
{
path = mdata->thumbnail_path;
}
_on_rotate_right_selected(data, obj);
ivug_main_view_set_hide_timer(pMainView);
}
- else if(strncmp(label, "Select Music", strlen(label)) == 0)
- {
- pMainView->ext_ug = ivug_ext_launch_select_music(_on_ext_music_ug_result_cb, _on_ext_ug_destroy_cb, data);
- }
- else if(strncmp(label, IDS_EDIT, strlen(label)) == 0)
- {
- on_btn_edit_clicked(data, obj, event_info);
- }
- else if(strncmp(label, IDS_TRIM, strlen(label)) == 0)
- {
- on_btn_edit_clicked(data, obj, event_info);
- }
else if(strncmp(label, IDS_SET_AS, strlen(label)) == 0)
{
on_btn_setas_clicked(data, obj, event_info);
ivug_main_view_set_hide_timer(pMainView);
return;
}
- bool ret = ivug_ext_launch_print(mdata->filepath);
+ ivug_ext_launch_print(mdata->filepath);
}
evas_object_del(pMainView->ctx_popup);
if(mdata->slide_type == SLIDE_TYPE_IMAGE)
{
- if(mdata->bIsDRMContent == EINA_FALSE)
- {
- ivug_listpopup_item_append(popup, NULL, IDS_EDIT, IDS_EDIT);
- }
ivug_listpopup_item_append(popup, NULL, IDS_SET_AS, IDS_SET_AS);
ivug_listpopup_item_append(popup, NULL, IDS_SLIDE_SHOW, IDS_SLIDE_SHOW);
ivug_listpopup_item_append(popup, NULL, IDS_DETAILS, IDS_DETAILS);
ivug_listpopup_item_append(popup, NULL, IDS_ADD_TAG, IDS_ADD_TAG);
ivug_listpopup_item_append(popup, NULL, IDS_PRINT, IDS_PRINT);
-
if(mdata->bIsDRMContent == EINA_FALSE)
{
ivug_listpopup_item_append(popup, NULL, IDS_CROP, IDS_CROP);
}
}
}
- else if(mdata->slide_type == SLIDE_TYPE_WEB_IMAGE)
- {
- ivug_listpopup_item_append(popup, NULL, IDS_SLIDE_SHOW, IDS_SLIDE_SHOW);
- slide_state_t state = ivug_slider_get_state(pMainView->slider);
- if(state == SLIDE_STATE_LOADED)
- {
- ivug_listpopup_item_append(popup, NULL, IDS_SET_AS, IDS_SET_AS);
- ivug_listpopup_item_append(popup, NULL, IDS_DETAILS, IDS_DETAILS);
- }
- }
else if(mdata->slide_type == SLIDE_TYPE_VIDEO)
{
if(ivug_is_editable_video_file(mdata->filepath) == true)
ivug_listpopup_item_append(popup, NULL, IDS_ADD_TAG, IDS_ADD_TAG);
//ivug_listpopup_item_append(popup, NULL, IDS_CROP, IDS_CROP);
}
- else if(mdata->slide_type == SLIDE_TYPE_STREAMING)
- {
- ivug_listpopup_item_append(popup, NULL, IDS_DETAILS, IDS_DETAILS);
- }
Evas_Coord x, y;
Evas_Coord w, h;
void on_btn_selectcancel_clicked(void *data, Evas_Object *obj, void *event_info);
void on_btn_selectok_clicked(void *data, Evas_Object *obj, void *event_info);
-void on_btn_edit_clicked(void *data, Evas_Object *obj, void *event_info);
void on_btn_slideshow_clicked(void *data, Evas_Object *obj, void *event_info);
void on_btn_tag_clicked(void *data, Evas_Object *obj, void *event_info);
void on_btn_save_clicked(void *data, Evas_Object *obj, void *event_info);
#define ICON_PATH_INFO CONTROL_ICON_DIRECTORY_PATH"/T01_1_controlbar_icon_detail.png"
#define ICON_PATH_SAVE CONTROL_ICON_DIRECTORY_PATH"/T01_controlbar_icon_save.png"
#define ICON_PATH_CLOSE CONTROL_ICON_DIRECTORY_PATH"/01_controllbar_icon_close.png"
-#define ICON_PATH_ALLSHARE CONTROL_ICON_DIRECTORY_PATH"/T01_1_title_icon_device.png"
#define ICON_PATH_MORE CONTROL_ICON_DIRECTORY_PATH"/T01_Title_icon_more.png"
{
tool_bar_type = NAVI_BAR_TYPE_VIDEO;
}
- else if (slide_type == SLIDE_TYPE_WEB_IMAGE)
- {
- tool_bar_type = NAVI_BAR_TYPE_WEB_IMAGAE;
- }
- else if (slide_type == SLIDE_TYPE_STREAMING)
- {
- tool_bar_type = NAVI_BAR_TYPE_EMPTY;
- }
else
{
tool_bar_type = NAVI_BAR_TYPE_EMPTY;
break;
case IVUG_MODE_SINGLE:
case IVUG_MODE_FILE:
- if(slide_type == SLIDE_TYPE_WEB_IMAGE)
- {
- tool_bar_type = NAVI_BAR_TYPE_WEB_IMAGAE;
- }
- else
{
tool_bar_type = NAVI_BAR_TYPE_FILE;
}
{
type = CTRL_BAR_TYPE_IMAGE;
}
- else if (slide_type == SLIDE_TYPE_WEB_IMAGE || slide_type == SLIDE_TYPE_STREAMING)
- {
- type = CTRL_BAR_TYPE_READ_ONLY;
- }
else if (slide_type == SLIDE_TYPE_VIDEO)
{
type = CTRL_BAR_TYPE_VIDEO;
break;
case IVUG_MODE_SINGLE:
case IVUG_MODE_FILE:
- if(slide_type == SLIDE_TYPE_WEB_IMAGE)
- {
- type = CTRL_BAR_TYPE_READ_ONLY;
- }
- else
{
type = CTRL_BAR_TYPE_FILE;
}
return type;
}
-void _update_toolbuttons(Ivug_MainView *pMainView)
-{
-
-/*
- |------------------|
- |elm_navigation_bar|
- |------------------|
- | |
- | |
- | |
- | |
- |------------------|
- | tool_bar |
- |------------------|
-*/
-
- slide_state_t state = ivug_slider_get_state(pMainView->slider);
-
- if(pMainView->view_by == IVUG_VIEW_BY_WEB || pMainView->view_by == IVUG_VIEW_BY_WEBALBUM)
- {
- if(state == SLIDE_STATE_LOADED)
- {
- elm_object_disabled_set(pMainView->btn_share, EINA_FALSE);
- elm_object_disabled_set(pMainView->btn_download, EINA_FALSE);
- }
- }
- else if(pMainView->view_by == IVUG_VIEW_BY_PTP)
- {
- if(state == SLIDE_STATE_LOADED)
- {
- elm_object_disabled_set(pMainView->btn_share, EINA_FALSE);
- }
- }
-}
-
void _create_main_menu(Ivug_MainView *pMainView)
{
- if(pMainView->view_by == IVUG_VIEW_BY_WEB || pMainView->view_by == IVUG_VIEW_BY_WEBALBUM)
- {
- Evas_Object *btn_more = ivug_button_add(pMainView->navi_bar, "naviframe/more/default",
- NULL, NULL, on_btn_more_clicked, pMainView);
- elm_object_item_part_content_set(pMainView->navi_it, "toolbar_more_btn", btn_more);
-
- pMainView->btn_share = ivug_button_add(pMainView->navi_bar, "naviframe/toolbar/default",
- IDS_SHARE, NULL, on_btn_share_clicked, pMainView);
- elm_object_item_part_content_set(pMainView->navi_it, "toolbar_button1", pMainView->btn_share);
-
- pMainView->btn_download = ivug_button_add(pMainView->navi_bar, "naviframe/toolbar/default",
- IDS_DOWNLOAD, NULL, on_btn_save_clicked, pMainView);
- elm_object_item_part_content_set(pMainView->navi_it, "toolbar_button2", pMainView->btn_download);
-
- elm_object_disabled_set(pMainView->btn_share, EINA_TRUE);
- elm_object_disabled_set(pMainView->btn_download, EINA_TRUE);
- }
- else if(pMainView->view_by == IVUG_VIEW_BY_ALLSHARE)
- {
- //TODO: add more, connection info, download btn
- }
- else if(pMainView->mode == IVUG_MODE_DISPLAY)
+ if(pMainView->mode == IVUG_MODE_DISPLAY)
{
Evas_Object *btn_save = ivug_button_add(pMainView->navi_bar, "naviframe/toolbar/default",
IDS_SAVE, NULL, on_btn_selectok_clicked, pMainView);
Evas_Object *_create_ctrl_bar(Evas_Object *parent);
Evas_Object *_create_tool_bar(Evas_Object *parent);
-/*
- Enable / Disable buttons on tool bar
-*/
-void _update_toolbuttons(Ivug_MainView *pMainView);
-
void _change_close_to_details(Ivug_MainView *pMainView);
void _change_details_to_close(Ivug_MainView *pMainView);
#define MAX_TITLE_LEN 256
static char title[MAX_TITLE_LEN];
- static char subtitle[MAX_TITLE_LEN];
Media_Item *mitem = ivug_slider_get_item(pMainView->slider);
Media_Data *mdata = ivug_medialist_get_data(mitem);
if (pMainView->view_by == IVUG_VIEW_BY_FOLDER
|| pMainView->view_by == IVUG_VIEW_BY_ALL
- || pMainView->view_by == IVUG_VIEW_BY_ALLSHARE
- || pMainView->view_by == IVUG_VIEW_BY_PLACES
- || pMainView->view_by == IVUG_VIEW_BY_WEBALBUM)
+ || pMainView->view_by == IVUG_VIEW_BY_PLACES)
{
snprintf(title, sizeof(title), "%d/%d",
mdata->index + 1,
// This Will add to the article
char buf[IVUG_MAX_FILE_PATH_LEN] = {0,};
- if(mdata->slide_type == SLIDE_TYPE_WEB_IMAGE || mdata->slide_type == SLIDE_TYPE_STREAMING)
- {
- path = mdata->fileurl;
- len = strlen(mdata->fileurl)+1;
- strncpy(buf, mdata->fileurl, IVUG_MAX_FILE_PATH_LEN);
- }
- else
{
path = mdata->filepath;
len = strlen(mdata->filepath)+strlen("file://")+1;
elm_slider_value_set(pMainView->zoom_slider, 1.0);
}
-static void
-_on_timeout_response(void *data, Evas_Object *obj, void *event_info)
-{
- IV_ASSERT(data != NULL);
- Ivug_MainView *pMainView = (Ivug_MainView *)data;
-
- ivug_main_view_set_hide_timer(pMainView);
-}
-
static bool _destory_slideshow_and_ug(Ivug_MainView *pMainView,
int state,
bool bMmc_out)
if(pMainView->ssHandle)
{
- //ivug_timeout_popup_show(ivug_ss_object_get(pMainView->ssHandle), _on_timeout_response, pMainView, IDS_ERROR, IDS_SD_CARD_REMOVED);
ivug_ss_set_stop(pMainView->ssHandle);
_destory_slideshow_and_ug(pMainView, SLIDE_SHOW_STOPPED, true);
} else {
- //ivug_timeout_popup_show(pMainView->layout, _on_timeout_response, pMainView, IDS_ERROR, IDS_SD_CARD_REMOVED);
if(pMainView->exit_timer == NULL)
{
pMainView->exit_timer = ecore_timer_add(0.2, _on_exit_timer_expired, data);
break;
case IVUG_DRM_RESULT_ACCUMULATED:
MSG_MAIN_HIGH("Accumulated time = %d", info);
- /* TODO : get more license popup? */
break;
case IVUG_DRM_RESULT_DATETIME:
case IVUG_DRM_RESULT_TIMED_COUNT:
return;
}
-// TODO : Bug. menu bar is blinking when stopping slide show.
if (pMainView->bShowMenu)
{
ivug_main_view_hide_menu_bar(pMainView);
}
// "Add tag" in video player shows only when launching from gallery.
- if (pMainView->view_by == IVUG_VIEW_BY_ALLSHARE)
- {
- }
else if (pMainView->mode == IVUG_MODE_FILE || pMainView->mode == IVUG_MODE_DISPLAY || pMainView->mode == IVUG_MODE_SINGLE )
- { // TODO : Need description
+ {
MSG_MAIN_HIGH("Launching simple video player. Mode=%d", pMainView->mode);
ivug_ext_launch_videoplayer_simple(mdata->filepath);
}
pMainView->longpress_popup = NULL;
}
-// TODO : DRM consumption
drm_data_t *drm_data = ivug_slider_item_check_drm_constraint(sitem);
if(drm_data)
{
_ivug_selectioninfo_create(pMainView, IDS_DOWNLOAD_FAILED);
}
-// TODO : DRM consumption
-
-// Update Main View.
- if ( pMainView->bShowMenu == true )
- {
- _update_toolbuttons(pMainView);
- }
-
- Media_Data *mdata = ivug_medialist_get_data(ivug_slider_item_data_get(sitem));
-
}
goto LOAD_LIST_FAILED;
}
-#ifdef USE_RESCAN_FILE_PATH_AT_LIST
- if(filter->view_by != IVUG_VIEW_BY_ALLSHARE) // TODO: for allshare TEST
- {
- if(strncmp(pData->fileurl, ivug_param->filepath, strlen(pData->fileurl)) != 0)
- {
- current = ivug_medialist_find_item_by_filename(mlist, ivug_param->filepath);
- if(current == NULL)
- {
- MSG_MAIN_ERROR("Media list load failed, %s is not exist at list", ivug_param->filepath);
- goto LOAD_LIST_FAILED;
- }
- }
- }
-#endif
-
if(filter->view_by == IVUG_VIEW_BY_ALL)
{
pMainView->album_name = strdup(IDS_ALL_ALBUMS);
}
else if(filter->view_by == IVUG_VIEW_BY_FOLDER)
{
- // TODO : it is not run!! DB problem!!!
/*
media_handle m_handle = ivug_db_get_folder_handle(ecore_file_dir_get(ivug_param->filepath));
if(m_handle == NULL)
ivug_slider_pause(pMainView->slider);
current = ivug_slider_get_item(pMainView->slider);
- // TODO : After slideshow is finished, how can I resume???
-
ivug_prohibit_lcd_off();
//ivug_main_view_hide_menu_bar(pMainView);
IV_ASSERT(mdata != NULL);
-// TODO : Check this routine!.
-// TODO : Should implement again!!
-
if (mdata->slide_type == SLIDE_TYPE_IMAGE || mdata->slide_type == SLIDE_TYPE_VIDEO )
{
if(mdata->filepath && ecore_file_exists(mdata->filepath)) // Current file is not deleted
return ;
}
-static Eina_Bool _on_hide_timer_expired(void *data)
-{
- ivug_retv_if(!data, ECORE_CALLBACK_CANCEL);
-
- Ivug_MainView *pMainView = (Ivug_MainView *)data;
-
- pMainView->hide_timer = NULL;
-
- ivug_main_view_hide_menu_bar(pMainView);
-
- return ECORE_CALLBACK_CANCEL;
-}
-
void ivug_main_view_set_hide_timer(Ivug_MainView *pMainView)
{
IV_ASSERT(pMainView != NULL);
IV_ASSERT(parent != NULL);
Ivug_NameView *pNameView = calloc(1, sizeof(Ivug_NameView));
- // TODO : ASSERT
if ( pNameView == NULL)
{
MSG_IMAGEVIEW_ERROR("Cannot allocated memory");
static void _on_moved(void *data, Evas *e, Evas_Object *obj, void *event_info);
static void _on_resized(void *data, Evas *e, Evas_Object *obj, void *event_info);
-static void
-_ConvertARGB888toY(unsigned char* pBuf, unsigned char* pGrayBuf, int width, int height)
-{
-/*
- User should malloc output buffer
-*/
- unsigned char* pSrc = (unsigned char*) pBuf;
- unsigned char* pDSt = (unsigned char*) pGrayBuf;
-
- unsigned char* pEnd = pDSt + height * width;
-
- while (pDSt < pEnd)
- {
- pSrc++; // throw Alpaha value
-
- unsigned long r = *pSrc++;
- unsigned long g = *pSrc++;
- unsigned long b = *pSrc++;
-
- *pDSt++ = (308 * r + 600 * g + 116 * b) >> 10;
- }
-}
-
static void _put_scissorbox_default(TSetAsData *pSetAsData)
{
Evas_Object *image = ivug_image_internal_image_get(pSetAsData->photocam);
}
-
-static void
-_on_btn_cancel_clicked(void *data, Evas_Object *obj, void *event_info)
-{
- TSetAsData *pSetAsData = SETAS_DATA(data);
- IV_ASSERT(pSetAsData != NULL);
-
- MSG_SETAS_HIGH("Cancel button clicked");
-
- evas_object_event_callback_del_full(pSetAsData->layout, EVAS_CALLBACK_MOVE, _on_moved, pSetAsData->layout);
- evas_object_event_callback_del_full(pSetAsData->layout, EVAS_CALLBACK_RESIZE, _on_resized, pSetAsData->layout);
-
- if ( pSetAsData->crop.box )
- {
- evas_object_del(pSetAsData->crop.box);
- pSetAsData->crop.box = NULL;
- }
-
- evas_object_smart_callback_call(pSetAsData->layout, "cancel,clicked", NULL);
-
-// _ivug_setas_view_remove(pSetAsData);
-}
-
-
-static void
-_on_btn_rotate_r_clicked(void *data, Evas_Object *obj, void *event_info)
-{
- TSetAsData *pSetAsData = SETAS_DATA(data);
- IV_ASSERT(pSetAsData != NULL);
-
- MSG_SETAS_HIGH("Rotate r button clicked");
-
- int degree = (ivug_image_rotate_get(pSetAsData->photocam) - 90) % 360;
-
- ///////////////////////////////////////////////////////////////////
- int org_x, org_y, org_w, org_h;
-
- ivug_image_region_get(pSetAsData->photocam, &org_x, &org_y, &org_w, &org_h);
- MSG_SETAS_MED("org_x=%d, org_y=%d, org_w=%d, org_h=%d", org_x, org_y, org_w, org_h);
-
- int org_sx, org_sy, org_sw, org_sh;
- ivug_scissorbox_region_get(pSetAsData->crop.box, &org_sx, &org_sy, &org_sw, &org_sh);
-
- int dx = org_sx-org_x;
- int dy = org_sy-org_y;
-
- ivug_image_rotate_set(pSetAsData->photocam, degree);
-
- int x, y, w, h;
-
- ivug_image_region_get(pSetAsData->photocam, &x, &y, &w, &h);
- MSG_SETAS_MED("x=%d, y=%d, w=%d, h=%d", x, y, w, h);
-
- int sx, sy, sw, sh;
-
- double ratio = (double)h/org_w; // h is rotated w
-
- sw = org_sw*ratio;
- sh = org_sh*ratio;
- dx *= ratio;
- dy *= ratio;
-
- ivug_scissorbox_boundary_set(pSetAsData->crop.box, x, y, w, h);
-
- ///////////////////////////////////////////////////////////////////
-
- int base_x = x+w;
- int base_y = y;
-
- sx = base_x-dy-sh;
- sy = base_y+dx;
-
- MSG_SETAS_MED("sx=%d, sy=%d, sw=%d, sh=%d", sx, sy, sw, sh);
-
- ivug_scissorbox_region_set(pSetAsData->crop.box, sx, sy, sh, sw);
-
-}
-
-
-static void
-_on_btn_rotate_l_clicked(void *data, Evas_Object *obj, void *event_info)
-{
- TSetAsData *pSetAsData = SETAS_DATA(data);
- IV_ASSERT(pSetAsData != NULL);
-
- MSG_SETAS_HIGH("Rotate l button clicked");
-
- int degree = (ivug_image_rotate_get(pSetAsData->photocam) + 90) % 360;
-
- ///////////////////////////////////////////////////////////////////
- int org_x, org_y, org_w, org_h;
-
- ivug_image_region_get(pSetAsData->photocam, &org_x, &org_y, &org_w, &org_h);
- MSG_SETAS_MED("org_x=%d, org_y=%d, org_w=%d, org_h=%d", org_x, org_y, org_w, org_h);
-
- int org_sx, org_sy, org_sw, org_sh;
- ivug_scissorbox_region_get(pSetAsData->crop.box, &org_sx, &org_sy, &org_sw, &org_sh);
-
- int dx = org_sx-org_x;
- int dy = org_sy-org_y;
-
- ivug_image_rotate_set(pSetAsData->photocam, degree);
-
- int x, y, w, h;
-
- ivug_image_region_get(pSetAsData->photocam, &x, &y, &w, &h);
- MSG_SETAS_MED("x=%d, y=%d, w=%d, h=%d", x, y, w, h);
-
- int sx, sy, sw, sh;
-
- double ratio = (double)h/org_w; // h is rotated w
-
- sw = org_sw*ratio;
- sh = org_sh*ratio;
- dx *= ratio;
- dy *= ratio;
-
- ivug_scissorbox_boundary_set(pSetAsData->crop.box, x, y, w, h);
-
- ///////////////////////////////////////////////////////////////////
-
- int base_x = x;
- int base_y = y+h;
-
- sx = base_x+dy;
- sy = base_y-dx-sw;
-
- MSG_SETAS_MED("sx=%d, sy=%d, sw=%d, sh=%d", sx, sy, sw, sh);
-
- ivug_scissorbox_region_set(pSetAsData->crop.box, sx, sy, sh, sw);
-}
-
-
static void
_on_photocam_loaded(void *data, Evas_Object *obj, void *event_info)
{
pSetAsData->prev_h = org_h;
}
-static void _on_removed(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- TSetAsData *pSetAsData = (TSetAsData *)data;
-
- MSG_SETAS_HIGH("Remoing SetAsData");
-
- if(pSetAsData->notify)
- {
- evas_object_del(pSetAsData->notify);
- pSetAsData->notify = NULL;
- }
-
- if(pSetAsData->crop.box)
- {
- evas_object_del(pSetAsData->crop.box);
- pSetAsData->crop.box = NULL;
- }
- if(pSetAsData->filepath)
- {
- free(pSetAsData->filepath);
- pSetAsData->filepath = NULL;
- }
-
- if(pSetAsData->drm_filepath)
- {
- ivug_remove_file(pSetAsData->drm_filepath);
- free(pSetAsData->drm_filepath);
- pSetAsData->drm_filepath = NULL;
- }
-
- if(pSetAsData->btn_ok)
- {
- evas_object_del(pSetAsData->btn_ok);
- pSetAsData->btn_ok = NULL;
- }
-
- free(pSetAsData);
-
-}
-
static Evas_Event_Flags _finger_tap_end(void *data , void *event_info)
{
Elm_Gesture_Taps_Info *p = (Elm_Gesture_Taps_Info *) event_info;
return NULL;
}
- Elm_Object_Item *item[4];
- Evas_Object *controlbar = NULL;
-
Evas_Object *photocam = NULL;
pSetAsData->layout = ivug_layout_add2(parent, SETAS_EDJ_FILE, "setas_view");
elm_object_part_content_set(pSetAsData->layout, "setasview.contents", pSetAsData->contents_area);
evas_object_data_set(pSetAsData->layout, "pSetAsData", pSetAsData);
- //evas_object_event_callback_add(pSetAsData->layout, EVAS_CALLBACK_DEL, _on_removed, pSetAsData);
evas_object_event_callback_add(pSetAsData->layout, EVAS_CALLBACK_MOVE, _on_moved, pSetAsData->layout);
evas_object_event_callback_add(pSetAsData->layout, EVAS_CALLBACK_RESIZE, _on_resized, pSetAsData->layout);
pSetAsData->filepath = strdup(filepath);
-// Set thumnail first
- Evas_Object *thumbnail = NULL;
Evas_Load_Error error = EVAS_LOAD_ERROR_NONE;
-
- {
- error = ivug_image_file_set(pSetAsData->photocam, filepath, "noAnim");
- }
+ error = ivug_image_file_set(pSetAsData->photocam, filepath, "noAnim");
if ( error != EVAS_LOAD_ERROR_NONE )
{
- // TODO : What is good for error handing??????
MSG_SETAS_ERROR("FileSet Error=%d", error);
if ( error == EVAS_LOAD_ERROR_UNKNOWN_FORMAT )
/*
- "download,failed" - Web downloading error
"load,failed" - Image decoding error
"ok,clicked" - Button "OK" clicked
"cancel,clicked" - Button "Cancel" clicked
evas_object_smart_callback_call(pSetAsData->layout, "ok,clicked", NULL);
}
-
-static void
-_on_btn_cancel_clicked(void *data, Evas_Object *obj, void *event_info)
-{
- TSetAsData *pSetAsData = SETAS_DATA(data);
- IV_ASSERT(pSetAsData != NULL);
-
- MSG_SETAS_HIGH("Cancel button clicked");
- evas_object_smart_callback_call(pSetAsData->layout, "cancel,clicked", NULL);
-
-// _ivug_setas_view_remove(pSetAsData);
-}
-
-
-static void
-_on_btn_rotate_r_clicked(void *data, Evas_Object *obj, void *event_info)
-{
- TSetAsData *pSetAsData = SETAS_DATA(data);
- IV_ASSERT(pSetAsData != NULL);
-
- MSG_SETAS_HIGH("Rotate r button clicked");
-
- ivug_image_rotate_set( pSetAsData->photocam, ( (ivug_image_rotate_get(pSetAsData->photocam) - 90) % 360 ));
-}
-
-
-static void
-_on_btn_rotate_l_clicked(void *data, Evas_Object *obj, void *event_info)
-{
- TSetAsData *pSetAsData = SETAS_DATA(data);
- IV_ASSERT(pSetAsData != NULL);
-
- MSG_SETAS_HIGH("Rotate l button clicked");
-
- ivug_image_rotate_set( pSetAsData->photocam, ( (ivug_image_rotate_get(pSetAsData->photocam) + 90) % 360 ));
-}
-
-
static void
_on_photocam_loaded(void *data, Evas_Object *obj, void *event_info)
{
}
-static void _on_removed(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- TSetAsData *pSetAsData = (TSetAsData *)data;
-
- MSG_SETAS_HIGH("Remoing SetAsData");
- if(pSetAsData->drm_filepath)
- {
- ivug_remove_file(pSetAsData->drm_filepath);
- free(pSetAsData->drm_filepath);
- pSetAsData->drm_filepath = NULL;
- }
-
- free(pSetAsData);
-
-}
-
-
static void
_on_bg_clicked(void *data, Evas_Object* obj, const char *emission, const char *source )
{
if(pSetAsData->bShowMenu == true)
{
pSetAsData->bShowMenu = false;
- //TODO: hide menu
}
else
{
pSetAsData->bShowMenu = true;
- //TODO: show menu
}
}
MSG_SETAS_HIGH("Create setas layout");
evas_object_data_set(pSetAsData->layout, "pSetAsData", pSetAsData);
- //evas_object_event_callback_add(pSetAsData->layout, EVAS_CALLBACK_DEL, _on_removed, pSetAsData);
pSetAsData->contents_area = ivug_default_layout_add(parent);
evas_object_name_set(pSetAsData->contents_area, "contets_area");
TSetAsData *pSetAsData = SETAS_DATA(obj);
MSG_SETAS_HIGH("Load image file : %s", filepath);
-// Set thumnail first
- Evas_Object *thumbnail = NULL;
-
Evas_Load_Error error = EVAS_LOAD_ERROR_NONE;
-
- {
- error = ivug_image_file_set(pSetAsData->photocam, filepath, "noAnim");
- }
+ error = ivug_image_file_set(pSetAsData->photocam, filepath, "noAnim");
if ( error != EVAS_LOAD_ERROR_NONE )
{
- // TODO : What is good for error handing??????
MSG_SETAS_ERROR("FileSet Error=%d", error);
if ( error == EVAS_LOAD_ERROR_UNKNOWN_FORMAT )
/*
- "download,failed" - Web downloading error
"load,failed" - Image decoding error
"ok,clicked" - Button "OK" clicked
"cancel,clicked" - Button "Cancel" clicked
ret = ivug_config_set_lockscreen_image(lockscreen_path);
if ( ret == false)
{
- // TODO : Do I revet homescreen if either failed?????
_show_exit_popup(pSetAsView->content, title, IDS_FAILED, pSetAsView);
}
else
_ivug_setas_view_remove(pSetAsView);
}
-#ifdef TRANSITION_EFFECT
-static void _signal_hide_finished(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- Ivug_SetAsView *pSetAsView = data;
-
- IV_ASSERT(pSetAsView != NULL);
-
- MSG_SETAS_HIGH("_signal_hide_finished. pData=0x%08x", pSetAsView);
-
- ivug_setas_view_destroy(pSetAsView);
-}
-
-static void _signal_show_finished(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- Ivug_SetAsView *pSetAsView = data;
-
- IV_ASSERT(pSetAsView != NULL);
-
- MSG_SETAS_HIGH("_signal_show_finished. pData=0x%08x", pSetAsView);
-}
-
-#endif // UG_TRANSITION_EFFECT
-
static void _on_setas_show(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
MSG_SETAS_HIGH("SetAs show");
}
else if(ivug_param->view_by == IVUG_VIEW_BY_FOLDER)
{
- // TODO : it is not run!! DB problem!!!
/*
media_handle m_handle = ivug_db_get_folder_handle(ecore_file_dir_get(ivug_param->filepath));
if(m_handle == NULL)
MSG_HIGH("Slideshow View Resumed");
- Media_Item *mitem = pSSView->ss_curItem; // TODO: Check this!!!!
+ Media_Item *mitem = pSSView->ss_curItem;
Media_Data *mdata = ivug_medialist_get_data(mitem);
IV_ASSERT(mdata != NULL);
SLIDE_TYPE_NONE = 0x00,
SLIDE_TYPE_IMAGE,
SLIDE_TYPE_VIDEO,
- SLIDE_TYPE_WEB_IMAGE, // Web album or All share Image
- SLIDE_TYPE_STREAMING,
- SLIDE_TYPE_PTP_IMAGE,
SLIDE_TYPE_UNKNOWN, // File is exists but it's type is unknown.
} Media_Type;
-// Meida_Data can be one in File, DB, PTP, DLNA
-
-typedef void * allshare_item;
+// Meida_Data can be one in File, DB
/*
This struct represents data for slide.
int index;
//Data
- Media_Type slide_type; //image, video, web image.
+ Media_Type slide_type; //image, video
bool bIsDRMContent;
UUID mediaID; // Unique Media ID
- allshare_item asf_item; // Allshare item
- char *serverID; // Allshare server ID
-
char* thumbnail_path; // thumbnail image file path.
char* fileurl; // file url.
case IVUG_VIEW_BY_FILE:
count = 1; // item count is always 1 when by file
break;
- case IVUG_VIEW_BY_ALLSHARE:
- MSG_SDATA_FATAL("All share cannot support get count");
- goto GET_COUNT_ERROR;
- break;
default:
MSG_SDATA_ERROR("Unhandled view_by : %d", filter->view_by);
goto GET_COUNT_ERROR;
uuid_free(filter->album_id);
break;
- case IVUG_VIEW_BY_WEB:
- if ( filter->file_path )
- {
- free(filter->file_path);
- }
- break;
-
- case IVUG_VIEW_BY_WEBALBUM:
- uuid_free(filter->album_id);
- break;
-
case IVUG_VIEW_BY_INVAILD:
default:
MSG_SDATA_WARN("Invalid ViewBy : %d", filter_str->view_by);
cFilter->album_id = uuid_assign( filter->album_id );
break;
- case IVUG_VIEW_BY_WEB:
- cFilter->file_path = strdup( filter->file_path );
-
- if ( filter->file_path )
- {
- free(filter->file_path);
- }
- break;
-
- case IVUG_VIEW_BY_WEBALBUM:
- cFilter->album_id = uuid_assign( filter->album_id );
- break;
-
case IVUG_VIEW_BY_INVAILD:
default:
MSG_SDATA_WARN("Invalid ViewBy : %d", filter_str->view_by);
if(media_type == MEDIA_CONTENT_TYPE_IMAGE)
{
- if (ivug_is_web_uri(mdata->fileurl) == true)
- {
- MSG_SDATA_MED("Remote image : %s. %s", uuid_getchar(mdata->mediaID), mdata->fileurl);
- mdata->slide_type = SLIDE_TYPE_WEB_IMAGE;
- }
- else
- {
- MSG_SDATA_MED("Local image : %s. %s", uuid_getchar( mdata->mediaID ), mdata->fileurl);
+ MSG_SDATA_MED("Local image : %s. %s", uuid_getchar( mdata->mediaID ), mdata->fileurl);
- mdata->slide_type = SLIDE_TYPE_IMAGE;
- mdata->filepath = strdup(mdata->fileurl);
- }
+ mdata->slide_type = SLIDE_TYPE_IMAGE;
+ mdata->filepath = strdup(mdata->fileurl);
}
else if(media_type == MEDIA_CONTENT_TYPE_VIDEO)
{
free(mime_type); //free strdup
if (slide_type == SLIDE_TYPE_IMAGE)
{
- if (ivug_is_web_uri(filepath) == true)
+ mdata->slide_type = SLIDE_TYPE_IMAGE;
+ mdata->fileurl = strdup(filepath);
+ if (mdata->fileurl == NULL)
{
- mdata->slide_type = SLIDE_TYPE_WEB_IMAGE;
- mdata->fileurl = strdup(filepath);
- if (mdata->fileurl == NULL)
- {
- MSG_SDATA_ERROR("strdup return NULL");
- goto ERROR;
- }
- mdata->filepath = NULL;
+ MSG_SDATA_ERROR("strdup return NULL");
+ goto ERROR;
}
- else
+ mdata->filepath = strdup(filepath);
+ if (mdata->filepath == NULL)
{
- mdata->slide_type = SLIDE_TYPE_IMAGE;
- mdata->fileurl = strdup(filepath);
- if (mdata->fileurl == NULL)
- {
- MSG_SDATA_ERROR("strdup return NULL");
- goto ERROR;
- }
- mdata->filepath = strdup(filepath);
- if (mdata->filepath == NULL)
- {
- MSG_SDATA_ERROR("strdup return NULL");
- free(mdata->fileurl);
- goto ERROR;
- }
+ MSG_SDATA_ERROR("strdup return NULL");
+ free(mdata->fileurl);
+ goto ERROR;
}
}
else if (slide_type == SLIDE_TYPE_VIDEO)
{
- if (ivug_is_web_uri(filepath) == true)
+ mdata->slide_type = SLIDE_TYPE_VIDEO;
+ mdata->fileurl = strdup(filepath);
+ if (mdata->fileurl == NULL)
{
- mdata->slide_type = SLIDE_TYPE_STREAMING;
- mdata->fileurl = strdup(filepath);
- if (mdata->fileurl == NULL)
- {
- MSG_SDATA_ERROR("strdup return NULL");
- goto ERROR;
- }
- mdata->filepath = NULL;
+ MSG_SDATA_ERROR("strdup return NULL");
+ goto ERROR;
}
- else
+ mdata->filepath = strdup(filepath);
+ if (mdata->filepath == NULL)
{
- mdata->slide_type = SLIDE_TYPE_VIDEO;
- mdata->fileurl = strdup(filepath);
- if (mdata->fileurl == NULL)
- {
- MSG_SDATA_ERROR("strdup return NULL");
- goto ERROR;
- }
- mdata->filepath = strdup(filepath);
- if (mdata->filepath == NULL)
- {
- MSG_SDATA_ERROR("strdup return NULL");
- free(mdata->fileurl);
- goto ERROR;
- }
+ MSG_SDATA_ERROR("strdup return NULL");
+ free(mdata->fileurl);
+ goto ERROR;
}
}
else
#define N_(str) gettext_noop(str) /**< gettext_noop alias */
-#define LOCALE_PATH PREFIX"/res/locale" /*TODO!!!*/
+#define LOCALE_PATH PREFIX"/res/locale"
#ifndef PACKAGE
#error PACKAGE is not defined
#define IDS_CALLER_ID_NOTIFY (dgettext(IVUG_TEXT_DOMAIN, "IDS_IV_BODY_SELECTED_AREA_WILL_BE_APPLIED_TO_THE_CONTACT_PICTURE"))
#define IDS_PRINT_NOTIFY (dgettext(IVUG_TEXT_DOMAIN, "IDS_IV_BODY_SELECTED_AREA_WILL_BE_PRINTED"))
-#define IDS_ALLSHARE_NOTIFY (dgettext(IVUG_TEXT_DOMAIN, "IDS_IV_BODY_YOU_CAN_SHARE_YOUR_MEDIA_WITH_OTHER_DEVICES_USING_NEARBY_DEVICES"))
-
/* Registered string in STMS IV */
#define IDS_ACCUMULATED_TIME (dgettext(IVUG_TEXT_DOMAIN, "IDS_IV_ACCUMULATED_TIME"))
#define IDS_ADD_TAG (dgettext(IVUG_TEXT_DOMAIN, "IDS_IV_HEADER_ADD_TAG"))
#define IDS_MAX_CHAR_LENGTH_REACHED (dgettext(IVUG_TEXT_DOMAIN, "IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"))
#define IDS_ME (dgettext(IVUG_TEXT_DOMAIN, "IDS_IV_BODY_ME"))
#define IDS_N_A (dgettext(IVUG_TEXT_DOMAIN, "IDS_IV_BODY_N_A"))
-#define IDS_NEAR_DEVICES (dgettext(IVUG_TEXT_DOMAIN, "IDS_IV_BODY_NEARBY_DEVICES_T_ALLSHARE"))
#define IDS_NEW_TAG (dgettext(IVUG_TEXT_DOMAIN, "IDS_IV_BODY_NEW_TAG"))
#define IDS_PERMISSION_DENIED (dgettext(IVUG_TEXT_DOMAIN, "IDS_IV_POP_PERMISSION_DENIED"))
#define IDS_POSSIBLE (dgettext(IVUG_TEXT_DOMAIN, "IDS_IV_BODY_POSSIBLE"))
#define IDS_TWITTER (dgettext("sys_string", "IDS_COM_BODY_TWITTER"))
#define IDS_YOUTUBE (dgettext("sys_string", "IDS_COM_BODY_YOU_TUBE"))
-#define IDS_ALLSHARE (dgettext("sys_string", "IDS_COM_BODY_ALLSHARE"))
#define IDS_APPLICATION_NOT_INSTALLED (dgettext("sys_string", "IDS_COM_BODY_APPLICATION_NOT_INSTALLED"))
#define IDS_BACK (dgettext("sys_string", "IDS_COM_BODY_BACK"))
#define IDS_CANCEL (dgettext("sys_string", "IDS_COM_SK_CANCEL"))
#undef LOG_CAT
#define LOG_CAT "IV-SLIDESHOW"
-/*
- Basic functionality is implemented.
- but codes have many bugs. plz check this.
-
- TODO:
- Resize is not handled.
- Mouse routine is not handled.
- Decoding faied is not processed.
-
- Not test except slide effect.
-
-*/
#define EDJ_PATH PREFIX"/res/edje/"PACKAGE
#define IVUG_SS_LY_EDJ_PATH EDJ_PATH"/ivug-ss-ly.edj"
MSG_HIGH("Start Loading : %s", mdata->filepath);
- if(mdata->slide_type == SLIDE_TYPE_VIDEO || mdata->slide_type == SLIDE_TYPE_STREAMING)
+ if(mdata->slide_type == SLIDE_TYPE_VIDEO)
{
/* Display play icon */
edje_object_signal_emit(elm_layout_edje_get(pSlide->layout),
ivug_config_get_slideshow_setting(&(pSlideShow->ss_mode),
&(pSlideShow->ss_interval_time), &ivug_effect);
if(ivug_effect == IVUG_EFFECT_TYPE_UNKNOWN) {
- free(pSlideShow); // TODO Memory leak.
+ free(pSlideShow);
pSlideShow = NULL;
return NULL;
}
MSG_HIGH("Slide effect_engine = NULL");
pSlideShow->state = SLIDE_SHOW_STOPPED;
pSlideShow->ss_Header = NULL;
- // TODO : Mis-implementation
evas_object_smart_callback_call(ivug_ss_object_get(pSlideShow), "slideshow,finished", (void *)SLIDE_SHOW_STOPPED);
pSlideShow->bSS_StopFlag = EINA_FALSE;
}
static double _anim_sine(double t, double b, double c, double d)
{
-/* TODO : Consider below table reconstruct. need only 0.0 ~ 1.0 range*/
static const double const SIN_TABLE[91] = {
0.0000f, 0.0174f, 0.0349f, 0.0523f, 0.0698f,
0.0872f, 0.1045f, 0.1219f, 0.1392f, 0.1564f,
#define DISSOLVE_NUM 240 // 20 * 12
-/* TODO: Optimize the order */
const int const DISSOLVE_TABLE[DISSOLVE_NUM] = {
201, 8, 82, 163, 181, 215, 0, 126, 30, 106,
162, 122, 216, 18, 99, 70, 223, 89, 22, 191,
int count = (eng_data->n_row * eng_data->n_col) * percent / MAX_PERCENT;
MSG_EFFECT_MED("percent = %f, count = %d", percent, count);
- /* TODO: Start from last cleared pos */
int i;
for (i = 0; i < count; i++) {
MSG_EFFECT_MED("diss_array[%d] = %d", i, DISSOLVE_TABLE[i]);
}
-// TODO : Will rotate using pixman.. refer x11-server-utils-ex
static void __ivug_xcapture_data_rotate_180cw(unsigned int **dst,
unsigned int *src, int width,
int height)
private:
CSingleAnimator() {};
public:
-// TODO. Using factory
CSingleAnimator(double first, double last, double duration, TranstionFunc transition, AnimationCB callback, void *data) {
m_actor = new CActor(first, last, duration, transition, callback, data);
};
};
#endif
-// TODO : Implement using Functor.
-
class ECoreAnimator {
static Eina_Bool _on_anim(void *data)
{
CActor() {
m_tween = new CTransit();
};
-// TODO : Using functor!
CActor(double first, double last, double duration, TranstionFunc transition, AnimationCB callback, void *data) : m_callback(callback), m_data(data) {
m_tween = new CTransit(first, last, duration, transition);
};
static Evas_Object *_crop_image(const char *file, int /* image coord */crop_x, int crop_y, int crop_w, int crop_h, int final_w, int final_h)
{
-// TODO : Should implement no-region image cropping (bmp or gif )
MSG_HIGH("Crop image XYWH(%d,%d,%d,%d) Dimension(%d,%d)", crop_x, crop_y, crop_w, crop_h, final_w, final_h);
// 1. Load source image into buffer canvas.