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

📄 mmiresources.c

📁 GSM手机设计软件代码
💻 C
📖 第 1 页 / 共 4 页
字号:

/*******************************************************************************

 $Function:    	resources_dialog_cb

 $Description:	
 
 $Returns:		void

 $Arguments:	window, identifier, reason
 
*******************************************************************************/
void resources_dialog_cb(T_MFW_HND win, UBYTE identifier, UBYTE reason)
{
	TRACE_FUNCTION ("resources_dialog_cb()");

      switch (reason) 
      {
        case INFO_TIMEOUT:
          /* no break; */
        case INFO_KCD_HUP:
          /* no break; */
        case INFO_KCD_LEFT:
          /* no break; */
        case INFO_KCD_RIGHT:
            resources_Exit(win);
          break;
      }
}



/*******************************************************************************

 $Function:    	resources

 $Description:	
 
 $Returns:		void

 $Arguments:	window, event, value, parameter
 
*******************************************************************************/
void resources (T_MFW_HND win, USHORT event, SHORT value, void * parameter)
{
  T_MFW_WIN         * win_data = ((T_MFW_HDR *) win)->data;
  T_resources       * data     = (T_resources *)win_data->user;

 TRACE_FUNCTION("resources()");

 switch (event)
  {
    case SHOW_CONFIRM:
		resources_language_confirm();
    break;
  }

}
/*MC added for SPR 1111*/
/*******************************************************************************

 $Function:    	resources_reset_language

 $Description:	Reset language using Pseudo-SS string
 
 $Returns:		TRUE if reset successful, FALSE otherwise

 $Arguments:	Pseudo-SS string
 
*******************************************************************************/
BOOL resources_reset_language(char* string)
{
	char country_code[4];
	int i;
	/*extract country code from input string*/
	memcpy(country_code, &string[3], 3);
	country_code[3] = NULL;

	/*for each entry in Language table*/	
	for(i=0; i<LanguageTable.no_of_entries; i++)
	{		/*if country matches that of entry*/
		
	  	if (!strcmp(country_code, LanguageTable.entries[i].country_dialling_code))
	  	{	/*MC SPR 1150, check language fits in allowed range, rather than checking for each 
	  		and every language (easier to add more languages this way)*/
	  		if (LanguageTable.entries[i].language>0 && LanguageTable.entries[i].language <= NO_OF_LANGUAGES)
	  		{	MmiRsrcSetLang(LanguageTable.entries[i].language);
				return TRUE;
	  		}
  		}
  	}
  	/*if no matches found*/
  	return FALSE; 		
}

/*******************************************************************************

 $Function:    	

 $Description:	
 
 $Returns:		

 $Arguments:	
 				
 $History
  GW 28/11/02 - 

*******************************************************************************/
#define NO_COLOUR_DEFINED (0x01010101)
void init_getDataColour(int screenType, int colType, U32 *fgd, U32 *bgd)
{
	U32 fgColor;
	U32 bgColor;
	U32 fgHLColor = NO_COLOUR_DEFINED;
	U32 bgHLColor = NO_COLOUR_DEFINED;
	U32 fgSKColor = NO_COLOUR_DEFINED;
	U32 bgSKColor = NO_COLOUR_DEFINED;
	U32 fgTColor = NO_COLOUR_DEFINED;
	U32 bgTColor = NO_COLOUR_DEFINED;

	TRACE_EVENT("init_getDataColour");

	switch (screenType)
	{
	case COLOUR_STATUS_WELCOME:	//start screen
	case COLOUR_STATUS_GOODBYE:	//end screen
		fgColor = 		COL_Black; 
		bgColor = 		COL_White; 
		fgSKColor = 	COL_Blue;
		bgSKColor = 	COL_Yellow;
		break;
		
	case COLOUR_POPUP:
	case COLOUR_STATUS:	//generic status window
		fgColor = 		COL_Red; //0x0000FF00;
		bgColor = 		COL_Blue;//0x00FFFFFF;
		fgSKColor = 	COL_Red;
		bgSKColor = 	COL_TRANSPARENT;
		break;
	
	case COLOUR_EDITOR:
		fgTColor  = 	COL_White;
		bgTColor  = 	COL_Blue;
		fgColor = 		COL_Blue; // 0x00FFFF00;
		bgColor = 		COL_Yellow;//COL_White;//0x00FFFFFF;
		fgSKColor = 	COL_Blue;
		bgSKColor = 	COL_PaleYellow;	//0x00FFFF00;
		break;

	case COLOUR_LIST_MAIN:
		fgTColor  = 	COL_White;
		bgTColor  = 	COL_BLK;
		fgColor = 		COL_Yellow ; 
		bgColor = 		COL_Blue;
		fgColor = 		COL_Black ; 
		bgColor = 		COL_White;
		fgSKColor = 	COL_W;
		bgSKColor = 	COL_BLK;	//0x00FFFF00;
		bgHLColor = 	COL_MidGrey;	
		break;
		
	case COLOUR_LIST_SUBMENU:
	case COLOUR_LIST_SUBMENU1:
	case COLOUR_LIST_SUBMENU2:
	case COLOUR_LIST_SUBMENU3:
	case COLOUR_LIST_SUBMENU4:
		fgTColor  = 	COL_Blue;
		bgTColor  = 	COL_PaleYellow;
		fgColor = 		COL_Black ; 
		bgColor = 		COL_White;
		bgHLColor = 	COL_MidGrey;	
		fgSKColor = 	COL_Blue;
		bgSKColor = 	COL_PaleYellow;	//0x00FFFF00;
		break;

	case COLOUR_LIST_COLOUR:
		fgColor 	=	COL_RG2; 
		bgColor 	=	COL_W2;
		fgSKColor 	=	COL_W; 
		bgSKColor 	=	COL_B; 
		fgTColor  	=	COL_RG;
		bgTColor  	=	COL_B;
		fgHLColor 	=	dspl_GetBgdColour();	
		bgHLColor 	=	dspl_GetFgdColour();	
		break;
		
	//Colours for specific displays
	case COLOUR_GAME:
		fgColor = 	COL_BLK ; 
		bgColor = 	COL_W;
		fgSKColor = COL_BLK ; 
		bgSKColor = COL_Orange;
		fgHLColor = COL_B;	
		bgHLColor = COL_W;	
		fgTColor  = COL_RB;
		bgTColor  = COL_G;
		break;
		
	case COLOUR_IDLE:
		fgColor = 		COL_BLK;//Green ; 
		bgColor = 		COL_TRANSPARENT;//White ;
		fgSKColor = 	COL_Blue; 
		bgSKColor =		COL_TRANSPARENT;
		//Colours are for the icons
		fgTColor  = 	COL_RB;
		bgTColor  = 	COL_G;
		break;
		
	case COLOUR_INCALL:
		fgColor = 	COL_RG ; 
		bgColor = 	COL_BLK;
		fgSKColor = COL_B ; 	/* SPR#1699 - SH - Modified so softkeys visible */
		bgSKColor = COL_TRANSPARENT;
		fgHLColor = COL_B;	
		bgHLColor = COL_W;	
		fgTColor  = COL_RB;
		bgTColor  = COL_G;
		break;

				
	default:
		fgColor = 	0x002020FF;
		bgColor = 	COL_GR;//0x00FFFFFF;
		fgSKColor = 	0x0000FF01;
		bgSKColor = 	COL_GR;//0x00FF0000;
		break;
	}
	
	/*If we have no preference for the other colours - set to default*/
	if (fgHLColor == NO_COLOUR_DEFINED) 
		fgHLColor = bgColor;
	if (bgHLColor == NO_COLOUR_DEFINED) 
		bgHLColor = fgColor;
	
	if (fgSKColor == NO_COLOUR_DEFINED) 
		fgSKColor = fgColor;
	if (bgSKColor == NO_COLOUR_DEFINED) 
		bgSKColor = bgColor;
	if (fgTColor == NO_COLOUR_DEFINED) 
		fgTColor = fgColor;
	if (bgTColor == NO_COLOUR_DEFINED) 
		bgTColor = bgColor;

	switch (colType)
	{
	case	COL_TYPE_SCREEN:
	default:
			*fgd 	= fgColor;
			*bgd 	= bgColor;
			break;
	case	COL_TYPE_SK:
			*fgd 	= fgSKColor;
			*bgd 	= bgSKColor;
			break;
	case	COL_TYPE_HL:
			*fgd 	= fgHLColor;
			*bgd 	= bgHLColor;
			break;
	case	COL_TYPE_TITLE:
			*fgd 	= fgTColor;
			*bgd 	= bgTColor;
			break;
	
	}
	if (*fgd == *bgd)
	{
		if (*fgd != COL_B)
			*fgd = COL_B;
	}
}


//This array will be used to store all the colour info for each colour type. 
//This will allow us to let the user change the colour selected
/*******************************************************************************

 $Function:    	

 $Description:	
 
 $Returns:		

 $Arguments:	
 				
 $History

*******************************************************************************/
void setDataColour(int screenType, int colType, U32 fgdORbgd, U32 newColour)
{

	TRACE_EVENT("setDataColour");
	
	if ((newColour == NO_COLOUR_DEFINED) || (fgdORbgd ==NO_COL))
		return;
	if ((screenType < LAST_COLOUR_DEF) &&
		(screenType >=0) &&
		(colType < LAST_COLOUR_DEF) &&
		(colType >=0))
	{
		if (fgdORbgd == FGD_COL)
		{
			//Do not allow transparent foreground colours
			if ((newColour & 0xFF000000) != 0xFF000000)
				colArray[screenType][colType].fgd = newColour;
		}
		else
		{
			colArray[screenType][colType].bgd = newColour;
		}
	}
}
/*******************************************************************************

 $Function:    	

 $Description:	
 
 $Returns:		

 $Arguments:	
 				
 $History

*******************************************************************************/
void initDefaultDataColour (void)
{

	int i,j;

		for (i=0; i<LAST_COLOUR_DEF;i++)
		{
			for (j=0; j<COL_TYPE_MAX;j++)
			{
				init_getDataColour(i, j, &colArray[i][j].fgd, &colArray[i][j].bgd);		
			}
		}
}

