CmsCps_interface.h
上传用户:fuyouda
上传日期:2021-12-23
资源大小:164k
文件大小:8k
开发平台:

C/C++

  1. /* $ID:CmsCps_interface.h  V1.0 2004/05/17 */
  2. /************************************************************************
  3.  *
  4.  *  FILE: CmsCps_interface.h
  5.  *
  6.  *  MODULE: MMS
  7.  *
  8.  *  PURPOSE: Define the macro,struct and apis used by the mms UI designer.
  9.  *
  10.  *  AUTHOR(S): XiaoLin Xiao
  11.  *
  12.  *  GROUP: TERMINAL
  13.  *
  14.  *  DATE CREATED:2004/05/18
  15.  *
  16.  *  REFERENCE DOCUMENT ID:
  17.  *
  18.  *  MODIFICATIONS:
  19.  *  Date          user Name      Description
  20.  *  2004/05/18    XiaoLin Xiao          Create this file
  21.  *************************************************************************/
  22. #ifndef _CmsCPS_INTERFACE_H
  23. #define _CmsCPS_INTERFACE_H
  24. #include "sysTypes.h"
  25. #include "mmimpeg4.h"
  26. #include "Cms_MMSDoc.h"
  27. /* Error number */
  28. #define COMPOSER_SUCCESS 0 /* 操作成功 */
  29. #define COMPOSER_MEMERY_ALLOC_FAIL -1 /* 内存分配失败 */
  30. #define COMPOSER_MODULE_IS_USING -2 /* 模块正处于编辑模式 */
  31. #define COMPOSER_MEDIA_HAS_EXIST -3 /* 资源已经存在 */
  32. #define COMPOSER_MEDIA_EXIST_VIDEO -4 /* 已经存在视频 */
  33. #define COMPOSER_MEDIA_EXIST_IMG_AUD -5 /* 已经存在声音和图像*/
  34. #define COMPOSER_REACH_MAX_SLIDE -6 /* 已经达到了最大slide */
  35. #define COMPOSER_JUST_ONE_EMPTY_SLIDE -7 /* 当前只剩唯一空白页 */
  36. #define COMPOSER_MEDIA_NOT_EXIST -8 /* 资源不存在 */
  37. #define COMPOSER_GOTO_THE_END -9 /* 已到了最后页面  */
  38. #define COMPOSER_GOTO_THE_FIRST -10 /* 已到第一个页面 */
  39. #define COMPOSER_GLOBE_VAR_ERROR -11 /* 内部全局变量错误 */
  40. #define COMPOSER_INPUT_PARAM_ERROR -12 /* 函数参数错误 */
  41. #define COMPOSER_CURRENT_SLIDE_NOT_EXIST -13 /* 当前slide不存在 */
  42. #define COMPOSER_UNKNOWN_ERROR -16 /* 不确定错误 */
  43. /*  image content type macros   */
  44. #define COMPOSER_IMAGE_GIF "image/gif"
  45. #define COMPOSER_IMAGE_JPEG "image/jpeg"
  46. #define COMPOSER_IMAGE_PNG "image/png"
  47. #define COMPOSER_IMAGE_WBMP "image/vnd.wap.wbmp"
  48. #define COMPOSER_IMAGE_BMP "image/bmp"
  49. /* audio content type macros  */
  50. #define COMPOSER_AUDIO_WAV "audio/wav"
  51. #define COMPOSER_AUDIO_IMELODY "audio/imelody"
  52. #define COMPOSER_AUDIO_MIDI "audio/midi"
  53. #define COMPOSER_AUDIO_AMR "audio/amr"
  54. #define COMPOSER_AUDIO_MP3 "audio/mp3"
  55. /*  video content type macros */
  56. #define COMPOSER_VIDEO_MPEG "video/mpeg"
  57. #ifdef __cplusplus
  58. extern "C" {
  59. #endif /*end of __cplusplus*/
  60. /* 显示矩形区域结构  */   /*record display position */
  61. typedef struct T_Composer_Rectangle_tag{
  62. T_WORD x; /*x start coordinate of screen*/
  63. T_WORD y;   /*y start coordinate of screen*/
  64. T_WORD width; /*width of display position*/
  65. T_WORD height; /*height of display postion*/
  66. }T_Composer_Rectangle;
  67. /*插入图片的资源信息*/
  68. typedef struct T_Composer_Image{
  69. T_UBYTE* ImgBuf; /*image data*/
  70. T_CHAR*  Type; /*image type*/
  71. T_WORD begin; /*begin time of image display*/
  72. T_WORD end; /*end time of image display*/
  73. T_WORD size; /*size of image data*/
  74. T_Composer_Rectangle region;  /* image's region   */
  75. }T_Composer_Image;
  76. /*插入文本的资源信息*/
  77. typedef struct T_Composer_Text{
  78. T_UBYTE* TxtBuf;  /*text data*/
  79. T_WORD begin; /*begin time of text show*/
  80. T_WORD end; /*end time of text show*/
  81. T_WORD size; /* the size of the text content */
  82. T_Composer_Rectangle region;  /* text's region  */
  83. }T_Composer_Text;
  84. /*插入声音资源信息*/
  85. typedef struct T_Composer_Audio{
  86. T_UBYTE* AudBuf; /*audio data buffer*/
  87. T_CHAR *Type; /* audio type  */
  88. T_WORD begin; /*begin time of audio play*/
  89. T_WORD end; /*end time of audio play*/
  90. T_WORD size; /*size of audio data*/
  91. }T_Composer_Audio;
  92. /*插入声音资源信息*/
  93. typedef struct T_Composer_Video{
  94. T_UBYTE* VidBuf; /*video data buffer*/
  95. MMIMPEG4_TYPE_E Type; /* video type  */
  96. T_WORD begin; /*begin time of video play*/
  97. T_WORD end; /*end time of video play*/
  98. T_WORD size; /*size of video data*/
  99. T_Composer_Rectangle region;  /* video's region  */
  100. }T_Composer_Video;
  101. #if 0  //haiyang for wap2.0
  102. /* 显示矩形区域结构  */
  103. typedef struct{ /*record display position */
  104. T_WORD x; /*x start coordinate of screen*/
  105. T_WORD y;/*y start coordinate of screen*/
  106. T_WORD width; /*width of display position*/
  107. T_WORD height; /*height of display postion*/
  108. }T_Composer_Rectangle;
  109. /*插入图片的资源信息*/
  110. typedef struct T_Composer_Image{
  111. T_UBYTE* ImgBuf; /*image data*/
  112. T_CHAR*  Type; /*image type*/
  113. T_WORD begin; /*begin time of image display*/
  114. T_WORD end; /*end time of image display*/
  115. T_WORD size; /*size of image data*/
  116. T_Composer_Rectangle region;  /* image's region   */
  117. }T_Composer_Image;
  118. /*插入文本的资源信息*/
  119. typedef struct T_Composer_Text{
  120. T_UBYTE* TxtBuf;  /*text data*/
  121. T_WORD begin; /*begin time of text show*/
  122. T_WORD end; /*end time of text show*/
  123. T_WORD size; /* the size of the text content */
  124. T_Composer_Rectangle region;  /* text's region  */
  125. }T_Composer_Text;
  126. /*插入声音资源信息*/
  127. typedef struct T_Composer_Audio{
  128. T_UBYTE* AudBuf; /*audio data buffer*/
  129. T_CHAR *Type; /* audio type  */
  130. T_WORD begin; /*begin time of audio play*/
  131. T_WORD end; /*end time of audio play*/
  132. T_WORD size; /*size of audio data*/
  133. }T_Composer_Audio;
  134. /*插入声音资源信息*/
  135. typedef struct T_Composer_Video{
  136. T_UBYTE* VidBuf; /*video data buffer*/
  137. T_CHAR *Type; /* video type  */
  138. T_WORD begin; /*begin time of video play*/
  139. T_WORD end; /*end time of video play*/
  140. T_WORD size; /*size of video data*/
  141. T_Composer_Rectangle region;  /* video's region  */
  142. }T_Composer_Video;
  143. #endif 
  144. /*=============================================================================
  145.  *     API Defines
  146.  *=============================================================================*/
  147. /* 新建彩信 */
  148. T_WORD fnCPS_NewMms(T_VOID);
  149. /* 再编辑彩信 */
  150. T_WORD fnCPS_ReEditMms(T_UBYTE*Pdu,T_WORD Size);
  151. /* 退出编辑模块 */
  152. T_VOID fnCPS_Quit (T_VOID);
  153. /* 检查当前页面是否包含图像 */
  154. T_BOOL fnCPS_CurImageExist(T_VOID);
  155. /* 检查当前页面是否包含文本 */
  156. T_BOOL fnCPS_CurTextExist(T_VOID);
  157. /* 检查当前页面是否包含音乐 */
  158. T_BOOL fnCPS_CurAudioExist(T_VOID);
  159. /* 检查当前页面是否包含视频 */
  160. T_BOOL fnCPS_CurVideoExist(T_VOID);
  161. /* 在当前页添加图像 */
  162. T_WORD fnCPS_AddImage(T_Composer_Image*Image,pMMS_EDocument p_cur_doc);
  163. /* 在当前页添加文本 */
  164. T_WORD fnCPS_AddText(T_Composer_Text*Text);
  165. /* 在当前页添加音乐 */
  166. T_WORD fnCPS_AddAudio(T_Composer_Audio*Audio,pMMS_EDocument p_cur_doc);
  167. /* 在当前页添加视频 */
  168. T_WORD fnCPS_AddVideo(T_Composer_Video*Video,pMMS_EDocument p_cur_doc);
  169. /* 在当前页后面添加新的空白页面 */
  170. T_WORD fnCPS_AddSlide (T_VOID);
  171. /* 设置当前页面的延时 */
  172. T_WORD fnCPS_SetCurSlideDuration(T_WORD delay);
  173. /* 获得当前页面的延时 */
  174. T_WORD fnCPS_GetCurSlideDuration(pMMS_EDocument p_cur_doc);
  175. /* 从当前页删除图像 */
  176. T_WORD fnCPS_DeleteCurImage(pMMS_EDocument p_cur_doc);
  177. /* 从当前页删除文本 */
  178. T_WORD fnCPS_DeleteCurText(T_VOID);
  179. /* 从当前页删除音乐 */
  180. T_WORD fnCPS_DeleteCurAudio(T_VOID);
  181. /* 从当前页删除视频 */
  182. T_WORD fnCPS_DeleteCurVideo(pMMS_EDocument p_cur_doc);
  183. /* 删除当前页面,包括该页的资源 */
  184. T_WORD fnCPS_DeleteCurSlide(T_VOID);
  185. /* 对编辑模块进行清空,放弃已完成的编辑工作 */
  186. T_VOID fnCPS_Empty(T_VOID);
  187. /*  移动到下个页面 */
  188. T_WORD fnCPS_GoNextSlide (T_VOID);
  189. /*  移动到上个页面 */
  190. T_WORD fnCPS_GoPreSlide (T_VOID);
  191. /*  得到当前页的图像信息 */
  192. T_WORD fnCPS_GetCurImage(T_Composer_Image*Image);
  193. /* 得到当前页的文本信息 */
  194. T_WORD fnCPS_GetCurText(T_Composer_Text*Text,pMMS_EDocument p_cur_doc);
  195. /* 得到当前页的音乐信息 */
  196. T_WORD fnCPS_GetCurAudio(T_Composer_Audio*Audio);
  197. /* 得到当前页的视频信息 */
  198. T_WORD fnCPS_GetCurVideo(T_Composer_Video*Video);
  199. /* 得到当前页的索引 */
  200. T_WORD fnCPS_GetCurSlideIndex(T_VOID);
  201. /*得到总页数*/
  202. T_WORD fnCPS_GetTotalSlides(T_VOID);
  203. /* 得到当前编辑彩信的资源大小 */
  204. T_WORD fnCPS_GetTotalSize(T_VOID);
  205. /* 得到当前编辑彩信的Body PDU */
  206. T_UBYTE* fnCPS_GetMmsContentPdu(T_WORD *Size);
  207. #ifdef __cplusplus
  208. }
  209. #endif  //end of #ifdef __cplusplus 
  210. #endif