PictureEditorProts.h
上传用户:lqx1163
上传日期:2014-08-13
资源大小:9183k
文件大小:13k
源码类别:

MTK

开发平台:

C/C++

  1. /*****************************************************************************
  2. *  Copyright Statement:
  3. *  --------------------
  4. *  This software is protected by Copyright and the information contained
  5. *  herein is confidential. The software may not be copied and the information
  6. *  contained herein may not be used or disclosed except with the written
  7. *  permission of MediaTek Inc. (C) 2005
  8. *
  9. *  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
  10. *  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
  11. *  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
  12. *  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
  13. *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
  14. *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
  15. *  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
  16. *  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
  17. *  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
  18. *  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
  19. *  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
  20. *  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
  21. *
  22. *  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
  23. *  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
  24. *  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
  25. *  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
  26. *  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
  27. *
  28. *  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
  29. *  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
  30. *  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
  31. *  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
  32. *  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
  33. *
  34. *****************************************************************************/
  35. /*******************************************************************************
  36.  * Filename:
  37.  * ---------
  38.  *  PictureEditorProts.h
  39.  *
  40.  * Project:
  41.  * --------
  42.  *  MAUI
  43.  *
  44.  * Description:
  45.  * ------------
  46.  *  
  47.  *
  48.  * Author:
  49.  * -------
  50.  *  
  51.  *
  52.  *==============================================================================
  53.  *             HISTORY
  54.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  55.  *------------------------------------------------------------------------------
  56.  * removed!
  57.  *
  58.  * removed!
  59.  * removed!
  60.  * removed!
  61.  *
  62.  * removed!
  63.  * removed!
  64.  * removed!
  65.  *
  66.  * removed!
  67.  * removed!
  68.  * removed!
  69.  *
  70.  *------------------------------------------------------------------------------
  71.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  72.  *==============================================================================
  73.  *******************************************************************************/
  74.    /**
  75.  * Copyright Notice
  76.  * ?2002 - 2003, Pixtel Communications, Inc., 1489 43rd Ave. W.,
  77.  * Vancouver, B.C. V6M 4K8 Canada. All Rights Reserved.
  78.  *  (It is illegal to remove this copyright notice from this software or any
  79.  *  portion of it)
  80.  */
  81. /**************************************************************
  82.    FILENAME : PictureEditorProts.h
  83.    PURPOSE     : Funtion Prototypes for the Picture Editor Application
  84.    REMARKS     : nil
  85.    AUTHOR      : Yogesh
  86.    DATE     : Jan-13-2004
  87. **************************************************************/
  88. #ifndef PICTUREEDITORPROTS_H
  89. #define PICTUREEDITORPROTS_H
  90. #include "gui_data_types.h"
  91. #include "PictureEditorDefs.h"
  92. #include "DownloadDefs.h"
  93. /* [~PMT  MANISH   20050302 */
  94. #ifdef __MMI_TOUCH_SCREEN__
  95. #include "kal_non_specific_general_types.h"
  96. #include "TouchScreenGprot.h"
  97. typedef enum
  98. {
  99.     GUI_IMAGE_EDITOR_PEN_NONE,
  100.     GUI_IMAGE_EDITOR_PEN_TITLE_EVENT
  101. } mmi_image_editor_pen_enum;
  102. #endif /* __MMI_TOUCH_SCREEN__ */ 
  103. /* ~] */
  104. /**********************Global function prototypes************************/
  105. /* Picture Editor */
  106. extern void InitPictureEditor(void);
  107. extern void InitPicEditPen(void);
  108. extern void EntryScr4PicEditSelectMenu(void);
  109. extern void ExitScr4PicEditSelectMenu(void);
  110. extern void ChangePicEditSelectMenuSoftKey(S32 nIndex);
  111. extern void EntryPicEditAddPic(void);
  112. extern void ShowPicEditPrevImage(void);
  113. extern void ShowPicEditNextImage(void);
  114. extern void ShowPicEditImage(void);
  115. extern void EntryScr4PicEditViewOpt(void);
  116. extern void ExitScr4PicEditViewOpt(void);
  117. extern void SelPEViewOptEdit(void);
  118. extern void SelPEViewOptDelete(void);
  119. extern void SelPEViewOptDeleteAll(void);
  120. extern void EntryPicEditViewOpt(void);
  121. extern void EntryScr4PicEditDeleteConfirm(void);
  122. extern void ExitScr4PicEditDeleteConfirm(void);
  123. extern void PicEditDeleteImage(void);
  124. extern MMI_BOOL SetDeletePicEditImage(void);
  125. extern void EntryScr4PicEditDeleteAllConfirm(void);
  126. extern void ExitScr4PicEditDeleteAllConfirm(void);
  127. extern void PicEditDeleteAllImages(void);
  128. extern void SetDeleteAllPicEditImage(void);
  129. extern void EntryScr4PicEditEditOpt(void);
  130. extern void ExitScr4PicEditEditOpt(void);
  131. extern void SelPEEditOptSavePic(void);
  132. extern void SelPEEditOptSavePicAs(void);
  133. extern void SelPEEditOptPenSetting(void);
  134. extern void SelPEEditOptFillPic(void);
  135. extern void SelPEEditOptMark(void);
  136. extern void SelPEEditOptCut(void);
  137. extern void SelPEEditOptCopy(void);
  138. extern void SelPEEditOptPaste(void);
  139. extern void SelPEEditOptUndo(void);
  140. extern void SelPEEditOptRedo(void);
  141. extern void SelPEEditOptZoom(void);
  142. extern void SelPEEditOptFullSize(void);
  143. extern void SelPEEditOptResize(void);
  144. extern void SelPEEditOptHelp(void);
  145. extern void EntryPEEditOpt(void);
  146. extern void EntryScr4PicEditSaveAs(void);
  147. extern void ExitScr4PicEditSaveAs(void);
  148. extern void SetPicEditCurrPic(S32 nIndex);
  149. extern void PicEditSaveImageAs(void);
  150. extern void EntryScr4PicEditSaveAsConfirm(void);
  151. extern void ExitScr4PicEditSaveAsConfirm(void);
  152. extern void GoBackPicEditSaveAsConfirmHistory(void);
  153. extern void ReplacePicEditSelectedImage(void);
  154. extern void EntryScr4PicEditPenSetting(void);
  155. extern void ExitScr4PicEditPenSetting(void);
  156. extern void GoBackPicEditPenSettingHistory(void);
  157. extern void PicEditPenSettingInlineEdit(S32 nIndex);
  158. extern void PicEditPenSettingSelectInlineEdit(S32 index);
  159. extern void ChangePenSettingSoftkey(void);
  160. extern void EntryScr4PicEditPenSettingSaveConfirm(void);
  161. extern void ExitScr4PicEditPenSettingSaveConfirm(void);
  162. extern void GoBackPicEditPenSettingConfirmHistory(void);
  163. extern void SavePicEditPenSetting(void);
  164. extern void EntryScr4PicEditFillPic(void);
  165. extern void ExitScr4PicEditFillPic(void);
  166. extern void ChangeSoftkeyFillPic(S32 index);
  167. extern void PicEditFillPicSelectInlineEdit(S32 index);
  168. extern void EntryScr4PicEditFillPicSaveConfirm(void);
  169. extern void ExitScr4PicEditFillPicSaveConfirm(void);
  170. extern void GoBackPicEditFillPicConfirmHistory(void);
  171. extern void SavePicEditFillPic(void);
  172. extern void EntryScr4PicEditScrResize(void);
  173. extern void ExitScr4PicEditScrResize(void);
  174. extern void FillPicEditResizeInLine(InlineItem *ResizeInline);
  175. extern void HighlightResizeInlineItemHandler(S32 index);
  176. extern void ChangeResizeSoftKey(S32 nIndex);
  177. extern void SetResizeInlineItemValues(void);
  178. extern void ValidateScrWidthHeight(void);
  179. extern void EntryScr4PicEditHelp(void);
  180. extern void ExitScr4PicEditHelp(void);
  181. extern void EntryScr4PicEditCustomColor(void);
  182. extern void ExitScr4PicEditCustomColor(void);
  183. extern void SavePicEditCustomColor(void);
  184. extern void EntryScr4PicEditSaveImageConfirm(void);
  185. extern void ExitScr4PicEditSaveImageConfirm(void);
  186. extern void GoBackPicEditSaveImageConfirmHistory(void);
  187. extern void PicEditSaveImage(void);
  188. extern void SetPicEditPenAtCenter(BOOL bFlag);
  189. extern void SetPicEditPenBoundary(void);
  190. extern S32 SavePicEditImageDataBuff(void);
  191. extern U8 SearchPicEditFileName(S8 *sFile);
  192. extern U8 *GetPicEditCurrentImageName(void);
  193. extern U16 GetPicEditCurrentImageId(void);
  194. extern BOOL SetPicEditPenMarkBoundary(void);
  195. extern U8 GetPicEditScr(void);
  196. extern BOOL CheckPicEditPenSettingChange(void);
  197. extern void ReadPicEditListFromNVRAM(void);
  198. extern void WritePicEditListToNVRAM(void);
  199. extern S8 AddPictureEditorImage(S8 *fileName);
  200. extern S8 AddPictureEditorImageAtIndex(S8 *fileName, U8 nIndex);
  201. extern S8 DeletePictureEditorImage(U16 ImageId);
  202. extern U8 GetPictureEditorImageInfo(DYNIMAGEINFO **pictureEditorInfo);
  203. extern S8 *GetPictureEditorImageNameInFileSystem(U16 ImageId);
  204. extern S8 *GetPictureEditorImageNameWithPathInFileSystem(U16 ImageId);
  205. /* Picture Editor Engine */
  206. extern void ShowCategoryScr4PicEdit(
  207.                 U16 colorStringId,
  208.                 color penColor,
  209.                 U16 pixelStringId,
  210.                 U8 penPixel,
  211.                 U16 penImageId,
  212.                 U16 left_softkey,
  213.                 U16 left_softkey_icon,
  214.                 U16 right_softkey,
  215.                 U16 right_softkey_icon,
  216.                 U16 background_imageid,
  217.                 U8 *imageData);
  218. extern void ShowPicEditTitleBar(U16 colorStringId, color penColor, U16 pixelStringId, U8 penPixel, U16 penImageId);
  219. extern void RedrawPicEditTitleBar(void);
  220. extern void ShowPicEditImageWindow(U8 *imageData);
  221. extern void ShowPicEditMarkBox(U16 scrMinX, U16 scrMinY);
  222. extern void DisplayPECursor(void);
  223. extern void EntryScr4PicEditShowImage(void);
  224. extern void ExitScr4PicEditShowImage(void);
  225. extern void ChangePicEditShowImageSoftkey(void);
  226. extern void EntryScr4PicEditEditImage(void);
  227. extern void ExitScr4PicEditEditImage(void);
  228. extern void ChangePicEditEditImageSoftkey(void);
  229. extern void GoBackHistory4PicEditEditImage(void);
  230. extern void PECommitLastAction(void);
  231. extern void PECancelLastAction(void);
  232. extern void SetPicEditZoomWindow(BOOL bFlag);
  233. /* Picture Editor Handlers - Key */
  234. extern void InitPicEditKeyHandlers(void);
  235. extern void InitPicEditHiliteHandlers(void);
  236. extern void DrawPicOnKey_1(void);
  237. extern void DrawPicOnKey_2(void);
  238. extern void DrawPicOnKey_3(void);
  239. extern void DrawPicOnKey_4(void);
  240. extern void DrawPicOnKey_5(void);
  241. extern void DrawPicOnKey_6(void);
  242. extern void DrawPicOnKey_7(void);
  243. extern void DrawPicOnKey_8(void);
  244. extern void DrawPicOnKey_9(void);
  245. extern void DrawPECursor(U16 key);
  246. extern void ChangePEZoomFactor(void);
  247. extern void ChangePEPenSize(void);
  248. extern void ChangePEPenColor(void);
  249. /* 051605 Calvin added */
  250. #if defined (__MMI_MAINLCD_240X320__)
  251. extern void ChangePEFillColor(void);
  252. #endif 
  253. /* Calvin end */
  254. extern BOOL CheckPenMove(U8 movX, U8 movY);
  255. extern void SetPenMove(U8 movX, U8 movY);
  256. /* [~PMT  MANISH   20050302 */
  257. #ifdef __MMI_TOUCH_SCREEN__
  258. extern void mmi_register_image_editor_pen_handlers(void);
  259. extern void mmi_image_editor_pen_up_handler(mmi_pen_point_struct point);
  260. extern void mmi_image_editor_pen_down_handler(mmi_pen_point_struct point);
  261. extern void mmi_image_editor_pen_move_handler(mmi_pen_point_struct point);
  262. extern void mmi_image_editor_pen_abort_handler(mmi_pen_point_struct point);
  263. /* 051605 Calvin added */
  264. #if 0   /* should be defined(__MMI_MAINLCD_240X320__) */
  265. /* under construction !*/
  266. #endif /* 0 */ 
  267. /* Calvin end */
  268. extern pBOOL mmi_general_image_editor_pen_handler(
  269.                 mmi_pen_event_type_enum pen_event,
  270.                 S16 x,
  271.                 S16 y,
  272.                 mmi_image_editor_pen_enum *image_editor_event);
  273. extern pBOOL HandleImageEditorTitleEvent(U16 X, U16 Y);
  274. extern void SetPenPosition(U16 movX, U16 movY);
  275. extern void DrawPECursorAt(U16 x, U16 y);
  276. #endif /* __MMI_TOUCH_SCREEN__ */ /* __MMI_TOUCH_SCREEN_ */
  277. /* ~] */
  278. /* Picture Editor Handlers - File */
  279. extern U8 *ParseImageBuffer(U8 *imageBuffer, PE_File_Header *imageFileHeader, PE_Info_Header *imageInfoHeader);
  280. extern void SetImageBuffer(S8 *fileBuff, PE_File_Header *imageFileHeader, PE_Info_Header *imageInfoHeader);
  281. extern void PasteBoxInImageBuffer(U8 *destBuffer, U8 *srcBuffer);
  282. extern void DrawZoomImage(
  283.                 U8 *inBuffer,
  284.                 U32 nImage_X,
  285.                 U32 nImage_Y,
  286.                 U8 nZoom_Factor,
  287.                 U32 nScr_X,
  288.                 U32 nScr_Y,
  289.                 U32 nScr_Height,
  290.                 U32 nScr_Width);
  291. extern void PutPixtelInBuff(U16 x1, U16 y1, U16 x2, U16 y2, U8 *pBuff);
  292. extern void InitRedoUndoBuffers(void);
  293. extern void SavePEContext(void);
  294. extern void ExchangePEContext(void);
  295. extern void SaveDataBuffer(void);
  296. extern void SetPicEditEmptyImageDataBuff(void);
  297. extern BOOL SetPicEditImageDataBuff(U8 *fileName);
  298. extern void ResizePicEditImageDataBuff(void);
  299. extern void GetPaletteInfo(U8 *info_palette);
  300. extern void SetCurrentImageParams(void);
  301. extern U16 GetImageWidth(U16 xMin, U16 xMax);
  302. extern color GetPEColor(U32 selColor);
  303. extern void SyncPicEditFileSystem(S8 *DirPath, DYNAMICINFO *dynInfo);
  304. /**********************Extern Global Variables************************/
  305. extern U8 hintData[MAX_SUB_MENUS][MAX_SUB_MENU_HINT_SIZE];
  306. extern void UI_draw_dashed_rectangle(S32 x1, S32 y1, S32 x2, S32 y2, color c);
  307. #endif /* PICTUREEDITORPROTS_H */