void getDataColour(int screenType, int colType, U32 *fgd, U32 *bgd)
{

	
	TRACE_EVENT_COL("getDataColour");
	
	if ((screenType == COLOUR_LIST_COLOUR) && (colType ==COL_TYPE_HL))
	{
	TRACE_EVENT_COL("new_getDataColour IF");	

		*fgd	= dspl_GetBgdColour();	
		*bgd	= dspl_GetFgdColour();	
	}
	else if ((screenType < LAST_COLOUR_DEF) &&
		(screenType >=0) &&
		(colType < COL_TYPE_MAX) &&
		(colType >=0))
	{
	TRACE_EVENT_COL("new_getDataColour ELSE IF");
		*fgd = colArray[screenType][colType].fgd;
		*bgd = colArray[screenType][colType].bgd;
	}
	else
	{
	TRACE_EVENT_COL("new_getDataColour ELSE");
		*fgd = colArray[0][0].fgd;
		*bgd = colArray[0][0].bgd;	
	}
}

/*******************************************************************************

 $Function:    	

 $Description:	
 
 $Returns:		

 $Arguments:	
 				
 $History

*******************************************************************************/
static U32 oldFgdCol,oldBgdCol;
static U32 oldmnuFgdCol,oldmnuBgdCol;
void resources_setColour(unsigned int colIndex)
{
	U32 fgdColour,bgdColour;
	getDataColour(colIndex, COL_TYPE_SCREEN, &fgdColour,  &bgdColour);
	oldFgdCol = dspl_SetFgdColour( fgdColour);
	oldBgdCol = dspl_SetBgdColour( bgdColour);
	if (colIndex==0xFFFF)
	{//disabled for the moment
		char str[50];
		sprintf(str,"Id=%d (%x,%x)",colIndex,fgdColour,bgdColour);
		dspl_ScrText (0, 180, str, 0);
	}
}
/*******************************************************************************

 $Function:    	

 $Description:	
 
 $Returns:		

 $Arguments:	
 				
 $History

*******************************************************************************/
void resources_setSKColour(unsigned int colIndex)
{
	U32 fgdSKColour,bgdSKColour;
	getDataColour(colIndex, COL_TYPE_SK, &fgdSKColour,  &bgdSKColour );
	oldmnuFgdCol = dspl_SetFgdColour( fgdSKColour);
	oldmnuBgdCol = dspl_SetBgdColour( bgdSKColour);
}
/*******************************************************************************

 $Function:    	

 $Description:	
 
 $Returns:		

 $Arguments:	
 				
 $History

*******************************************************************************/
void resources_setHLColour(unsigned int colIndex)
{
	U32 fgdColour,bgdColour;
#ifdef COLOURDISPLAY
	getDataColour(colIndex, COL_TYPE_HL, &fgdColour,  &bgdColour );
#else
	//For b+w highlight, get fgd colour as bgd and vice versa
	fgdColour = dspl_GetBgdColour();
	bgdColour = dspl_GetFgdColour();
	//If one colour is black/white, make other colour the opposite
	if (fgdColour == COL_Black)
		bgdColour = COL_White; 
	else if (bgdColour == COL_Black)
		fgdColour = COL_White; 
	else if (fgdColour == COL_White)
		bgdColour = COL_Black; 
	else if (bgdColour == COL_White)
		fgdColour = COL_Black;
	else
	{	//Default : assume the rest of the display is black on white=> highlight is white on black.
		fgdColour = COL_White;
		bgdColour = COL_Black; 	
	}

#endif
	oldmnuFgdCol = dspl_SetFgdColour( fgdColour);
	oldmnuBgdCol = dspl_SetBgdColour( bgdColour);
}
/*******************************************************************************

 $Function:    	

 $Description:	
 
 $Returns:		

 $Arguments:	
 				
 $History

*******************************************************************************/
void resources_setTitleColour(unsigned int colIndex)
{
	U32 fgdColour,bgdColour;
	getDataColour(colIndex, COL_TYPE_TITLE, &fgdColour,  &bgdColour );
	oldmnuFgdCol = dspl_SetFgdColour( fgdColour);
	oldmnuBgdCol = dspl_SetBgdColour( bgdColour);
}

⌨️ 快捷键说明

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