📄 mmiicons.c
字号:
/*******************************************************************************
CONDAT (UK)
********************************************************************************
This software product is the property of Condat (UK) Ltd and may not be
disclosed to any third party without the express permission of the owner.
********************************************************************************
$Project name: Basic MMI
$Project code: BMI (6349)
$Module: Icons
$File: MmiIcons.h
$Revision: 1.0
$Author: Condat(UK)
$Date: 25/10/00
********************************************************************************
Description:
This provides the implementation of the icon handling in the basic MMI
********************************************************************************
$History: MmiIcons.h
Date .................. Modification ......................................
25/10/00 Original Condat(UK) BMI version.
$End
*******************************************************************************/
/********************************************************************************
$History: MmiIcons.c
21/06/02 zy
Description:change the mainmenu icons :
from " MainiconCaculator " to"MainiconWap"all ninebitmap
$End
*******************************************************************************/
/********************************************************************************
$History: MmiIcons.c
22/07/02 zy
Description:add the "confirm" Icon for mmidialog show
$End
*******************************************************************************/
/********************************************************************************
$History: MmiIcons.c
01/08/02 version 0.100 zy add the "situation"and "situation2" Icons for listicon menu
01/08/02 version 0.101 zy add "call_Attr,callAlert_Attr,callIncoming_Attr,UserBusy,NetNotAvail.NetBusy"and relatives icons
for call interface
04/08/02 version 0.102 zy add icons about animation on and idle use icons and setting menu's icons
09/08 version 0.103 windy modified
12/08 version 0.104 zy modified
14/08 version 0.105 xsf modified for scene mode icons in menu
15/08 version 0.106 xsf modified for Shows the scene mode icons in idle window
19/08/02 version 0.107 xusufang modified
29/08/02 version 0.108 xsf modified for melody volume bmps
$End
*******************************************************************************/
/*******************************************************************************
Include Files
*******************************************************************************/
#define ENTITY_MFW
/* includes */
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#if defined (NEW_FRAME)
#include "typedefs.h"
#include "vsi.h"
#include "pei.h"
#include "custom.h"
#include "gsm.h"
#else
#include "stddefs.h"
#include "custom.h"
#include "gsm.h"
#include "vsi.h"
#endif
#include "mfw_sys.h"
#include "mfw_mfw.h"
#include "mfw_win.h"
#include "mfw_kbd.h"
#include "mfw_lng.h"
#include "mfw_edt.h"
#include "mfw_icn.h"
#include "mfw_mnu.h"
#include "mfw_tim.h"
#include "mfw_sim.h"
#include "mfw_cm.h"
#include "mfw_nm.h"
#include "mfw_phb.h"
#include "mfw_mme.h"
#include "mfw_sat.h"
#include "mfw_sms.h"
#include "dspl.h"
#include "ksd.h"
#include "psa.h"
#include "MmiMain.h"
#include "MmiBookController.h"
#include "MmiDummy.h"
#include "MmiDialogs.h"
#include "MmiLists.h"
#include "MmiMenu.h"
#include "MmiCall.h"
#include "MmiIcons.h"
#include "MmiIdle.h"
#include "MmiSoftKeys.h"
#include "MmiSounds.h"
#include "MmiIdle.h"
#include "MmiNetwork.h"
#include "MmiSat_i.h"
#include "MmiAoc.h"
#include "gdi.h"
#include "audio.h"
#include "cus_aci.h"
#include "p_sim.h"
#include "mfw_ffs.h"
#include "MmiTimers.h"
#include "GameDisplay.h"
#include "mmiouterIdle.h"
#include "mmiiconresource.h" /* 2004/06 sunsj modify for picture manage */
/* sbh...21/01/02 */
#ifdef MMI_GPRS_ENABLED
#include "MmiGprs.h"
#endif
/* ...sbh */
//#define TDTRACE 1
#include "mmiutilapi.h"
/*******************************************************************************
Local definitions
*******************************************************************************/
#define CLEAR_BOTTOM_ZONE_ICON dspl_Clear(42,54,52,60)
#define LOGOWIDTH 120
#define LOGOHEIGH 160
#define CALLANIMWIDTH 96
#define CALLANIMHEIGH 90
/*******************************************************************************
Local function prototypes
*******************************************************************************/
static void iconsEvent( MfwEvt e, MfwIcn *i );
static void iconsBattEvent( MfwEvt e, MfwIcn *i );
static void iconsSignEvent( MfwEvt e, MfwIcn *i );
static void iconsScreenDelete( void );
static void iconsShowAlarmIcon();//gdy add for transparent alarm icon
//static void iconsShowTimerIcon();//gdy add for transparent timer icon
#define CLEAR_ICON_AREA dspl_Clear(0,7,LCD_X,52);
#if ! defined(WIN32)
extern void scrOnOff (int on); /* ES!! add. functions */
#endif
#ifdef QQFUNC//hxl add for qq func switch,2003-3-24
const unsigned char newQQ[]=
{
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbe,0xf7,0xbe,0xf7,0xbe,0xf7,0xbe,0xf7,0xbe,0xf7,0xbe,0xf7,0xbe,0xf7,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbe,0xf7,0x71,0x8c,0x82,0x10,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x71,0x8c,0xbe,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbe,0xf7,
0x71,0x8c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x71,0x8c,0xbe,0xf7,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xbe,0xf7,0x00,0x00,0x00,0x00,0xbe,0xf7,0xb6,0xb5,0x00,0x00,0xb6,0xb5,0xbe,0xf7,0x00,0x00,
0x00,0x00,0xbe,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbe,0xf7,0x71,0x8c,0x00,0x00,0x00,0x00,0xbe,0xf7,0xb6,0xb5,
0x00,0x00,0xb6,0xb5,0xbe,0xf7,0x00,0x00,0x00,0x00,0x71,0x8c,0xbe,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xbe,0xf7,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x40,0x08,0xa2,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xbe,0xf7,0xff,0xff,
0xff,0xff,0xff,0xff,0xbe,0xf7,0xe5,0xe8,0x00,0x00,0x82,0x8a,0xa5,0xfc,0x85,0xf4,0x85,0xf4,0x85,0xf4,0xa5,0xfc,0x82,0x8a,
0x00,0x00,0xe5,0xe8,0xbe,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xbe,0xf7,0x69,0x4a,0xe5,0xe8,0x20,0x18,0x00,0x00,0xa5,0xfc,
0xa5,0xfc,0xa5,0xfc,0x00,0x00,0x20,0x18,0xe5,0xe8,0x69,0x4a,0xbe,0xf7,0xff,0xff,0xff,0xff,0x9a,0xd6,0x00,0x00,0x00,0x00,
0x25,0xa9,0xe5,0xe8,0xe5,0xe8,0xe5,0xe8,0xe5,0xe8,0xe5,0xe8,0xe5,0xe8,0xe5,0xe8,0x00,0x00,0x00,0x00,0x9a,0xd6,0xbe,0xf7,
0xbe,0xf7,0x41,0x08,0x00,0x00,0x71,0x8c,0xbe,0xf7,0xe5,0xe8,0x25,0xa9,0x25,0xa9,0x25,0xa9,0x25,0xa9,0x25,0xa9,0xbe,0xf7,
0x71,0x8c,0x00,0x00,0x00,0x00,0xbe,0xf7,0xbe,0xf7,0x00,0x00,0x00,0x00,0xbe,0xf7,0xbe,0xf7,0xe5,0xe8,0x25,0xa9,0xbe,0xf7,
0xbe,0xf7,0xbe,0xf7,0xbe,0xf7,0xbe,0xf7,0xbe,0xf7,0x00,0x00,0x00,0x00,0xbe,0xf7,0xbe,0xf7,0x41,0x08,0xbe,0xf7,0x00,0x00,
0xbe,0xf7,0x25,0xa9,0xbe,0xf7,0xbe,0xf7,0xbe,0xf7,0xbe,0xf7,0xbe,0xf7,0xbe,0xf7,0x00,0x00,0xbe,0xf7,0x00,0x00,0xbe,0xf7,
0xff,0xff,0xbe,0xf7,0xbe,0xf7,0x00,0x00,0x71,0x8c,0xbe,0xf7,0xbe,0xf7,0xbe,0xf7,0xbe,0xf7,0xbe,0xf7,0xbe,0xf7,0x71,0x8c,
0x00,0x00,0xbe,0xf7,0xbe,0xf7,0xbe,0xf7,0xff,0xff,0xff,0xff,0xbe,0xf7,0xc5,0xfc,0x84,0xbb,0x00,0x00,0x00,0x00,0x71,0x8c,
0x71,0x8c,0x00,0x00,0x00,0x00,0x84,0xbb,0xc5,0xfc,0xbe,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0xbe,0xf7,0x84,0xbb,0xc5,0xfc,
0xc5,0xfc,0xc5,0xfc,0x84,0xbb,0xbe,0xf7,0xbe,0xf7,0x84,0xbb,0xc5,0xfc,0xc5,0xfc,0xc5,0xfc,0x84,0xbb,0xbe,0xf7,0xff,0xff,
0xff,0xff,0xff,0xff,0xbe,0xf7,0xbe,0xf7,0xbe,0xf7,0xbe,0xf7,0xbe,0xf7,0xff,0xff,0xff,0xff,0xbe,0xf7,0xbe,0xf7,0xbe,0xf7,
0xbe,0xf7,0xbe,0xf7,0xff,0xff,0xff,0xff
};
const unsigned char newQQmask[]=
{
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff
};
#endif
#ifdef EASY_TEXT_ENABLED
// AP - 06/09/2001
/* eZitext Icon
*/
static const unsigned char TextIconeZiText[] =
{
0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x07,0x86,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x07,0x86,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x01,0x86,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x01,0x86,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0xF8,0x06,0x00,0x1F,0x99,0xFF,0x80,0x01,0x80,
0x01,0xF8,0x06,0x00,0x1F,0x99,0xFF,0x80,0x01,0x80,
0x07,0xF8,0x06,0x00,0x01,0x80,0x18,0x00,0x07,0xE0,
0x07,0xF8,0x06,0x00,0x01,0x80,0x18,0x00,0x07,0xE0,
0x18,0x78,0x06,0x06,0x01,0x98,0x18,0x61,0x99,0x80,
0x18,0x78,0x06,0x06,0x01,0x98,0x18,0x61,0x99,0x80,
0x01,0xE0,0x06,0x19,0x86,0x18,0x19,0x99,0x99,0x80,
0x01,0xE0,0x06,0x19,0x86,0x18,0x19,0x99,0x99,0x80,
0x07,0x80,0x06,0x1F,0x98,0x18,0x19,0xF8,0x61,0x80,
0x07,0x80,0x06,0x1F,0x98,0x18,0x19,0xF8,0x61,0x80,
0x18,0x60,0x06,0x18,0x18,0x18,0x19,0x81,0x99,0x98,
0x18,0x60,0x06,0x18,0x18,0x18,0x19,0x81,0x99,0x98,
0x1F,0x80,0x06,0x07,0x9F,0x98,0x18,0x79,0x98,0x60,
0x1F,0x80,0x06,0x07,0x9F,0x98,0x18,0x79,0x98,0x60,
0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
#endif
/*********************zy add for confirm active diaolog************************/
#ifdef EASY_TEXT_ENABLED
MfwIcnAttr IconTexteZiText =
{
{2, 12, 80, 20}, 1, (char *) TextIconeZiText
};
#endif
//hxl add for QQ list icon 2003-3-10
#ifdef QQFUNC//hxl add for qq func switch,2003-3-24
MfwIcnAttr QQlist =
{
{ 0, 0, 16, 16}, 1, (char *) newQQ
};
MfwIcnAttr QQlistmask =
{
{ 0, 0, 16, 16}, 1, (char *) newQQmask
};
#endif
/*******************************************************************************
Additional type definitions
*******************************************************************************/
/*******************************************************************************
Static data
*******************************************************************************/
IconState state_Outer[ idlIdMax ]; //2004/03/11 Sunny add
static IconState state[ idlIdMax ];
static IconState battstate[ iconBattMax ];
static IconState Bigbattstate[ iconBattMax ];//hxl add for power-off charging icon 2002-12-6
static IconState signalstate[ iconSignalMax ];
static IconState scenestate[ iconSceneMax ]; //xsf add 2002.08.15 about scene mode
//static IconState volumestate[ volumebmp*2]; //xsf add 2002.08.27 about adjust melody volume
//static IconState inputstate[ inputIdMax ];
/*******************************************************************************
Private Methods
*******************************************************************************/
/*******************************************************************************
$Function: iconsEvent
$Description: handle an icon event, empty handler
$Returns: None.
$Arguments: e, event, i, icon
*******************************************************************************/
static void iconsEvent( MfwEvt e, MfwIcn *i )
{
}
/*******************************************************************************
$Function: iconsBattEvent
$Description: handle a battery icon event, empty handler
$Returns: None.
$Arguments: e, event, i, icon
*******************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -