⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmidc_storage_wintab.c

📁 手机Camera部分上层软件代码
💻 C
📖 第 1 页 / 共 5 页
字号:
/*****************************************************************************
** File Name:      mmidc_storage_wintab.c                                    *
** Author:                                                                   *
** Date:           2005-8	                                                 *
** Copyright:      2003 Spreadtrum, Incorporated. All Rights Reserved.         *
** Description:    This file is used to describe dc file storage  window table*
*****************************************************************************
**                         Important Edit History                            *
** --------------------------------------------------------------------------*
** DATE           NAME             DESCRIPTION                               *
** 08/2005       Bruce.Chi           Create									 *
*****************************************************************************/
#ifndef  _MMIDC_STORAGE_WINTAB_C_
#define _MMIDC_STORAGE_WINTAB_C_

/**--------------------------------------------------------------------------*
 **                         Include Files                                    *
 **--------------------------------------------------------------------------*/
#include "mmidc_internal.h"
#include "mmidisplay_data.h"
#include "mmi_id.h"
#include "window_parse.h"
#include "mmi_menutable.h"
#include "mmi_pubwin.h"
#include "mmi_common.h"
#include "guilistbox.h"
#include "guieditbox.h"
#include "guilabel.h"
#include "mmi_appmsg.h"
#include "mmi_pubwin.h"
#include "mmiphone.h"
#include "mmimms.h"
#include "mmiset.h"
#include "mainapp.h"
#include "mmi_default.h"
#include "mmi_textfun.h"
#include "tempX.h"
#include "mmimedium.h"
#ifdef MMI_BLUETOOTH
#include "mmi_btinterface.h"
#endif
/**--------------------------------------------------------------------------*
 **                         MACRO DEFINITION                                 *
 **--------------------------------------------------------------------------*/
#define MMIDC_MAX_DISPLAY_NAME_LEN  LISTBOX_STRING_MAX_NUM //@cr73752
 
#define	MMIDC_FILL_CLIENT()\
	{\
	GUI_RECT_T rect = MMI_CLIENT_RECT;\
	LCD_FillRect(0, rect, MMI_WINDOW_BACKGROUND_COLOR);\
	}

#define INPUT_RECT_LEFT     6
#define INPUT_RECT_RIGHT    (MMI_MAINSCREEN_RIGHT_MAX_PIXEL - INPUT_RECT_LEFT)
#define INPUT_RECT_BOTTOM   (MMI_MAINSCREEN_BOTTOM_MAX_PIXEL / 2)
#define INPUT_RECT_TOP      (INPUT_RECT_BOTTOM - 20)

#define KILO						1024
#define DETAIL_IND_LABEL_WIDTH      50
#define DETAIL_LABEL_HEIGHT         17
#define DETAIL_LABEL_NUM            DETAIL_LABEL_MAX_NUM
#define DETAIL_RESOLUTION_WIDTH     80
#define MMIDC_PATH_NAME				"DC/"
/**--------------------------------------------------------------------------*
 **                         STATIC DEFINITION                                *
 **--------------------------------------------------------------------------*/
LOCAL MMIDC_ALBUM_OPEN_FROM s_album_open_status;

/*---------------------------------------------------------------------------*/
/*                          TYPE AND CONSTANT                                */
/*---------------------------------------------------------------------------*/
typedef struct
{
	uint32	photo_index;
	uint8*	photo_buf_ptr;
	uint32	photo_buf_len;
	BOOLEAN	is_photo_valid;
}PHOTO_OPT_WINDOW_INFO_T;

typedef enum
{
    DETAIL_LABEL_NAME,
    DETAIL_LABEL_SIZE,
    DETAIL_LABEL_DATE,
    DETAIL_LABEL_TIME,
    DETAIL_LABEL_RESOLUTION,
    DETAIL_LABEL_FORMAT,
    DETAIL_LABEL_LOCATION,

    DETAIL_LABEL_MAX_NUM
}MMIDC_DETAIL_LABEL_E;


/**--------------------------------------------------------------------------*
 **                         EXTERNAL DECLARE                                 *
 **--------------------------------------------------------------------------*/
 
 extern MMIDC_PHOTO_INFO_T	s_mmidc_photo_info;//所有照片的详情
/**--------------------------------------------------------------------------*
 **                         GLOBAL DEFINITION                                *
 **--------------------------------------------------------------------------*/


/*---------------------------------------------------------------------------*/
/*                          LOCAL FUNCTION DECLARE                           */
/*---------------------------------------------------------------------------*/
/*****************************************************************************/
// 	Description : change Listbox item the index is s_photo_index
//	Global resource dependence : 
//  Author:bruce.chi
//	Note: make sure input string is UCS2
/*****************************************************************************/
LOCAL BOOLEAN ChangeListboxItem(
						uint32	photo_index,
                        uint8	*str,
                        uint16	str_len,
                        FILE_DEV_E_T device
                        );

/*****************************************************************************/
// 	Description : to handle the waiting window for file writing
//	Global resource dependence : 
//  Author:
//	Note: 
/*****************************************************************************/
LOCAL MMI_RESULT_E  HandleWritePhotoFileWaitWinMsg(
                                MMI_WIN_ID_T     win_id, 
                                MMI_MESSAGE_ID_E    msg_id, 
                                DPARAM              param
                                );

/*****************************************************************************/
// 	Description : to handle the message of album win      
//	Global resource dependence : 
//  Author: bruce.chi
//	Note: 
/*****************************************************************************/
LOCAL MMI_RESULT_E  HandleAlbumWinMsg(
                                MMI_WIN_ID_T win_id, 
                                MMI_MESSAGE_ID_E msg_id, 
                                DPARAM param
                                );

/*****************************************************************************/
// 	Description : to handle the message of rename filename win      
//	Global resource dependence : 
//  Author:bruce.chi
//	Note: 
/*****************************************************************************/
LOCAL MMI_RESULT_E  HandleInputPhotoNameWinMsg(
                                MMI_WIN_ID_T win_id, 
                                MMI_MESSAGE_ID_E msg_id, 
                                DPARAM param
                                );

/*****************************************************************************/
// 	Description : open waiting win to save jpg
//	Global resource dependence : 
//  Author:
//	Note: 
/*****************************************************************************/
LOCAL BOOLEAN OpenSaveingWin(MMI_WIN_ID_T win_id);

/*****************************************************************************/
// 	Description : alert save result
//	Global resource dependence : 
//  Author:
//	Note: 
/*****************************************************************************/
LOCAL void AlertSaveResult(MMIDC_FFS_WRITE_RESULT_E ffs_result);

/*****************************************************************************/
// 	Description : to handle the message of picture optioni win      
//	Global resource dependence : 
//  Author:bruce.chi
//	Note: 
/*****************************************************************************/
LOCAL MMI_RESULT_E  HandlePicOptionMenuWinMsg(
                                MMI_WIN_ID_T win_id, 
                                MMI_MESSAGE_ID_E msg_id, 
                                DPARAM param
                                );

/*****************************************************************************/
// 	Description : to handle the message of the waiting win that will not be disturbed by power key or flip key    
//	Global resource dependence : 
//  Author:bruce.chi
//	Note: 
/*****************************************************************************/
LOCAL MMI_RESULT_E HandleAlwaysWaitingAlertWinMsg(
                                    MMI_WIN_ID_T     win_id,
                                    MMI_MESSAGE_ID_E 	msg_id,
                                    DPARAM              param
                                    );

/*****************************************************************************/
// 	Description : to handle the message of the waiting win that will not be disturbed by power key or flip key    
//	Global resource dependence : 
//  Author:bruce.chi
//	Note: 
/*****************************************************************************/
LOCAL MMI_RESULT_E HandleAlwaysWaitingWinMsg(
                                    MMI_WIN_ID_T     win_id,
                                    MMI_MESSAGE_ID_E 	msg_id,
                                    DPARAM              param
                                    );

/*****************************************************************************/
// 	Description : to handle the message of show detail win      
//	Global resource dependence : 
//  Author:bruce.chi
//	Note: 
/*****************************************************************************/
LOCAL MMI_RESULT_E  HandleShowDetailWinMsg(
                                MMI_WIN_ID_T win_id, 
                                MMI_MESSAGE_ID_E msg_id, 
                                DPARAM param
                                );

/*****************************************************************************/
// 	Description : alert delete result
//	Global resource dependence : 
//  Author:
//	Note: 
/*****************************************************************************/
LOCAL void AlertDeleteResult(MMIDC_FFS_DEL_RESULT_E ffs_result);

/*****************************************************************************/
// 	Description : to handle the message of copy all files  win      
//	Global resource dependence : 
//  Author:bruce.chi
//	Note: 
/*****************************************************************************/
LOCAL MMI_RESULT_E  HandleCopyAllWinMsg(
                                MMI_WIN_ID_T		win_id, 
                                MMI_MESSAGE_ID_E	msg_id, 
                                DPARAM				param
                                );

/*****************************************************************************/
// 	Description : begin copy udisk to sd   
//	Global resource dependence : 
//  Author: bruce.chi
//	Note: 
/*****************************************************************************/
LOCAL void CopyDCToSD(void);

/*****************************************************************************/
// 	Description : begin copy sd to udisk
//	Global resource dependence : 
//  Author: bruce.chi
//	Note: 
/*****************************************************************************/
LOCAL void CopyDCToUdisk(void);



// the album window
WINDOW_TABLE( MMIDC_ALBUM_WIN_TAB ) = 
{
    CLEAR_LCD,
    WIN_PRIO( WIN_ONE_LEVEL ),
    WIN_FUNC( (uint32)HandleAlbumWinMsg ), 
    WIN_ID( MMIDC_ALBUM_WIN_ID ),
	CREATE_LISTBOX_CTRL(0, MMI_CLIENT_RECT_TOP, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_BOTTOM, LISTBOX_TEXTLIST_E, LISTBOX_TEXT1_E, MMIDC_ALBUM_LISTBOX_CTRL_ID),
    WIN_TITLE_ID(TXT_DC_ALBUM),
    END_WIN
};

//the window for input photo name
WINDOW_TABLE(MMIDC_INPUT_PHOTO_NAME_WIN_TAB) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL),
    WIN_FUNC((uint32)HandleInputPhotoNameWinMsg),    
    WIN_ID(MMIDC_INPUT_PHOTO_NAME_WIN_ID),
	CREATE_TEXTEDITBOX_CTRL(INPUT_RECT_LEFT, INPUT_RECT_TOP, INPUT_RECT_RIGHT, INPUT_RECT_BOTTOM, \
							MMIDC_MAX_DISPLAY_NAME_LEN, MMIDC_MAX_DISPLAY_NAME_LEN / 2, \
							IM_DEFAULT_ALL_INPUT_MODE_SET, \
							IM_PINYIN_MODE, \
							MMIDC_INPUT_PHOTO_NAME_EDITBOX_CTRL_ID\
							),
    WIN_TITLE_ID(TXT_DC_INPUTNAME),
    END_WIN
};



// the  photo option window
WINDOW_TABLE( MMIMDC_PHOTOOPTION_WIN_TAB ) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL ),
    WIN_FUNC((uint32)HandlePicOptionMenuWinMsg),    
    WIN_ID( MMIDC_PICOPTION_WIN_ID ),
    CREATE_MENU_CTRL(0, 0, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_MAINSCREEN_BOTTOM_MAX_PIXEL, MENU_DC_PHOTO_OPT, MMIDC_PICOPTION_MENU_ID),
    END_WIN
};

// the  album option window
WINDOW_TABLE( MMIMDC_ALBUMOPTION_WIN_TAB ) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL ),
    WIN_FUNC((uint32)HandlePicOptionMenuWinMsg),    
    WIN_ID( MMIDC_PICOPTION_WIN_ID ),
    CREATE_MENU_CTRL(0, 0, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_MAINSCREEN_BOTTOM_MAX_PIXEL, MENU_DC_ALBUM_OPT, MMIDC_PICOPTION_MENU_ID),
    END_WIN
};

//the window for show detail
WINDOW_TABLE(MMIDC_SHOWDETAILWIN_TAB) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL),
    WIN_FUNC((uint32)HandleShowDetailWinMsg),    
    WIN_ID(MMIDC_SHOW_DETAIL_WIN_ID),
//	CREATE_TEXTBOX_CTRL(0, MMI_CLIENT_RECT_TOP, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_BOTTOM, MAINLCD_ID, MMIDC_DETAIL_TEXTBOX_CTRL_ID),
    CREATE_LABEL_CTRL(0, MMI_CLIENT_RECT_TOP, DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_IND_LABEL1_CTRL_ID),
    CREATE_LABEL_CTRL(0, MMI_CLIENT_RECT_TOP + DETAIL_LABEL_HEIGHT, DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + 2* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_IND_LABEL2_CTRL_ID),
    CREATE_LABEL_CTRL(0, MMI_CLIENT_RECT_TOP + 2* DETAIL_LABEL_HEIGHT, DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + 3* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_IND_LABEL3_CTRL_ID),
    CREATE_LABEL_CTRL(0, MMI_CLIENT_RECT_TOP + 3* DETAIL_LABEL_HEIGHT, DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + 4* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_IND_LABEL4_CTRL_ID),
    CREATE_LABEL_CTRL(0, MMI_CLIENT_RECT_TOP + 4* DETAIL_LABEL_HEIGHT, DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + 5* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_IND_LABEL5_CTRL_ID),
    CREATE_LABEL_CTRL(0, MMI_CLIENT_RECT_TOP + 5* DETAIL_LABEL_HEIGHT, DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + 6* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_IND_LABEL6_CTRL_ID),
    CREATE_LABEL_CTRL(0, MMI_CLIENT_RECT_TOP + 6* DETAIL_LABEL_HEIGHT, DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + 7* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_IND_LABEL7_CTRL_ID),
    
    CREATE_LABEL_CTRL(DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_TOP + DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_TEXT_LABEL1_CTRL_ID),
    CREATE_LABEL_CTRL(DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + DETAIL_LABEL_HEIGHT, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_TOP + 2* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_TEXT_LABEL2_CTRL_ID),
    CREATE_LABEL_CTRL(DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + 2* DETAIL_LABEL_HEIGHT, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_TOP + 3* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_TEXT_LABEL3_CTRL_ID),
    CREATE_LABEL_CTRL(DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + 3* DETAIL_LABEL_HEIGHT, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_TOP + 4* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_TEXT_LABEL4_CTRL_ID),
    CREATE_LABEL_CTRL(DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + 4* DETAIL_LABEL_HEIGHT, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_TOP + 5* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_TEXT_LABEL5_CTRL_ID),
    CREATE_LABEL_CTRL(DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + 5* DETAIL_LABEL_HEIGHT, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_TOP + 6* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_TEXT_LABEL6_CTRL_ID),
    CREATE_LABEL_CTRL(DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + 6* DETAIL_LABEL_HEIGHT, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_TOP + 7* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_TEXT_LABEL7_CTRL_ID),
    
    WIN_TITLE_ID(TXT_DC_OPT_DETAIL),
    END_WIN
};


// copy all photo in udisk to sd , or sd to udisk
WINDOW_TABLE(MMIDC_COPY_ALL_WIN_TAB) = 
{
    CLEAR_LCD,
    WIN_PRIO(WIN_ONE_LEVEL),
    WIN_FUNC((uint32)HandleCopyAllWinMsg),    
    WIN_ID(MMIDC_COPY_ALL_WIN_ID),
    WIN_TITLE_ID(TXT_DC_COPY_ALL),
	CREATE_MENU_CTRL(0, 0, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_MAINSCREEN_BOTTOM_MAX_PIXEL, MENU_DC_COPY_ALL, MMIDC_COPY_ALL_CTRL_ID),
    END_WIN
};


/**--------------------------------------------------------------------------*
 **                         FUNCTION DEFINITION                              *
 **--------------------------------------------------------------------------*/
/*****************************************************************************/
// 	Description : to handle the message of album win      
//	Global resource dependence : 
//  Author:bruce.chi
//	Note: 
/*****************************************************************************/
LOCAL MMI_RESULT_E  HandleAlbumWinMsg(

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -