📄 common.c
字号:
case 230:
case 240:
pApp->vtCurrent=INTRO_VIEW;
if(pApp->pIMenuCtl)//释放主菜单(可能不需要)
{
IMENUCTL_Release(pApp->pIMenuCtl);
pApp->pIMenuCtl=NULL;
}
IDISPLAY_ClearScreen(pApp->a.m_pIDisplay);//清屏
GetContent(pApp);
pApp->pPos=0;
//pApp->pPos=pApp->nHeaderHeight;
//DispBackground(pApp);
DispContent1(pApp,pApp->pContent,pApp->pPos);
//DispHeader(pApp);
break;
}
break;
case SUBMENU_VIEW:
if(pApp->bIsFromNextPage)//表示是从"下一篇"进来的
{
pApp->vtCurrent=CONTENT_VIEW;
MEMSET((void*)pApp->unicHeadline,0,20);
WSTRCPY(pApp->unicHeadline,pApp->pMenuItem->link->content);//更新到下一篇的标题
pApp->pMenuItem=pApp->pMenuItem->link;//再下一篇
if(pApp->pIMenuCtl1)
{
IMENUCTL_Release(pApp->pIMenuCtl1);
pApp->pIMenuCtl1=NULL;
}
if(pApp->pContent)
{
FREE(pApp->pContent);
pApp->pContent=NULL;
}
GetContent(pApp);//重新获得数据
if(pApp->pIImage)//停止一次动画
{
IIMAGE_Stop(pApp->pIImage);
IIMAGE_Release(pApp->pIImage);
pApp->pIImage=NULL;
IDISPLAY_ClearScreen(pApp->a.m_pIDisplay);
DispBackground(pApp);
}
RequestImageData(pApp);//请求图片数据
break;
}
if(pApp->idKeep1==300)
{
pApp->vtCurrent=CONTENT_VIEW;
if(pApp->pIMenuCtl1)
{
IMENUCTL_Release(pApp->pIMenuCtl1);
pApp->pIMenuCtl1=NULL;
}
//IDISPLAY_ClearScreen(pApp->a.m_pIDisplay);
GetContent(pApp);//获得了文字数据
//DispContent(pApp,pApp->pContent,0);
//pApp->pPos=pApp->pContent;
if(pApp->pIImage)//停止一次动画
{
IIMAGE_Stop(pApp->pIImage);
IIMAGE_Release(pApp->pIImage);
pApp->pIImage=NULL;
IDISPLAY_ClearScreen(pApp->a.m_pIDisplay);
DispBackground(pApp);
}
RequestImageData(pApp);//请求图片数据
break;
}
if(pApp->idKeep1==211)//获城市后返回主菜单
{
{
AECHAR unicTemp[6]={'\0'};
MenuItem* p;
p=pApp->pSubMenuItem;
while(Str2Int(p->idMenuItem)!=pApp->nCityId)
p=p->link;
SPRINTF(unicTemp,p->content);
SPRINTF(pApp->unicCityName,unicTemp);
}
pApp->vtCurrent=MAINMENU_VIEW;
if(pApp->pIMenuCtl1)
{
IMENUCTL_Release(pApp->pIMenuCtl1);
pApp->pIMenuCtl1=NULL;
}
if(pApp->pSubMenuItem)
{
CleanSubMenuItemList(pApp);
pApp->pSubMenuItem=NULL;
}
if(pApp->pIMenuCtl)
{
IMENUCTL_Release(pApp->pIMenuCtl);
pApp->pIMenuCtl=NULL;
}
if(pApp->pMainMenuItem)
{
CleanMainMenuItemList(pApp);
pApp->pMainMenuItem=NULL;
}
if(pApp->pContent)
{
FREE(pApp->pContent);
pApp->pContent=NULL;
}
pApp->vtCurrent=MAINMENU_VIEW;
GetMainMenuItem(pApp); //
pApp->uMainMenuItemSel=Str2Int(pApp->pMainMenuItem->idMenuItem);//GetSel
CreateMainMenu(pApp);
break;
}
break;
case CONTENT_VIEW:
{
int yText;
pApp->pPos=pApp->nNormalFontHeight;//定好起始位置
yText=DispImage(pApp,pApp->pszReceiveData,pApp->pPos);//显示图片
DispContent(pApp,pApp->pContent,yText);//显示文字
DispHeadline(pApp,pApp->unicHeadline);//显示标题
DispScollBar(pApp,0);
}
break;
case FAVSUBMENU_VIEW:
{
pApp->vtCurrent=FAVCONTENT_VIEW;
if(pApp->pIMenuCtl1)
{
IMENUCTL_Release(pApp->pIMenuCtl1);
pApp->pIMenuCtl1=NULL;
}
GetContent(pApp);//获得了文字数据
if(pApp->pIImage)//停止一次动画
{
IIMAGE_Stop(pApp->pIImage);
IIMAGE_Release(pApp->pIImage);
pApp->pIImage=NULL;
IDISPLAY_ClearScreen(pApp->a.m_pIDisplay);
DispBackground(pApp);
}
RequestFavImageData(pApp);//请求图片数据
break;
}
case FAVCONTENT_VIEW:
{
int yText;
pApp->pPos=pApp->nNormalFontHeight;//定好起始位置
yText=DispImage(pApp,pApp->pszReceiveData,pApp->pPos);//显示图片
DispContent(pApp,pApp->pContent,yText);//显示文字
//DispHeadline(pApp,pApp->unicHeadline);//显示标题
DispScollBar(pApp,0);
break;
}
}//--end if(wParam==USEREVT_SOCKET_OK)
}//--end switch
if(wParam==USEREVT_SOCKET_FAILED)
{
pApp->bIsConnecting=FALSE;
CleanSocket(pApp);//清除socket
if(pApp->pIImage) //停止动画
{
IIMAGE_Stop(pApp->pIImage);
IIMAGE_Release(pApp->pIImage);
pApp->pIImage=NULL;
}
if(pApp->pszReceiveData)//可能分配了内存,要释放
{
FREE(pApp->pszReceiveData);
pApp->pszReceiveData=NULL;
}
if(pApp->pContent)
{
FREE(pApp->pContent);
pApp->pContent=NULL;
}
pApp->err=ERR_CONNECT_FAILED;
ShowMSG(pApp,0,pApp->cyScreen-pApp->nNormalFontHeight,IDS_CONNECTFAIL);
return TRUE;
}
if(wParam==USEREVT_MEMORY_FAILED)
{
pApp->bIsConnecting=FALSE;
CleanSocket(pApp);//清除socket
if(pApp->pIImage) //停止动画
{
IIMAGE_Stop(pApp->pIImage);
IIMAGE_Release(pApp->pIImage);
pApp->pIImage=NULL;
}
pApp->err=ERR_MEMORY_ALLOCATE_FAILED;
ShowMSG(pApp,0,pApp->cyScreen-pApp->nNormalFontHeight,IDS_MEMORYNOTALLOCATE);
}
return TRUE;
}
//////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
boolean OnAppMessage(CTheApp* pApp,AEEEvent eCode,uint16 wParam,uint32 dwParam)
{
return TRUE;
}
//-----------------------------------------------------------------------
boolean OnKey(CTheApp* pApp,AEEEvent eCode,uint16 wParam,uint32 dwParam)
{
//return pApp->pView->pfOnKey(pApp,eCode,wParam,dwParam);//当前视的键盘处理
StopMusic(pApp);
switch(pApp->vtCurrent)
{
case INIT_VIEW:
return OnKey_InitView(pApp,eCode,wParam,dwParam);
case MAINMENU_VIEW:
return OnKey_MainMenuView(pApp,eCode,wParam,dwParam);
case SUBMENU_VIEW:
return OnKey_SubMenuView(pApp,eCode,wParam,dwParam);
case CONTENT_VIEW:
return OnKey_ContentView(pApp,eCode,wParam,dwParam);
case INTRO_VIEW:
return OnKey_IntroView(pApp,eCode,wParam,dwParam);
case FAVSUBMENU_VIEW:
return OnKey_FavSubMenuView(pApp,eCode,wParam,dwParam);
case FAVCONTENT_VIEW:
return OnKey_FavContentView(pApp,eCode,wParam,dwParam);
}
return TRUE;
}
////////////////////////////////////////////////////////////////////////
uint32 CheckFreeSpace(CTheApp* pApp)
{
uint32 nFreeSpace,pdwTotal;
IFileMgr* pIFileMgr;
if(ISHELL_CreateInstance(pApp->a.m_pIShell,AEECLSID_FILEMGR,(void **)&pIFileMgr)==ENOMEMORY)
{
ISHELL_SendEvent(pApp->a.m_pIShell,AEECLSID_VACATION,EVT_USER,USEREVT_MEMORY_FAILED,0);
return 0;
}
nFreeSpace=IFILEMGR_GetFreeSpace(pIFileMgr,&pdwTotal);
IFILEMGR_Release(pIFileMgr);
pIFileMgr=NULL;
return nFreeSpace;
}
//////////////////////////////////////////////////////////////////////////
/*
void Config(CTheApp* pApp)
{
IFileMgr* pIFileMgr;
IFile *pIFile =NULL;
FileInfo pFileInfo;
if(ISHELL_CreateInstance(pApp->a.m_pIShell,AEECLSID_FILEMGR,(void**)&pIFileMgr)!=SUCCESS)
{
releaseFileMgr(pMe);
return;
}
if(IFILEMGR_Test(pMe->m_pIFileMgr,"gf.ini")==EFAILED)
{
return FALSE;
}
IFILEMGR_GetInfo(pIFileMgr,"gf.ini",&pFileInfo);
pIFile = IFILEMGR_OpenFile(pMe->m_pIFileMgr,filename,_OFM_READ);
pIFile = IFILEMGR_OpenFile(pMe->m_pIFileMgr,filename,_OFM_READ);
IFILE_Read(pIFile, pMe->dataBuffer, pFileInfo.dwSize);
}*/
//////////////////////////////////////////////////////////////////////////
//
void ShowMSG(CTheApp* pApp,int x,int y,int16 nResId)
{
AECHAR aText[50]={0};
AEERect rc;
rc.x=0;
rc.y=pApp->cyScreen-pApp->nNormalFontHeight;
rc.dx=pApp->cxScreen;
rc.dy=pApp->nNormalFontHeight;
ISHELL_LoadResString(
pApp->a.m_pIShell,VACATION_RES_FILE,nResId,aText,50);
IDISPLAY_DrawText(pApp->a.m_pIDisplay,AEE_FONT_NORMAL,aText,-1,
x,y,&rc,IDF_ALIGN_CENTER|IDF_RECT_FRAME|IDF_RECT_FILL|IDF_TEXT_TRANSPARENT);
IDISPLAY_Update(pApp->a.m_pIDisplay);
return;
}
//////////////////////////////////////////////////////////////////////////
void ShowMSG1(CTheApp* pApp,int x,int y,int16 nResId)
{
AECHAR aText[50]={0};
AEERect rc;
rc.x=0;
rc.y=pApp->cyScreen-pApp->nNormalFontHeight;
rc.dx=pApp->cxScreen;
rc.dy=pApp->nNormalFontHeight;
ISHELL_LoadResString(
pApp->a.m_pIShell,VACATION_RES_FILE,nResId,aText,50);
IDISPLAY_DrawText(pApp->a.m_pIDisplay,AEE_FONT_NORMAL,aText,-1,
x,y,&rc,IDF_ALIGN_LEFT|IDF_RECT_FRAME|IDF_RECT_FILL|IDF_TEXT_TRANSPARENT);
IDISPLAY_Update(pApp->a.m_pIDisplay);
return;
}
/*
void ShowMSG(CTheApp* pApp,int line,char* pszStr)
{
AECHAR* pszBuf=NULL;
if((pszBuf=(AECHAR*)MALLOC(200))==NULL)
return;
STR_TO_WSTR((char*)pszStr,pszBuf,200);
IDISPLAY_DrawText(pApp->a.m_pIDisplay,AEE_FONT_NORMAL,pszBuf,-1,0,20*line,
NULL,IDF_ALIGN_CENTER);
IDISPLAY_Update(pApp->a.m_pIDisplay);
FREE(pszBuf);
return;
}
*/
//////////////////////////////////////////////////////////////////////////
void DispBootAnim(CTheApp* pApp)
{
AEEImageInfo ii;
pApp->pIImage=ISHELL_LoadResImage(
pApp->a.m_pIShell,VACATION_RES_FILE,IDB_BOOT);
IIMAGE_GetInfo(pApp->pIImage,&ii);
IIMAGE_SetParm(pApp->pIImage,IPARM_CXFRAME,60,0);
IIMAGE_SetParm(pApp->pIImage,IPARM_NFRAMES,4,0);
IIMAGE_SetParm(pApp->pIImage,IPARM_RATE,500,0);
//IIMAGE_Start(pApp->pIImage, (pApp->cxScreen-ii.cx/4)/2,pApp->nHeaderHeight);
IIMAGE_Start(pApp->pIImage, (pApp->cxScreen-ii.cx/4)/2,(pApp->cyScreen-ii.cy)/2);
return;
}
void DispLoadAnim(CTheApp* pApp)
{
AEEImageInfo ii;
pApp->pIImage=ISHELL_LoadResImage(
pApp->a.m_pIShell,VACATION_RES_FILE,IDB_LOAD);
IIMAGE_GetInfo(pApp->pIImage,&ii);
IIMAGE_SetParm(pApp->pIImage,IPARM_CXFRAME,128,0);
IIMAGE_SetParm(pApp->pIImage,IPARM_NFRAMES,7,0);
IIMAGE_SetParm(pApp->pIImage,IPARM_RATE,500,0);
IIMAGE_Start(pApp->pIImage, (pApp->cxScreen-ii.cx/7)/2,pApp->cyScreen-ii.cy);
return;
}
//////////////////////////////////////////////////////////////////////////
void DispHeader(CTheApp* pApp)
{
IImage* pIIMage;
AEEImageInfo ii;
pIIMage=ISHELL_LoadResImage(pApp->a.m_pIShell,VACATION_RES_FILE,IDB_HEADER);
IIMAGE_GetInfo(pIIMage,&ii);
pApp->nHeaderHeight=ii.cy;
//IDISPLAY_ClearScreen(pApp->a.m_pIDisplay);
IIMAGE_Draw(pIIMage,0,0);
IDISPLAY_Update(pApp->a.m_pIDisplay);
IIMAGE_Release(pIIMage);
pIIMage=NULL;
return;
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
/*
void DispMenuBack(CTheApp* pApp)
{
IImage* pIIMage;
AEEImageInfo ii;
pIIMage=ISHELL_LoadResImage(pApp->a.m_pIShell,GF_RES_FILE,IDB_MENUBACK);
IIMAGE_GetInfo(pIIMage,&ii);
//IDISPLAY_ClearScreen(pApp->a.m_pIDisplay);
IIMAGE_Draw(pIIMage,0,pApp->nHeaderHeight);
//IDISPLAY_Update(pApp->a.m_pIDisplay);
IIMAGE_Release(pIIMage);
pIIMage=NULL;
return;
}*/
//////////////////////////////////////////////////////////////////////////
/*
void DispContBack(CTheApp* pApp)
{
IImage* pIIMage;
AEEImageInfo ii;
pIIMage=ISHELL_LoadResImage(pApp->a.m_pIShell,GF_RES_FILE,IDB_CONTBACK);
IIMAGE_GetInfo(pIIMage,&ii);
//IDISPLAY_ClearScreen(pApp->a.m_pIDisplay);
IIMAGE_Draw(pIIMage,0,0);
//IDISPLAY_Update(pApp->a.m_pIDisplay);
IIMAGE_Release(pIIMage);
pIIMage=NULL;
return;
}*/
//////////////////////////////////////////////////////////////////////////
/*
void TransactLicense(CTheApp* pApp)
{
AEELicenseType lt;
AEEPriceType pt;
uint32 dwExpire;
uint32 dwSeq;
if(ISHELL_CreateInstance(pApp->a.m_pIShell,AEECLSID_LICENSE,(void**)&pApp->pILicense)!=SUCCESS)
{
pApp->pILicense=NULL;
return ;
}
ILICENSE_GetPurchaseInfo(pApp->pILicense,<,&dwExpire,&dwSeq);
//ILICENSE_GetInfo(pApp->pILicense,&dwExpire);
return;
}
*/
//////////////////////////////////////////////////////////////////////////
void GetPhoneNumber(CTheApp* pApp)
{
TAPIStatus ps;
if(ISHELL_CreateInstance(pApp->a.m_pIShell,AEECLSID_TAPI,(void **)&pApp->pITapi))
{
pApp->pITapi=NULL;
return ;
}
MEMSET(pApp->chPhoneNumber,'\0',sizeof(pApp->chPhoneNumber));
ITAPI_GetStatus(pApp->pITapi,&ps);
SPRINTF(pApp->chPhoneNumber,"%s",ps.szMobileID);
ITAPI_Release(pApp->pITapi);
pApp->pITapi=NULL;
return;
}
//////////////////////////////////////////////////////////////////////////
void ReStart(CTheApp* pApp)
{
char Request[200]={0};
char Req[200]={0};
if(CheckFreeSpace(pApp)<1024)
{
pApp->err=ERR_SPACE_NOT_ENOUGH;
ShowMSG(pApp,0,pApp->cyScreen-pApp->nNormalFontHeight,IDS_SPACENOTENOUGH);
return ;
}
GetPhoneNumber(pApp);
IDISPLAY_ClearScreen(pApp->a.m_pIDisplay);
IDISPLAY_Update(pApp->a.m_pIDisplay);
//DispHeader(pApp);
DispBackground(pApp);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -