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

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.  *  PictureEditorDefs.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.  * removed!
  71.  * removed!
  72.  * removed!
  73.  *
  74.  * removed!
  75.  * removed!
  76.  * removed!
  77.  *
  78.  * removed!
  79.  * removed!
  80.  * removed!
  81.  *
  82.  * removed!
  83.  * removed!
  84.  * removed!
  85.  *
  86.  * removed!
  87.  * removed!
  88.  * removed!
  89.  *
  90.  *------------------------------------------------------------------------------
  91.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
  92.  *==============================================================================
  93.  *******************************************************************************/
  94.    /**
  95.  * Copyright Notice
  96.  * ?2002 - 2003, Pixtel Communications, Inc., 1489 43rd Ave. W.,
  97.  * Vancouver, B.C. V6M 4K8 Canada. All Rights Reserved.
  98.  *  (It is illegal to remove this copyright notice from this software or any
  99.  *  portion of it)
  100.  */
  101. /**************************************************************
  102.    FILENAME : PictureEditorDefs.h
  103.    PURPOSE     : Resource IDs for the Picture Editor Application
  104.    REMARKS     : nil
  105.    AUTHOR      : Yogesh
  106.    DATE     : Jan-13-2004
  107. **************************************************************/
  108. #ifndef PICTUREEDITORDEFS_H
  109. #define PICTUREEDITORDEFS_H
  110. #include "PixtelDataTypes.h"
  111. #include "wgui_categories.h"
  112. /**********************Defines************************/
  113. /* 100405 image editor Calvin modified */
  114. #if defined (__MMI_MAINLCD_240X320__)
  115. #if defined (__MMI_TOUCH_SCREEN__)
  116. #define PIC_EDITOR_TITLE_Y    18
  117. #define PIC_EDITOR_TITLE_HEIGHT    45
  118. #else /* defined (__MMI_TOUCH_SCREEN__) */ 
  119. #define PIC_EDITOR_TITLE_Y    18        /* 011906 image editor Calvin */
  120. #define PIC_EDITOR_TITLE_HEIGHT    45
  121. #endif /* defined (__MMI_TOUCH_SCREEN__) */ 
  122. #elif defined ( __MMI_MAINLCD_176X220__)
  123. #define PIC_EDITOR_TITLE_Y    0
  124. #define PIC_EDITOR_TITLE_HEIGHT    44
  125. #else 
  126. #define PIC_EDITOR_TITLE_Y    0
  127. #define PIC_EDITOR_TITLE_HEIGHT    18
  128. #endif 
  129. /* Calvin end */
  130. #define MAX_PERMANENT_COLOR 15
  131. #define MAX_CUSTOM_COLOR 1
  132. #define MAX_TYPE_PEN_COLOR   (MAX_PERMANENT_COLOR+MAX_CUSTOM_COLOR)
  133. #define MAX_TYPE_PEN_PIXEL   4
  134. #define MAX_TYPE_PEN_MOVE    4
  135. #define MAX_TYPE_SCR_TYPE 4
  136. #define MAX_RESIZE_INLINE_EDIT  6
  137. #define PE_NOTIFYDURATION  UI_POPUP_NOTIFYDURATION_TIME
  138. #define PE_BLINKING_DURATION 500
  139. #define PIC_EDIT_PEN_PIXEL_1   0x01
  140. #define PIC_EDIT_PEN_PIXEL_2   0x02
  141. #define PIC_EDIT_PEN_PIXEL_3   0x04
  142. #define PIC_EDIT_PEN_PIXEL_4   0x08
  143. #define PIC_EDIT_PEN_MOVE_1   0x01
  144. #ifndef __MMI_TOUCH_SCREEN__    /* PMT MANISH   20050616 For Touch Screen Pen Move is always 1 */
  145. #define PIC_EDIT_PEN_MOVE_2   0x02
  146. #define PIC_EDIT_PEN_MOVE_3   0x04
  147. #define PIC_EDIT_PEN_MOVE_4   0x08
  148. #endif /* __MMI_TOUCH_SCREEN__ */ 
  149. #define PE_IMAGE_WIDTH_EXTRA   (0)      /* (6) */
  150. #define PE_IMAGE_HEIGHT_EXTRA  (0)      /* (-1) */
  151. #define SET_WINDOW_MINX(width) ((U16)((UI_device_width-width)>>1))      /* +PE_IMAGE_WIDTH_EXTRA) //width is width of window */
  152. #define SET_WINDOW_MINY(height) ((U16)((UI_device_height-height)>>1))   /* +PE_IMAGE_HEIGHT_EXTRA) //height is height of window */
  153. /* 051605 Calvin modified */
  154. #if defined (__MMI_MAINLCD_240X320__)
  155. #define  PE_SCR_SIZE_MIN 32
  156. #define  PE_SCR_SIZE_1  32
  157. #define  PE_SCR_SIZE_2  64
  158. #define  PE_SCR_SIZE_MAX 128    /* 090505 Calvin modified */
  159. #else /* defined (__MMI_MAINLCD_240X320__) */ 
  160. #define  PE_SCR_SIZE_MIN 16
  161. #define  PE_SCR_SIZE_1  16
  162. #define  PE_SCR_SIZE_2  32
  163. #define  PE_SCR_SIZE_MAX 64
  164. #endif /* defined (__MMI_MAINLCD_240X320__) */ 
  165. /* 092005 Image Editor Size Calvin */
  166. #ifdef __MMI_MAINLCD_240X320__
  167. #define PE_RESIZE_BUF_SIZE 4
  168. #else 
  169. #define PE_RESIZE_BUF_SIZE 3
  170. #endif 
  171. /* 092005 Image Editor Size Calvin */
  172. #define PE_IMAGE_CHANGED    0x0001
  173. #define PE_PEN_DOWN         0x0002
  174. #define PE_VIEW_IMAGE       0x0004
  175. #define PE_ADD_IMAGE        0x0008
  176. #define PE_ZOOM_IMAGE       0x0010
  177. #define PE_IMAGE_EDIT       0x0020
  178. #define PE_UNDO_IMAGE       0x0040
  179. #define PE_MARK_IMAGE       0x0080
  180. #define PE_COPY_IMAGE       0x0100
  181. #define PE_CURSOR_TIMER     0x0200
  182. #define SET_PE_IMAGE_CHANGED(x)  (x |= PE_IMAGE_CHANGED)
  183. #define UNSET_PE_IMAGE_CHANGED(x)  (x &= (~PE_IMAGE_CHANGED))
  184. #define IS_PE_IMAGE_CHANGED(x)  (x & PE_IMAGE_CHANGED)
  185. #define SET_PE_PEN_DOWN(x)  (x |= PE_PEN_DOWN)
  186. #define UNSET_PE_PEN_DOWN(x)  (x &= (~PE_PEN_DOWN))
  187. #define TOGGLE_PE_PEN_DOWN(x)  (x ^= PE_PEN_DOWN)
  188. #define IS_PE_PEN_DOWN(x)  (x & PE_PEN_DOWN)
  189. #define SET_PE_VIEW_IMAGE(x)  (x |= PE_VIEW_IMAGE)
  190. #define UNSET_PE_VIEW_IMAGE(x)  (x &= (~PE_VIEW_IMAGE))
  191. #define IS_PE_VIEW_IMAGE(x)  (x & PE_VIEW_IMAGE)
  192. #define SET_PE_ADD_IMAGE(x)  (x |= PE_ADD_IMAGE)
  193. #define UNSET_PE_ADD_IMAGE(x)  (x &= (~PE_ADD_IMAGE))
  194. #define IS_PE_ADD_IMAGE(x)  (x & PE_ADD_IMAGE)
  195. #define SET_PE_ZOOM_IMAGE(x)  (x |= PE_ZOOM_IMAGE)
  196. #define UNSET_PE_ZOOM_IMAGE(x)  (x &= (~PE_ZOOM_IMAGE))
  197. #define IS_PE_ZOOM_IMAGE(x)  (x & PE_ZOOM_IMAGE)
  198. #define SET_PE_IMAGE_EDIT(x)  (x = ((x&(~PE_UNDO_IMAGE))|PE_IMAGE_EDIT|PE_IMAGE_CHANGED))
  199. #define UNSET_PE_IMAGE_EDIT(x)  (x &= (~(PE_IMAGE_EDIT|PE_UNDO_IMAGE)))
  200. #define IS_PE_IMAGE_EDIT(x)  (x & PE_IMAGE_EDIT)
  201. #define SET_PE_UNDO_IMAGE(x)  (x |= PE_UNDO_IMAGE)
  202. #define UNSET_PE_UNDO_IMAGE(x)  (x &= (~PE_UNDO_IMAGE))
  203. #define TOGGLE_PE_UNDO_IMAGE(x)  (x ^= PE_UNDO_IMAGE)
  204. #define IS_PE_UNDO_IMAGE(x)  (x & PE_UNDO_IMAGE)
  205. #define SET_PE_MARK_IMAGE(x)  (x |= PE_MARK_IMAGE)
  206. #define UNSET_PE_MARK_IMAGE(x)  (x &= (~PE_MARK_IMAGE))
  207. #define IS_PE_MARK_IMAGE(x)  (x & PE_MARK_IMAGE)
  208. #define SET_PE_COPY_IMAGE(x)  (x |= PE_COPY_IMAGE)
  209. #define UNSET_PE_COPY_IMAGE(x)  (x &= (~PE_COPY_IMAGE))
  210. #define IS_PE_COPY_IMAGE(x)  (x & PE_COPY_IMAGE)
  211. #define SET_PE_CURSOR_TIMER(x)  (x |= PE_CURSOR_TIMER)
  212. #define UNSET_PE_CURSOR_TIMER(x)  (x &= (~PE_CURSOR_TIMER))
  213. #define IS_PE_CURSOR_TIMER(x)  (x & PE_CURSOR_TIMER)
  214. #define TOGGLE_PE_CURSOR_TIMER(x)  (x ^= PE_CURSOR_TIMER)
  215. #define  PIC_EDIT_FILE_HEADER_SIZE     (54+(MAX_TYPE_PEN_COLOR*4))
  216. #define  PIC_EDIT_FILE_MAX_DATA_SIZE ((PE_SCR_SIZE_MAX*PE_SCR_SIZE_MAX)>>1)
  217. #define  PIC_EDIT_FILE_BUFF (PIC_EDIT_FILE_HEADER_SIZE+PIC_EDIT_FILE_MAX_DATA_SIZE)
  218. /**********************TypeDefs************************/
  219. typedef enum
  220. {
  221.     SCR_PE_SELECT_PIC_MENU = PICTURE_EDITOR_BASE + 1,
  222.     SCR_PE_VIEW_PIC,
  223.     SCR_PE_VIEW_OPTION,
  224.     SCR_PE_EDIT_PIC,
  225.     SCR_PE_EDIT_PIC_OPT,
  226.     SCR_PE_EDIT_SAVE_AS,
  227.     SCR_PE_EDIT_SAVE_AS_CONFIRM,
  228.     SCR_PE_PEN_SETTING,
  229.     SCR_PE_PEN_SETTING_SAVE,
  230.     SCR_PE_FILL_PIC,
  231.     SCR_PE_FILL_PIC_SAVE,
  232.     SCR_PE_CUSTOM_COLOR,
  233.     SCR_PE_SCR_RESIZE,
  234.     SCR_PE_HELP,
  235.     SCR_PE_SAVE_IMAGE_CONFIRM,
  236.     SCR_PE_CLEAR_IMAGE_CONFIRM,
  237.     SCR_PE_DELETE_CONFIRM,
  238.     SCR_PE_DELETE_ALL_CONFIRM
  239. } PICTURE_EDITOR_SCREEN_ID;
  240. typedef enum
  241. {
  242.     STR_MENU_PICTURE_EDITOR = PICTURE_EDITOR_BASE + 1,
  243.     STR_PE_DRAW_PICTURE,
  244.     /* STR_PE_EMPTY, */
  245.     STR_PE_TITLE_COLOR_TXT,
  246.     STR_PE_TITLE_PIXEL_TXT,
  247.     //      STR_PE_VIEW_OPT,
  248.     //    STR_PE_ADD_OPT,
  249.     //      STR_PE_VIEW_OPT_EDIT,
  250.     //      STR_PE_VIEW_OPT_DELETE,
  251.     //      STR_PE_VIEW_OPT_DELETEALL,
  252.     //      STR_PE_EDIT_OPT,
  253.     //      STR_PE_EDIT_OPT_SAVE_PIC,
  254.     STR_PE_EDIT_OPT_SAVE_PIC_AS,
  255.     STR_PE_EDIT_OPT_REPLACE,
  256.     STR_PE_EDIT_OPT_PEN_SETTING,
  257.     STR_PE_EDIT_OPT_FILL_PIC,
  258.     STR_PE_EDIT_OPT_MARK,
  259.     STR_PE_EDIT_OPT_CUT,
  260.     STR_PE_EDIT_OPT_COPY,
  261.     STR_PE_EDIT_OPT_PASTE,
  262.     STR_PE_EDIT_OPT_UNDO,
  263.     STR_PE_EDIT_OPT_REDO,
  264.     STR_PE_EDIT_OPT_ZOOM,
  265.     STR_PE_EDIT_OPT_FULL_SIZE,
  266.     STR_PE_EDIT_OPT_RESIZE,
  267.     STR_PE_EDIT_OPT_HELP,
  268.     STR_PE_PEN_SIZE,
  269.     STR_PE_PEN_MOVE_FACTOR,
  270.     STR_PE_PEN_COLOR,
  271.     STR_PE_PEN_SIZE_1,
  272.     STR_PE_PEN_SIZE_2,
  273.     STR_PE_PEN_SIZE_3,
  274.     STR_PE_PEN_SIZE_4,
  275. #ifndef __MMI_TOUCH_SCREEN__    /* PMT MANISH   20050616 */
  276.     STR_PE_PEN_MOVE_1,
  277.     STR_PE_PEN_MOVE_2,
  278.     STR_PE_PEN_MOVE_3,
  279.     STR_PE_PEN_MOVE_4,
  280. #endif /* __MMI_TOUCH_SCREEN__ */ 
  281.     STR_PE_COLOR_NONE,
  282.     STR_PE_COLOR_BLACK,
  283.     STR_PE_COLOR_BROWN,
  284.     STR_PE_COLOR_DARK_GREEN,
  285.     STR_PE_COLOR_DARK_BLUE,
  286.     STR_PE_COLOR_VOILET,
  287.     STR_PE_COLOR_GRAY,
  288.     STR_PE_COLOR_LIGHT_GRAY,
  289.     STR_PE_COLOR_RED,
  290.     STR_PE_COLOR_GREEN,
  291.     STR_PE_COLOR_YELLOW,
  292.     STR_PE_COLOR_BLUE,
  293.     STR_PE_COLOR_PINK,
  294.     STR_PE_COLOR_LIGHT_BLUE,
  295.     STR_PE_COLOR_WHITE,
  296.     STR_PE_COLOR_CUSTOM_1,
  297.     /* STR_PE_SAVE, */
  298.     STR_PE_RESIZE_TO,
  299.     STR_PE_RESIZE_16,
  300.     STR_PE_RESIZE_32,
  301.     STR_PE_RESIZE_64,
  302. #ifdef __MMI_MAINLCD_240X320__
  303.     STR_PE_RESIZE_128,  /* 110805 resize region Calvin add */
  304. #endif 
  305.     STR_PE_RESIZE_CUSTOM,
  306.     STR_PE_RESIZE_WIDTH,
  307.     STR_PE_RESIZE_HEIGHT,
  308. #ifdef __MMI_MAINLCD_240X320__  /* 092005 Image Editor Size Calvin */
  309.     STR_PE_RESIZE_ERROR_BIG,
  310. #else 
  311.     STR_PE_RESIZE_ERROR,
  312. #endif 
  313.     STR_PE_COLOR_SEL,
  314. #ifdef __MMI_TOUCH_SCREEN__
  315.     STR_PE_HELP_DESCRIPTION_TOUCH,
  316. #else 
  317.     STR_PE_HELP_DESCRIPTION,
  318. #endif 
  319.     STR_PE_INVALID_FORMAT
  320. } PIC_EDITOR_STR_IDS;
  321. typedef enum
  322. {
  323.     IMG_PE_CAPTION = PICTURE_EDITOR_BASE + 1,
  324.     IMG_PE_IMAGE_EDITOR,
  325.     IMG_PE_BACKGROUND,
  326.     IMG_PE_IM_ARROW,
  327.     IMG_PE_IM_PEN
  328. } PIC_EDITOR_IMG_IDS;
  329. typedef enum
  330. {
  331.     PE_COLOR_NONE = 0,
  332.     PE_COLOR_BLACK,
  333.     PE_COLOR_BROWN,
  334.     PE_COLOR_DARK_GREEN,
  335.     PE_COLOR_DARK_BLUE,
  336.     PE_COLOR_VOILET,
  337.     PE_COLOR_GRAY,
  338.     PE_COLOR_LIGHT_GRAY,
  339.     PE_COLOR_RED,
  340.     PE_COLOR_GREEN,
  341.     PE_COLOR_YELLOW,
  342.     PE_COLOR_BLUE,
  343.     PE_COLOR_PINK,
  344.     PE_COLOR_LIGHT_BLUE,
  345.     PE_COLOR_WHITE,
  346.     PE_COLOR_CUSTOM_1
  347. } PE_COLOR_IDS;
  348. typedef enum
  349. {
  350.     PE_SCR_1 = 0,
  351.     PE_SCR_2,
  352.     PE_SCR_3,
  353.     PE_SCR_4
  354. } PIC_EDIT_SCR_SIZE;
  355. typedef enum
  356. {
  357.     CUR_NO_MOVE,
  358.     CUR_INCREMENT,
  359.     CUR_DECREMENT
  360. } PIC_EDIT_CUR_MOVMENT;
  361. typedef enum
  362. {
  363.     SEL_PE_EDIT_OPT_SAVE_PIC = 0,
  364.     SEL_PE_EDIT_OPT_SAVE_PIC_AS,
  365.     SEL_PE_EDIT_OPT_PEN_SETTING,
  366.     SEL_PE_EDIT_OPT_FILL_PIC,
  367.     SEL_PE_EDIT_OPT_MARK,
  368.     SEL_PE_EDIT_OPT_CUT,
  369.     SEL_PE_EDIT_OPT_COPY,
  370.     SEL_PE_EDIT_OPT_PASTE,
  371.     SEL_PE_EDIT_OPT_UNDO,
  372.     SEL_PE_EDIT_OPT_REDO,
  373.     SEL_PE_EDIT_OPT_ZOOM,
  374.     SEL_PE_EDIT_OPT_FULL_SIZE,
  375.     SEL_PE_EDIT_OPT_RESIZE,
  376.     SEL_PE_EDIT_OPT_HELP,
  377.     SEL_PE_VIEW_OPT_EDIT,
  378.     SEL_PE_VIEW_OPT_DELETE,
  379.     SEL_PE_VIEW_OPT_DELETEALL
  380. } PIC_EDIT_ACTIONS;
  381. typedef struct _picEditCursor
  382. {
  383.     U16 penX;
  384.     U16 penY;
  385.     U16 minX;
  386.     U16 minY;
  387.     U16 maxX;
  388.     U16 maxY;
  389.     U8 penColorIndex;
  390.     U8 penPixel;
  391.     U8 penMove;
  392.     U8 penBackgrdColorIndex;
  393. #ifdef __MMI_TOUCH_SCREEN__
  394.     pBOOL penContextSaved;  /* PMT MANISH   20050329 */
  395. #endif 
  396. } PictureEditorPen;
  397. typedef struct _picEditWindow
  398. {
  399.     U16 minX;
  400.     U16 minY;
  401.     U16 maxX;
  402.     U16 maxY;
  403. } PicEditMarkBox;
  404. /* [~PMT  MANISH   20050616 */
  405. typedef enum
  406. {
  407.     PE_PEN_SIZE_CAPTION = 0,
  408.     PE_PEN_SIZE_SELECT,
  409. #ifndef __MMI_TOUCH_SCREEN__
  410.     PE_PEN_MOVE_CAPTION,
  411.     PE_PEN_MOVE_SELECT,
  412. #endif /* __MMI_TOUCH_SCREEN__ */ 
  413.     PE_PEN_COLOR_CAPTION,
  414.     PE_PEN_COLOR_SELECT
  415. } PIC_EDIT_PEN_SETTINGS;
  416. /* ~] */
  417. typedef struct _bitmap_file_header
  418. {
  419.     char file_type1;
  420.     char file_type2;
  421.     U32 file_size;
  422.     U16 reserved1;
  423.     U16 reserved2;
  424.     U32 bitmap_offset;
  425. } PE_File_Header;
  426. typedef struct _bitmap_info_header
  427. {
  428.     U32 header_size;
  429.     U32 width;
  430.     U32 height;
  431.     U16 number_of_planes;
  432.     U16 bits_per_pixel;
  433.     U32 compression;
  434.     U32 bitmap_size;
  435.     U32 device_width;
  436.     U32 device_height;
  437.     U32 number_of_colors;
  438.     U32 number_of_important_colors;
  439. } PE_Info_Header;
  440. typedef struct _pe_osd_object_struct
  441. {
  442.     U16 pos_x;
  443.     U16 pos_y;
  444.     U16 width;
  445.     U16 height;
  446. } PE_OSD_OBJECT;
  447. typedef struct _pe_osd_struct
  448. {
  449.     PE_OSD_OBJECT color_picker;
  450.     PE_OSD_OBJECT pen_size;
  451.     PE_OSD_OBJECT zoom;
  452.     PE_OSD_OBJECT draw_status;
  453. #if defined (__MMI_MAINLCD_240X320__)
  454.     PE_OSD_OBJECT undo;
  455.     PE_OSD_OBJECT fill_color;
  456. #endif /* defined (__MMI_MAINLCD_240X320__) */ 
  457. } PE_OSD_STRUCT;
  458. #endif /* PICTUREEDITORDEFS_H */