📄 jmmscomposeutils.c
字号:
/* Local Variables */
/*----------------------------------------------------------------*/
JC_UINT8 *media_buffer_p;
U32 buffer_size;
JC_RETCODE ret_code = JC_OK;
JMMS_COMP_ERRCODE err_code;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
PRINT_INFORMATION_2((MMI_TRACE_INFO, "%s", "Inside mmi_jmms_compose_update_text"));
buffer_size = jc_tcslen((JC_CHAR*) g_jmms_context->compose_context->curr_slide_info.edit_content_buffer) * sizeof(JC_CHAR);
media_buffer_p = (U8*) jdd_MemAlloc(buffer_size + 1, sizeof(JC_CHAR));
if (media_buffer_p == NULL)
{
ret_code = JC_ERR_MEMORY_ALLOCATION;
goto ERROR_HANDLE;
}
jc_tcscpy(
(JC_CHAR*) media_buffer_p,
(JC_CHAR*) g_jmms_context->compose_context->curr_slide_info.edit_content_buffer);
ret_code = mmi_jmms_jdi_update_inline_text(
g_jmms_context->msg_handle,
(JC_UINT8*) media_buffer_p,
buffer_size,
page_index,
media_id);
ERROR_HANDLE:
err_code = mmi_jmms_compose_handle_error(ret_code, 0);
switch (err_code)
{
case JMMS_COMP_FAIL:
case JMMS_COMP_OUT_MEMORY: /* deallocate memory for new slide and out of mmeory case. */
if (media_buffer_p != NULL)
{
jdd_MemFree(media_buffer_p);
}
err_code = JMMS_COMP_FAIL;
break;
}
return err_code;
}
/*****************************************************************************
* FUNCTION
* mmi_mms_get_mms_content_type_file
* DESCRIPTION
* returns the content type of media file.
* PARAMETERS
* file_name_p [?] [?]
* a(?) [IN/OUT] Nil(?)
* b(?) [IN] Nil(?)
* RETURNS
* void
*****************************************************************************/
U8 *mmi_mms_get_mms_content_type_file(JC_CHAR *file_name_p)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
U8 *content_type_p = NULL;
JC_CHAR *tmp_file_name = NULL;
applib_mime_type_struct *mime_info = NULL;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
PRINT_INFORMATION_2((MMI_TRACE_INFO, "%s", "Inside mmi_mms_get_mms_content_type_file"));
if (file_name_p)
{
U32 iIndex = 0;
tmp_file_name = jdi_UtilsTcsDup(file_name_p);
tmp_file_name = jdi_UtilsTcsUpperToLower((JC_CHAR*) tmp_file_name);
iIndex = jdi_UtilsLastIndexOfTchar('.', tmp_file_name, jc_tcslen(tmp_file_name) - 1);
if (iIndex > 0 && jc_tcslen(tmp_file_name) != (U32) iIndex)
{
U16 uhCounter = 0;
iIndex++;
while (*(g_content_type_list[uhCounter][0]) != 0)
{
if (jdi_UtilsTcsStrCmp(tmp_file_name + iIndex, g_content_type_list[uhCounter][1]) == 0)
{
content_type_p = (U8*) jdi_UtilsStrdup(g_content_type_list[uhCounter][0]);
break;
}
uhCounter++;
}
}
}
if (tmp_file_name)
{
jdd_MemFree(tmp_file_name);
}
if (content_type_p == NULL)
{
if(mime_get_extension(file_name_p) != NULL)
{
mime_info = mime_get_file_type(file_name_p);
}
if (mime_info == NULL)
{
content_type_p = (U8*) jdi_UtilsStrdup("application/octet-stream");
}
else
{
content_type_p = (U8*) jdi_UtilsStrdup(mime_info->mime_string);
}
}
return content_type_p;
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_is_mime_found_in_g_content_type_list
* DESCRIPTION
* returns the content type of media file.
* PARAMETERS
* pszContentType [IN]
* RETURNS
* JC_BOOLEAN
*****************************************************************************/
JC_BOOLEAN mmi_jmms_is_mime_found_in_g_content_type_list(JC_INT8 *pszContentType)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
S32 uhCounter = 0;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
while (*(g_content_type_list[uhCounter][0]) != 0)
{
if (strcmp(pszContentType, (PS8)(g_content_type_list[uhCounter][0])) == 0)
{
return E_TRUE;
}
uhCounter++;
}
return E_FALSE;
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_compose_delete_media
* DESCRIPTION
* fn to delete media.
* PARAMETERS
* media_id [IN]
* page_index [IN]
* is_attachment [IN]
* a(?) [IN/OUT] Nil(?)
* b(?) [IN] Nil(?)
* RETURNS
* void
*****************************************************************************/
/* U8 media_buffer_p[3000]; */
JMMS_COMP_ERRCODE mmi_jmms_compose_delete_media(U32 media_id, U8 page_index, U8 is_attachment)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
JC_RETCODE ret_code = JC_OK;
JMMS_COMP_ERRCODE err_code;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
PRINT_INFORMATION_2((MMI_TRACE_INFO, "%s", "Inside mmi_jmms_compose_delete_media"));
ret_code = mmi_jmms_jdi_delete_media(g_jmms_context->msg_handle, page_index, media_id, is_attachment);
err_code = mmi_jmms_compose_handle_error(ret_code, 0);
return err_code;
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_compose_delete_page
* DESCRIPTION
* fn to delete media.
* PARAMETERS
* page_index [IN]
* a(?) [IN/OUT] Nil(?)
* b(?) [IN] Nil(?)
* RETURNS
* void
*****************************************************************************/
/* U8 media_buffer_p[3000]; */
JMMS_COMP_ERRCODE mmi_jmms_compose_delete_page(U8 page_index)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
JC_RETCODE ret_code = JC_OK;
JMMS_COMP_ERRCODE err_code;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
PRINT_INFORMATION_2((MMI_TRACE_INFO, "%s", "Inside mmi_jmms_compose_delete_page"));
ret_code = mmi_jmms_jdi_delete_page(g_jmms_context->msg_handle, page_index);
err_code = mmi_jmms_compose_handle_error(ret_code, 1);
return err_code;
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_compose_get_media_list
* DESCRIPTION
* fn to delete media.
* PARAMETERS
* page_index [IN]
* media_info_p [IN]
* media_count [?] [?]
* is_attachment [IN]
* a(?) [IN/OUT] Nil(?)
* b(?) [IN] Nil(?)
* RETURNS
* void
*****************************************************************************/
/* U8 media_buffer_p[3000]; */
JMMS_COMP_ERRCODE mmi_jmms_compose_get_media_list(
U8 page_index,
MEDIA_INFO **media_info_p,
U8 *media_count,
U8 is_attachment)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
JC_RETCODE ret_code = JC_OK;
JMMS_COMP_ERRCODE err_code;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
PRINT_INFORMATION_2((MMI_TRACE_INFO, "%s", "Inside mmi_jmms_compose_get_media_list"));
ret_code = mmi_jmms_jdi_get_media_list(g_jmms_context->msg_handle, page_index, media_info_p, media_count, is_attachment);
err_code = mmi_jmms_compose_handle_error(ret_code, 0);
if (*media_count == 0)
{
err_code = JMMS_COMP_FAIL;
}
return err_code;
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_compose_insert_slide
* DESCRIPTION
* This fn inserts a slide.
* PARAMETERS
* void
* a(?) [IN/OUT] Nil(?)
* b(?) [IN] Nil(?)
* RETURNS
* void
*****************************************************************************/
JMMS_COMP_ERRCODE mmi_jmms_compose_insert_slide(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
JC_RETCODE ret_code = JC_OK;
JMMS_COMP_ERRCODE err_code;
U8 max_page = 0, count = 0;
U32 slide_time = 0;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
PRINT_INFORMATION_2((MMI_TRACE_INFO, "%s", "Inside mmi_jmms_compose_insert_slide"));
PRINT_INFORMATION_2((MMI_TRACE_INFO, "%s %d %d", "Previous Set Values: Text Size of compose context and inline item is: ", g_jmms_context->compose_context->curr_slide_info.slide_prop.text_font.size, g_jmms_context->jmms_inline_items.text_settings_items.size_selected));
PRINT_INFORMATION_2((MMI_TRACE_INFO, "%s %d %d", "Previous Set Values: Italic Selection of compose context and inline item is: ", g_jmms_context->compose_context->curr_slide_info.slide_prop.text_font.italic, g_jmms_context->jmms_inline_items.text_settings_items.italic_selected));
PRINT_INFORMATION_2((MMI_TRACE_INFO, "%s %d %d", "Previous Set Values: Bold Selection of compose context and inline item is: ", g_jmms_context->compose_context->curr_slide_info.slide_prop.text_font.bold, g_jmms_context->jmms_inline_items.text_settings_items.bold_selected));
max_page = (U8) mmi_jmms_compose_settings_max_no_pages();
if (max_page > g_jmms_context->compose_context->curr_page_index)
{
ret_code = mmi_jmms_jdi_add_page(
g_jmms_context->msg_handle,
(U8) (g_jmms_context->compose_context->curr_page_index + 1));
}
else
{
ret_code = JC_ERR_MSG_MAX_REACHED;
}
err_code = mmi_jmms_compose_handle_error(ret_code, 1);
switch (err_code)
{
case JMMS_COMP_OK:
{
g_jmms_context->compose_context->curr_page_index++;
/* shuffling of compose_context->duration handling array */
for(count = MAX_POSSIBLE_SLIDES - 1; count >= g_jmms_context->compose_context->curr_page_index ; count-- )
{
g_jmms_context->compose_context->duration[count].txt_dur_max_set = g_jmms_context->compose_context->duration[count - 1].txt_dur_max_set;
g_jmms_context->compose_context->duration[count].img_dur_max_set = g_jmms_context->compose_context->duration[count - 1].img_dur_max_set;
g_jmms_context->compose_context->duration[count].audio_dur_max_set = g_jmms_context->compose_context->duration[count - 1].audio_dur_max_set;
g_jmms_context->compose_context->duration[count].video_dur_max_set = g_jmms_context->compose_context->duration[count - 1].video_dur_max_set;
}
mmi_jmms_compose_fill_default_values_slide_settings();
slide_time = mmi_jmms_compose_settings_default_slide_time();
err_code = mmi_jmms_save_page_time(slide_time);
if (err_code == JMMS_COMP_OK)
{
g_jmms_context->compose_context->curr_slide_info.slide_prop.slide_time = slide_time;
}
memset(
g_jmms_context->compose_context->curr_slide_info.edit_content_buffer,
0,
(JMMS_COMPOSE_TEXT_LENGTH + 1) * ENCODING_LENGTH);
g_jmms_context->compose_context->curr_slide_info.text_ID = 0;
g_jmms_context->compose_context->curr_slide_info.image_ID = 0;
g_jmms_context->compose_context->curr_slide_info.audio_ID = 0;
g_jmms_context->compose_context->curr_slide_info.video_ID = 0;
/* shuffling of is_image_first handling array */
for(count = MAX_POSSIBLE_SLIDES - 1; count >= g_jmms_context->compose_context->curr_page_index ; count-- )
{
g_jmms_context->compose_context->is_image_first[ count ] = g_jmms_context->compose_context->is_image_first[ count - 1 ];
}
g_jmms_context->compose_context->is_image_first[ g_jmms_context->compose_context->curr_page_index - 1 ] = 0;
}
break;
}
PRINT_INFORMATION_2((MMI_TRACE_INFO, "%s %d %d", "After Set Values: Text Size of compose context and inline item is: ", g_jmms_context->compose_context->curr_slide_info.slide_prop.text_font.size, g_jmms_context->jmms_inline_items.text_settings_items.size_selected));
PRINT_INFORMATION_2((MMI_TRACE_INFO, "%s %d %d", "After Set Values: Italic Selection of compose context and inline item is: ", g_jmms_context->compose_context->curr_slide_info.slide_prop.text_font.italic, g_jmms_context->jmms_inline_items.text_settings_items.italic_selected));
PRINT_INFORMATION_2((MMI_TRACE_INFO, "%s %d %d", "After Set Values: Bold Selection of compose context and inline item is: ", g_jmms_context->compose_context->curr_slide_info.slide_prop.text_font.bold, g_jmms_context->jmms_inline_items.text_settings_items.bold_selected));
return err_code;
}
/*****************************************************************************
* FUNCTION
* mmi_jmms_exit_curr_slide
* DESCRIPTION
* This fn inserts a slide.
* PARAMETERS
* void
* a(?) [IN/OUT] Nil(?)
* b(?) [IN] Nil(?)
* RETURNS
* JMMS_COMP_ERRCODE
*****************************************************************************/
JMMS_COMP_ERRCODE mmi_jmms_exit_curr_slide(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
JMMS_COMP_ERRCODE err_code = JMMS_COMP_OK;
/*----------------------------------------------------------------*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -