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

📄 plxbrowsetting.c

📁 mtk wap和mms代码。。适应mtk 25。26平台
💻 C
📖 第 1 页 / 共 5 页
字号:
	hSetColorMenu = PlxCreateDMenu(0);
	if (NULL == hSetColorMenu) 
	{
		return;
	}
	PlxInsertDMenuItem(hSetColorMenu, -1, 0, DMENU_ID_PLX_BROW_SETCOLOR_NORTXT,
		(const char *)GetString(STR_ID_PLX_BROW_NORMALTEXT), IMG_GLOBAL_L1);
	PlxInsertDMenuItem(hSetColorMenu, -1, 0, DMENU_ID_PLX_BROW_SETCOLOR_LNKTXT,
		(const char *)GetString(STR_ID_PLX_BROW_LINKTEXT), IMG_GLOBAL_L2);
	PlxInsertDMenuItem(hSetColorMenu, -1, 0, DMENU_ID_PLX_BROW_SETCOLOR_LNKBG,
		(const char *)GetString(STR_ID_PLX_BROW_LINKBACKGROUND), IMG_GLOBAL_L3);
	PlxInsertDMenuItem(hSetColorMenu, -1, 0, DMENU_ID_PLX_BROW_SETCOLOR_ACTTXT,
		(const char *)GetString(STR_ID_PLX_BROW_ACTIVETEXT), IMG_GLOBAL_L4);
	PlxInsertDMenuItem(hSetColorMenu, -1, 0, DMENU_ID_PLX_BROW_SETCOLOR_ACTBG,
		(const char *)GetString(STR_ID_PLX_BROW_ACTIVEBACKGROUD), IMG_GLOBAL_L5);
}

/****************************************************************************
* Function	ColorSettingNty
* Purpose	color setting meny notify func
* Params	
* Return	
* Remarks	
\****************************************************************************/
static int ColorSettingNty(HDMENU hDMenu, unsigned long id, unsigned long event)
{
	switch(event) 
	{
	case ENT_RIGHT:
	case ENT_OK:
		switch(id) 
		{
		case DMENU_ID_PLX_BROW_SETCOLOR_NORTXT:
		case DMENU_ID_PLX_BROW_SETCOLOR_LNKTXT:
		case DMENU_ID_PLX_BROW_SETCOLOR_LNKBG:
		case DMENU_ID_PLX_BROW_SETCOLOR_ACTTXT:
		case DMENU_ID_PLX_BROW_SETCOLOR_ACTBG:
			colorFlag = id;
			break;
		default:
			return 0;
		}
//		EntryOfColorSelectScreen();
		EntryOfColorSettingMenu();
		break;
		
	case ENT_LEFT:	
	case ENT_BACK:
		GoBackHistory();
		PlxDestroyDMenu(hSetColorMenu);
		hSetColorMenu = 0;
		break;
	default:
		return 0;
	}
	return 0;
}

/****************************************************************************
* Function	EntryOfColorSettingMenu
* Purpose	enter color setting menu
* Params	
* Return	
* Remarks	
\****************************************************************************/
void EntryOfColorSettingMenu(void)
{
	if (NULL == hColorSettingMenu) 
	{
		hColorSettingMenu = PlxCreateDMenu(0);
		if (NULL == hColorSettingMenu) 
		{
			return;
		}
		PlxInsertDMenuItem(hColorSettingMenu, -1, 0, DMENU_ID_PLX_BROW_COLORSET_MODIFY, 
			GetString(STR_ID_PLX_BROW_MODIFY), IMG_GLOBAL_L1);
		PlxInsertDMenuItem(hColorSettingMenu, -1, 0, DMENU_ID_PLX_BROW_COLORSET_RESET,
			GetString(STR_ID_PLX_BROW_DEFAULT), IMG_GLOBAL_L2);
	}
	PlxDeleteDMenuItem(hColorSettingMenu, 2, MF_BYPOSITION);
	if(colorFlag == DMENU_ID_PLX_BROW_SETCOLOR_LNKBG || 
					colorFlag == DMENU_ID_PLX_BROW_SETCOLOR_ACTBG)
	{
		PlxInsertDMenuItem(hColorSettingMenu, -1, 0, DMENU_ID_PLX_BROW_COLORSET_TRANSPARENT,
					GetString(STR_ID_PLX_BROW_COLORSETTING_TRANSPARENT), IMG_GLOBAL_L3);
	}

	PlxSetDMenuDispInfo(0, IMG_ID_PLX_BROW_SETTING, 0,0, 0,0);
	PlxShowDMenu(hColorSettingMenu, SCR_ID_PLX_BROW_COLORSETMENU, STR_ID_PLX_BROW_COLORSETTING, 
		ColorSettingMenuNty, EntryOfColorSettingMenu);
//	ClearKeyHandler(KEY_END,KEY_EVENT_DOWN);
	SetKeyHandler(SettingKeyEndHandler,KEY_END,KEY_EVENT_DOWN);
}

/****************************************************************************
* Function	ColorSettingMenuNty
* Purpose	color setting menu notify func
* Params	
* Return	
* Remarks	
\****************************************************************************/
static int ColorSettingMenuNty(HDMENU hDMenu, unsigned long id, unsigned long event)
{
	switch(event) 
	{
	case ENT_LEFT:
	case ENT_BACK:
		GoBackHistory();
		if(hDMenu)
			PlxDestroyDMenu(hColorSettingMenu);
		hColorSettingMenu = NULL;
		break;

	case ENT_RIGHT:	
	case ENT_OK:
		switch(id) 
		{
		case DMENU_ID_PLX_BROW_COLORSET_MODIFY:
			pixtel_UI_lock_double_buffer();
			GoBackHistory();
			EntryOfColorSelectScreen();
			pixtel_UI_unlock_double_buffer();
			pixtel_UI_BLT_double_buffer(0,0,UI_device_width, UI_device_height);
			break;
		case DMENU_ID_PLX_BROW_COLORSET_RESET:
			ResetColorSetting();
			GoBackHistory();
			if(WAP_ERR_NOERR == WriteSetting())
				PLIB_MessageBox(PMBTYPE_SUCCESS, NULL, (const WCHAR *)get_string(STR_GLOBAL_DONE), UI_POPUP_NOTIFYDURATION_TIME);
			break;
		case DMENU_ID_PLX_BROW_COLORSET_TRANSPARENT:
			switch(colorFlag)
			{
				case DMENU_ID_PLX_BROW_SETCOLOR_LNKBG:
					glBrowSet.lnkBgColor.alpha = 100;
					break;
				case DMENU_ID_PLX_BROW_SETCOLOR_ACTBG:
					glBrowSet.atvBgColor.alpha = 100;
					break;
				default:
					return 0;
			}
			GoBackHistory();
			if(WAP_ERR_NOERR == WriteSetting())
				PLIB_MessageBox(PMBTYPE_SUCCESS, NULL, (const WCHAR *)get_string(STR_GLOBAL_DONE), UI_POPUP_NOTIFYDURATION_TIME);
			break;
		}
		break;
	default:
		break;
	}
	return 0;
}

#ifdef __PLXBROW_COLORDISP_CUSTOM_
/****************************************************************************
* Function	ResetColorScreenHiliteItem
* Purpose	
* Params	
* Return	
* Remarks	
\****************************************************************************/
static void ResetColorScreenHiliteItem(void)
{
	cat91_highlighted_slider = 0;
}


/****************************************************************************
* Function	ShowNextColorSlider
* Purpose	
* Params	
* Return	
* Remarks	
\****************************************************************************/
static void ShowNextColorSlider(void)
{	 cat91_highlighted_slider++;
	cat91_highlighted_slider %= 3;
	cat91_redraw_content_area();
}

/****************************************************************************
* Function	ShowPreviousColorSlider
* Purpose	
* Params	
* Return	
* Remarks	
\****************************************************************************/
static void ShowPreviousColorSlider(void)
{	 cat91_highlighted_slider--;
	if(cat91_highlighted_slider < 0)
		cat91_highlighted_slider = 2;
	cat91_redraw_content_area();
}
#endif //__PLXBROW_COLORDISP_CUSTOM_

/****************************************************************************
* Function	EntryOfColorSelectScreen
* Purpose	select color screen
* Params	
* Return	
* Remarks	
\****************************************************************************/
void EntryOfColorSelectScreen(void)
{
	U8*	guiBuffer;
	
	switch(colorFlag) 
	{
	case DMENU_ID_PLX_BROW_SETCOLOR_NORTXT:
		colorR = glBrowSet.norTextColor.r;
		colorG = glBrowSet.norTextColor.g;
		colorB = glBrowSet.norTextColor.b;
		break;
	case DMENU_ID_PLX_BROW_SETCOLOR_LNKTXT:
		colorR = glBrowSet.lnkTextColor.r;
		colorG = glBrowSet.lnkTextColor.g;
		colorB = glBrowSet.lnkTextColor.b;
		break;
	case DMENU_ID_PLX_BROW_SETCOLOR_LNKBG:
		colorR = glBrowSet.lnkBgColor.r;
		colorG = glBrowSet.lnkBgColor.g;
		colorB = glBrowSet.lnkBgColor.b;
		break;
	case DMENU_ID_PLX_BROW_SETCOLOR_ACTTXT:
		colorR = glBrowSet.atvTextColor.r;
		colorG = glBrowSet.atvTextColor.g;
		colorB = glBrowSet.atvTextColor.b;
		break;
	case DMENU_ID_PLX_BROW_SETCOLOR_ACTBG:
		colorR = glBrowSet.atvBgColor.r;
		colorG = glBrowSet.atvBgColor.g;
		colorB = glBrowSet.atvBgColor.b;
		break;
	default:
		return;
	}
	guiBuffer = GetCurrGuiBuffer(SCR_ID_PLX_BROW_COLORSEL);
	EntryNewScreen(SCR_ID_PLX_BROW_COLORSEL, NULL, EntryOfColorSelectScreen, NULL);
#ifdef __PLXBROW_COLORDISP_CUSTOM_
	ResetColorScreenHiliteItem();
#endif
	ShowCategory91Screen(STR_ID_PLX_BROW_COLORSEL, IMG_ID_PLX_BROW_SETTING, STR_GLOBAL_OK, IMG_GLOBAL_OK,
		STR_GLOBAL_BACK, IMG_GLOBAL_BACK,
		&colorR, &colorG, &colorB, guiBuffer);
#ifdef __PLXBROW_COLORDISP_CUSTOM_
	cat91_red_string=get_string(STR_ID_PLX_BROW_COLORSETTING_RED);
	cat91_green_string=get_string(STR_ID_PLX_BROW_COLORSETTING_GREEN);
	cat91_blue_string=get_string(STR_ID_PLX_BROW_COLORSETTING_BLUE);
	RedrawCategory91Screen();
	SetKeyHandler(ShowPreviousColorSlider,KEY_UP_ARROW,KEY_EVENT_DOWN);
	SetKeyHandler(ShowNextColorSlider,KEY_DOWN_ARROW,KEY_EVENT_DOWN);
#endif
	SetLeftSoftkeyFunction(ColorSelDone, KEY_EVENT_UP);
	SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
//	ClearKeyHandler(KEY_END,KEY_EVENT_DOWN);
	SetKeyHandler(SettingKeyEndHandler,KEY_END,KEY_EVENT_DOWN);
}


/****************************************************************************
* Function	ColorSelDone
* Purpose	when color selection done(ok)
* Params	
* Return	
* Remarks	
\****************************************************************************/
static void ColorSelDone(void)
{
	GoBackHistory();
	ColorSettingSaved();
}


/****************************************************************************
* Function	ColorSetConfirmOK
* Purpose	
* Params	
* Return	
* Remarks	
\****************************************************************************/
static void ColorSetConfirmOK(void)
{
	GoBack2TheHistory();
	ColorSettingSaved();
}


/****************************************************************************
* Function	ColorSettingSaved
* Purpose	
* Params	
* Return	
* Remarks	
\****************************************************************************/
static void ColorSettingSaved(void)
{
	BOOL   bChanged = FALSE;
	switch(colorFlag) 
	{
	case DMENU_ID_PLX_BROW_SETCOLOR_NORTXT:
		if(glBrowSet.norTextColor.r != colorR || glBrowSet.norTextColor.g != colorG ||
			glBrowSet.norTextColor.b  != colorB)
		{
			bChanged = TRUE;
			glBrowSet.norTextColor.r = colorR;
			glBrowSet.norTextColor.g = colorG;
			glBrowSet.norTextColor.b = colorB;
		}
		break;
	case DMENU_ID_PLX_BROW_SETCOLOR_LNKTXT:
		if(glBrowSet.lnkTextColor.r != colorR || glBrowSet.lnkTextColor.g != colorG ||
			glBrowSet.lnkTextColor.b  != colorB)
		{
			bChanged = TRUE;
			glBrowSet.lnkTextColor.r = colorR;
			glBrowSet.lnkTextColor.g = colorG;
			glBrowSet.lnkTextColor.b = colorB;
		}
		break;
	case DMENU_ID_PLX_BROW_SETCOLOR_LNKBG:
		if(glBrowSet.lnkBgColor.r != colorR || glBrowSet.lnkBgColor.g != colorG ||
			glBrowSet.lnkBgColor.b  != colorB || glBrowSet.lnkBgColor.alpha != 0)
		{
			bChanged = TRUE;
			glBrowSet.lnkBgColor.r = colorR;
			glBrowSet.lnkBgColor.g = colorG;
			glBrowSet.lnkBgColor.b = colorB;
			glBrowSet.lnkBgColor.alpha = 0;
		}
		break;
	case DMENU_ID_PLX_BROW_SETCOLOR_ACTTXT:
		if(glBrowSet.atvTextColor.r != colorR || glBrowSet.atvTextColor.g != colorG ||
			glBrowSet.atvTextColor.b  != colorB)
		{
			bChanged = TRUE;
			glBrowSet.atvTextColor.r = colorR;
			glBrowSet.atvTextColor.g = colorG;
			glBrowSet.atvTextColor.b = colorB;
		}
		break;
	case DMENU_ID_PLX_BROW_SETCOLOR_ACTBG:
		if(glBrowSet.atvBgColor.r != colorR || glBrowSet.atvBgColor.g != colorG ||
			glBrowSet.atvBgColor.b  != colorB || glBrowSet.atvBgColor.alpha != 0)
		{
			bChanged = TRUE;
			glBrowSet.atvBgColor.r = colorR;
			glBrowSet.atvBgColor.g = colorG;
			glBrowSet.atvBgColor.b = colorB;
			glBrowSet.atvBgColor.alpha = 0;
		}
		break;
	}
	if(TRUE == bChanged)
	{
		if(WAP_ERR_NOERR == WriteSetting())
			PLIB_MessageBox(PMBTYPE_SUCCESS, NULL, (const WCHAR *)get_string(STR_GLOBAL_DONE), UI_POPUP_NOTIFYDURATION_TIME);
	}
}

/****************************************************************************
* Function	ColorSelBack
* Purpose	when color selection back(cancel)
* Params	
* Return	
* Remarks	
\****************************************************************************/
/*
static void ColorSelBack(void)
{
	BOOL   bChanged = FALSE;
	int       nToneId = WARNING_TONE;
	
	switch(colorFlag) 
	{
	case DMENU_ID_PLX_BROW_SETCOLOR_NORTXT:
		if(glBrowSet.norTextColor.r != colorR || glBrowSet.norTextColor.g != colorG ||
			glBrowSet.norTextColor.b  != colorB)
		{
			bChanged = TRUE;
		}
		break;
	case DMENU_ID_PLX_BROW_SETCOLOR_LNKTXT:
		if(glBrowSet.lnkTextColor.r != colorR || glBrowSet.lnkTextColor.g != colorG ||
			glBrowSet.lnkTextColor.b  != colorB)
		{
			bChanged = TRUE;
		}
		break;
	case DMENU_ID_PLX_BROW_SETCOLOR_LNKBG:
		if(glBrowSet.lnkBgColor.r != colorR || glBrowSet.lnkBgColor.g != colorG ||
			glBrowSet.lnkBgColor.b  != colorB)
		{
			bChanged = TRUE;
		}
		break;
	case DMENU_ID_PLX_BROW_SETCOLOR_ACTTXT:
		if(glBrowSet.atvTextColor.r != colorR || glBrowSet.atvTextColor.g != colorG ||
			glBrowSet.atvTextColor.b  != colorB)
		{
			bChanged = TRUE;
		}
		break;
	case DMENU_ID_PLX_BROW_SETCOLOR_ACTBG:
		if(glBrowSet.atvBgColor.r != colorR || glBrowSet.atvBgColor.g != colorG ||
			glBrowSet.atvBgColor.b  != colorB)
		{
			bChanged = TRUE;
		}
		break;

⌨️ 快捷键说明

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