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

📄 common.c

📁 brew中开发的个人小游戏
💻 C
📖 第 1 页 / 共 3 页
字号:
			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,&lt,&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 + -