📄 myapp.c
字号:
//#include "MMI_include.h"
#include "MMI_features.h"
#define __NEWSIMULATOR
#include "stdC.h"
#include "L4Dr1.h"
#include "PixtelDataTypes.h"
#include "GlobalDefs.h"
#include "GlobalConstants.h" /* KEY ID define */
#include "Fat_fs.h" /* File System, must after "GlobalConstants.h" */
#include "GlobalDefs.h" /* Golbal Image and String ID. */
#include "gui.h" /* Gui functions */
#include "wgui_categories.h" /* Categories */
#include "HistoryGprot.h" /* Screen history */
#include "Unicodexdcl.h" /* Unicode transform functions */
#include "EventsGprot.h" /* Event handling */
#include "SettingDefs.h" /* popup sound */
#include "DebugInitDef.h" /* MMI_ASSERT */
#include "CommonScreens.h" /* Popup */
#include "SubLCDHistoryGprot.h" /* SubLCD */
#include "lcd_sw_rnd.h" /* lcd */
#include "lcd_if.h" /* lcd */
#include "gdi_include.h" /* graphic library */
#include "mdi_datatype.h" /* mdi datatype */
#include "mdi_audio.h" /* audio lib */
#include "kal_release.h" /* kal */
#include "Unicodexdcl.h" /* string manipulation */
#include "FileManagerGProt.h"
#include "MainMenuDef.h"
#include "Drm_def.h"
#include "Soc_api.h"
#include "MessagesResourceData.h"
#include "Conversions.h"
#include "APP2SOC_STRUCT.H"
#include "nvram_data_items.h"
#include "gui.h" /* Gui functions */
#include "SettingDefs.h" /* ST_NOTIFYDURATION define */
#include "SettingProfile.h" /* SUCCESS_TONE define */
#include "wgui.h" /* for GetDateTime() */
#include "CommonScreens.h" /* DisplayPopup() */
#include "MainMenuDef.h" /* Multimedia icon */
#include "nvram_data_items.h"
#include "Conversions.h" /* short file name conversion */
#include "PhoneSetupGprots.h" /* encoding type */
#include "FileManagerDef.h"
#include "FileManagerGProt.h" /* file path util function */
#include "FileMgr.h"
#include "lcd_sw_rnd.h"
#include "gdi_image_jpeg.h"
#include "USBDeviceGprot.h" /* USB MS mode */
#include "med_api.h" /* media task camera module */
#include "mdi_datatype.h"
#include "mdi_camera.h"
#include "PhotoEditor.h"
#include "PhotoEditorGProt.h"
//#include "PhoEdtResDef.h"
#include "PhotoArt.h"
#include "MMI_features_camera.h"
//#include "CameraResDef.h" /* for camrea error string */
#include "SimDetectionDef.h" /* for idle screen id */
//#ifdef __DRM_SUPPORT__
#include "Drm_gprot.h" /* DRM support */
//#endif /* __DRM_SUPPORT__ */
//#ifdef __PHOEDT_USE_APP_ASM__
//#endif /* __PHOEDT_USE_APP_ASM__ */
//#ifdef __PHOEDT_FEATURE_PHOART__
#include "AudioPlayerDef.h"
#include "PhoEdtStrEnum.h"
#include "PhoEdtImgEnum.h"
#include "PhoEdtScrEnum.h"
#include "PuzzleDefs.h"
#include "GameDefs.h"
#include "MMIDataType.h"
#include "Ucs2dcl.h"
#include "Ucs2prot.h"
#include "Unicodexdcl.h"
#include "string.h"
#include "DebugInitDef.h"
#include "app_str.h"
#include "Unicodedcl.h"
#include "gdi_include.h"
#include "GameDefs.h"
#include "CameraResDefs.h"
/*****************************************************************************
* Define
*****************************************************************************/
#define PHOART_MAIN_CANVAS_COLOR (GDI_COLOR_BLACK)
#define PHOART_MAIN_FRAME_COLOR (GDI_COLOR_WHITE)
#if defined(__MMI_MAINLCD_240X320__) || defined(__MMI_MAINLCD_320X240__)
#define PHOART_MAIN_ARROW_FROM_CENTER (70)
#else
#define PHOART_MAIN_ARROW_FROM_CENTER (50)
#endif
#define PHOART_CLIP_CANVAS_COLOR (GDI_COLOR_WHITE)
#define PHOART_CLIP_FRAME_INSIDE_COLOR (GDI_COLOR_WHITE)
#define PHOART_CLIP_FRAME_OUTSIDE_COLOR (GDI_COLOR_BLACK)
#define PHOART_CLIP_SCREEN_SPACING (5)
#define PHOART_CLIP_RECT_START_RATIO (80)
#define PHOART_CLIP_RECT_MIN_RATIO (30)
#define PHOART_ICON_BBOX_SHIFT (2)
#define PHOART_ICON_BBOX_LINE_WIDTH (3)
#define PHOART_TEXT_BBOX_SHIFT (4)
#define PHOART_TEXT_BBOX_LINE_WIDTH (3)
#define PHOART_HINT_SPACING (5)
#define PHOART_TEXT_COLOR_COUNT (23)
#define DUMMY_COMMAND (0)
#define ICON_LAYER_X1 (g_phoart_cntx.icon_offset_x-PHOART_ICON_BBOX_SHIFT)
#define ICON_LAYER_X2 (g_phoart_cntx.icon_offset_x+g_phoart_cntx.icon_width+PHOART_ICON_BBOX_SHIFT-1)
#define ICON_LAYER_Y1 (g_phoart_cntx.icon_offset_y-PHOART_ICON_BBOX_SHIFT)
#define ICON_LAYER_Y2 (g_phoart_cntx.icon_offset_y+g_phoart_cntx.icon_height+PHOART_ICON_BBOX_SHIFT-1)
#define ICON_LAYER_WIDTH (g_phoart_cntx.icon_width+PHOART_ICON_BBOX_SHIFT*2)
#define ICON_LAYER_HEIGHT (g_phoart_cntx.icon_height+PHOART_ICON_BBOX_SHIFT*2)
#define TEXT_LAYER_X1 (g_phoart_cntx.text_offset_x-PHOART_TEXT_BBOX_SHIFT)
#define TEXT_LAYER_X2 (g_phoart_cntx.text_offset_x+g_phoart_cntx.text_width+PHOART_TEXT_BBOX_SHIFT-1)
#define TEXT_LAYER_Y1 (g_phoart_cntx.text_offset_y-PHOART_TEXT_BBOX_SHIFT)
#define TEXT_LAYER_Y2 (g_phoart_cntx.text_offset_y+g_phoart_cntx.text_height+PHOART_TEXT_BBOX_SHIFT-1)
#define TEXT_LAYER_WIDTH (g_phoart_cntx.text_width+PHOART_TEXT_BBOX_SHIFT*2)
#define TEXT_LAYER_HEIGHT (g_phoart_cntx.text_height+PHOART_TEXT_BBOX_SHIFT*2)
#if ((LCD_WIDTH == 176) && (LCD_HEIGHT == 220))
#define PHOART_SAVE_PREDICT_SIZE (30*1024) /* 30k */
#elif ((LCD_WIDTH == 240) && (LCD_HEIGHT == 320)) || ((LCD_HEIGHT == 240) && (LCD_WIDTH == 320))
#define PHOART_SAVE_PREDICT_SIZE (50*1024) /* 50k */
#else
#define PHOART_SAVE_PREDICT_SIZE (20*1024) /* 20k */
#endif
typedef enum
{
PHOART_BORDER_NONE,
PHOART_BORDER_CORNER,
PHOART_BORDER_ALL
} phoart_draw_border_enum;
/*****************************************************************************
* Global Variable
*****************************************************************************/
extern wgui_inline_item wgui_inline_items[];
extern phoedt_cntx_struct g_phoedt_cntx;
extern BOOL r2lMMIFlag;
S8 input_word[20];
S8 g_image_space[1024*100];
gdi_image_cache_bmp_struct g_bmp_ptr;
S8 g_image_store[1024*100];
gdi_image_cache_bmp_struct g_store_image_ptr;
S8 g_whole_image[1024*100];
gdi_image_cache_bmp_struct g_whole_image_ptr;
S8 g_file_path[30];
S32 g_touch_count;
S32 g_x1, g_y1, g_x2, g_y2;
S32 image_clip_move_x;
S32 image_clip_move_y;
/*****************************************************************************
* Global Function
*****************************************************************************/
extern void draw_resizeable_arrow(S32 x, S32 y, U8 arrow_type, color c, S32 width, S32 height);
extern void UI_draw_horizontal_line(S32 x1, S32 x2, S32 y, color c);
extern void UI_putpixel(S32 x, S32 y, color c);
extern void UI_draw_vertical_line(S32 y1, S32 y2, S32 x, color c);
extern void DisplayIdleScreen(void);
/*****************************************************************************
* Local Vairable
*****************************************************************************/
static phoart_cntx_struct g_phoart_cntx;
static phoedt_nvram_data_struct *g_phoart_setting = &g_phoedt_cntx.setting_data;
#ifdef __MMI_TOUCH_SCREEN__
static phoart_touch_screen_context_struct g_phoart_touch_screen_cntx;
#endif
#if !defined(__MMI_ALPHA_LAYER_SUPPORT__)
const color phoart_text_color_list2[PHOART_TEXT_COLOR_COUNT] =
{
{0, 0, 255}, /* pure blue will treat as none */
{61, 102, 206},
{115, 241, 252},
{145, 61, 206},
{203, 161, 205},
{255, 53, 240},
{244, 154, 193},
{254, 132, 0},
{255, 240, 0},
{254, 0, 24},
{249, 173, 129},
{89, 189, 69},
{201, 231, 197},
{0, 114, 54},
{196, 223, 155},
{96, 57, 19},
{200, 159, 113},
{27, 20, 100},
{255, 255, 255},
{200, 200, 200},
{150, 150, 150},
{100, 100, 100},
{0, 0, 0}
};
#else /* !defined(__MMI_ALPHA_LAYER_SUPPORT__) */
const color phoart_text_color_list2[PHOART_TEXT_COLOR_COUNT] =
{
{0, 0, 255, 255}, /* pure blue will treat as none */
{61, 102, 206, 255},
{115, 241, 252, 255},
{145, 61, 206, 255},
{203, 161, 205, 255},
{255, 53, 240, 255},
{244, 154, 193, 255},
{254, 132, 0, 255},
{255, 240, 0, 255},
{254, 0, 24, 255},
{249, 173, 129, 255},
{89, 189, 69, 255},
{201, 231, 197, 255},
{0, 114, 54, 255},
{196, 223, 155, 255},
{96, 57, 19, 255},
{200, 159, 113, 255},
{27, 20, 100, 255},
{255, 255, 255, 255},
{200, 200, 200, 255},
{150, 150, 150, 255},
{100, 100, 100, 255},
{0, 0, 0, 255}
};
#endif /* !defined(__MMI_ALPHA_LAYER_SUPPORT__) */
void MySelectionList(void);
void AddWords(void);
void MyPhotoClip(void);
void MySecondPoint(mmi_pen_point_struct point);
void MyClipArea(mmi_pen_point_struct point);
/*****************************************************************************
* Local Variable
*****************************************************************************/
static void mmi_phoart_draw_image_border2(void);
static BOOL mmi_phoart_write_cache_image2(PU8 buf_ptr);
static BOOL mmi_phoart_load_cache_image2(PU8 buf_ptr);
static void mmi_phoart_draw_image_border2(void);
/* main screen */
static void my_phoart_entry_main_screen(void);
static void mmi_phoart_entry_main_screen2(void);
static void mmi_phoart_exit_main_screen2(void);
static U8 mmi_phoart_del_screen_id_hdlr2(void *);
static void mmi_phoart_exit_main_confirm2(void);
static void mmi_phoart_exit_main_confirm_yes2(void);
static void mmi_phoart_main_draw_osd2(void);
/* file selection screen */
static void mmi_phoart_entry_app_screen2(void);
void mmi_phoart_fmgr_select_result_callback2(void *in_ptr, int is_short);
/* option screen */
static void mmi_phoart_entry_option_screen2(void);
/* clip option screen */
static void mmi_phoart_entry_clip_option_screen2(void);
static void mmi_phoart_back_from_clip_option_screen2(void);
static void mmi_phoart_hilight_auto_resize2(void);
static void mmi_phoart_hilight_mainlcd_clip2(void);
#ifdef __MMI_SUBLCD__
static void mmi_phoart_hilight_sublcd_clip2(void);
#endif
/* add icon */
static void mmi_phoart_entry_icon_select_screen2(void);
static void mmi_phoart_hilight_add_icon2(void);
static void mmi_phoart_icon_select_hide_image_callback2(S32 idx);
static void mmi_phoart_icon_select_draw_image_callback2(
S32 idx,
S32 page_start_idx,
S32 page_end_idx,
BOOL is_hilighted,
BOOL is_need_update,
BOOL is_new_page,
S32 x1,
S32 y1,
S32 x2,
S32 y2);
static void mmi_phoart_icon_select_highlight_hdlr2(S32 idx);
static void my_phoart_entry_icon_edit_screen(void);
static void mmi_phoart_entry_icon_edit_screen2(void);
static void mmi_phoart_exit_icon_edit_screen2(void);
static U8 mmi_phoart_icon_del_screen_id_hdlr2(void *ptr);
static void mmi_phoart_icon_edit_draw_icon2(U16 border_style);
static void mmi_phoart_icon_edit_move_down_press2(void);
static void mmi_phoart_icon_edit_move_up_press2(void);
static void mmi_phoart_icon_edit_move_left_press2(void);
static void mmi_phoart_icon_edit_move_right_press2(void);
static void mmi_phoart_icon_edit_move_down_release2(void);
static void mmi_phoart_icon_edit_move_up_release2(void);
static void mmi_phoart_icon_edit_move_left_release2(void);
static void mmi_phoart_icon_edit_move_right_release2(void);
static void mmi_phoart_icon_edit_move_icon_cyclic2(void);
static void mmi_phoart_icon_edit_stamp2(void);
static void mmi_phoart_icon_edit_stamp_release2(void);
static void mmi_phoart_icon_edit_stamp_when_done2(void);
static void mmi_phoart_icon_edit_draw_osd2(void);
/* add frame */
static void mmi_phoart_entry_frame_select_screen2(void);
static void mmi_phoart_hilight_add_frame2(void);
static void mmi_phoart_frame_select_highlight_hdlr2(S32 idx);
static void mmi_phoart_entry_frame_edit_screen2(void);
static void my_phoart_entry_frame_edit_screen(void);
static void mmi_phoart_exit_frame_edit_screen2(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -