📄 plxbrowsetting.c
字号:
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 + -