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

📄 view.c

📁 brew中开发的个人小游戏
💻 C
📖 第 1 页 / 共 2 页
字号:
    
	SPRINTF(Request,"GET %s HTTP/1.0\r\n\r\n",chR);
	SPRINTF(pApp->pszSendData,Request);
	//log(pApp,pApp->pszSendData);
	if(pApp->pszReceiveData)
	{
		FREE(pApp->pszReceiveData);
		pApp->pszReceiveData=NULL;
	}
	if(pCh)
		pCh=NULL;
	DispLoadAnim(pApp);//下载动画
	StartSocket(pApp);
	return;
	 
}
/*
void DispContent(CTheApp* pApp,AECHAR* pText,uint16 nStartPos)
{
	int nLineHeight,y,nFits;
	AECHAR *pStr;
	RGBVAL textclr;
	
	y=1;//DispImage(pApp)+1;
	nLineHeight=pApp->nNormalFontHeight+1;
	textclr=IDISPLAY_SetColor(pApp->a.m_pIDisplay,CLR_USER_TEXT,0xFF000000);
	IDISPLAY_MeasureTextEx(pApp->a.m_pIDisplay,AEE_FONT_NORMAL,pText,-1,pApp->cxScreen,&nFits);
	pStr=pText+nStartPos;//+nStartPos*nFits;
	while(*pStr)
	{
		IDISPLAY_MeasureTextEx(pApp->a.m_pIDisplay,AEE_FONT_NORMAL,pStr,-1,pApp->cxScreen,&nFits);
		IDISPLAY_DrawText(pApp->a.m_pIDisplay,AEE_FONT_NORMAL,pStr,nFits,0,y,NULL,IDF_ALIGN_LEFT);
		y+=nLineHeight;
		pStr+=nFits;
	}
	IDISPLAY_SetColor(pApp->a.m_pIDisplay,CLR_USER_TEXT,textclr);
	IDISPLAY_Update(pApp->a.m_pIDisplay);
}
*/
//////////////////////////////////////////////////////////////////////////

int DispImage(CTheApp* pApp,char* pRec,int yPos)
{
	IImage* pIImage;
	AEEImageInfo	ii;
	AEECLSID cls;
	IMemAStream *pMemStream=NULL;
    
    long l;
	char* pCh;
	byte* pBuf;
	IDISPLAY_ClearScreen(pApp->a.m_pIDisplay);
	if(yPos>pApp->nNormalFontHeight)
		yPos=pApp->nNormalFontHeight;
	if(pRec==NULL)
		return yPos;
	pCh=MEMSTR(pRec,"\x89\x50\x4e\x47",pApp->nGrowMem);
	if(pCh==0)
		return yPos;
	l=pApp->nGrowMem-(pCh-pRec);
	if((pBuf=(byte*)MALLOC(l+1))==NULL)
		return yPos;
	MEMCPY(pBuf,pCh,l);

	
	cls=ISHELL_GetHandler(pApp->a.m_pIShell, HTYPE_VIEWER, "image/png");
	if(cls==0)
		return 0;
	
	ISHELL_CreateInstance(pApp->a.m_pIShell, cls,(void **)(&pIImage));
	if(pIImage==NULL)
		return 0;
	
	ISHELL_CreateInstance(pApp->a.m_pIShell, AEECLSID_MEMASTREAM, (void **)(&pMemStream));
	if (pMemStream==NULL)
	{
		IIMAGE_Release(pIImage);
		pIImage=NULL;
        return 0;
	}
	IMEMASTREAM_Set(pMemStream,pBuf,l,0,0);

	IIMAGE_SetStream(pIImage, (IAStream*)pMemStream);
	
	
	
    //DispBackground(pApp);
	IIMAGE_GetInfo(pIImage,&ii);
	if((yPos>=-ii.cy+pApp->nNormalFontHeight)&&(yPos<=pApp->nNormalFontHeight))
	{
		IIMAGE_Draw(pIImage,(pApp->cxScreen-ii.cx)/2,yPos);
		IDISPLAY_Update(pApp->a.m_pIDisplay);
	}
	IDISPLAY_Update(pApp->a.m_pIDisplay);
	IIMAGE_Release(pIImage);
	pIImage = NULL;
	IMEMASTREAM_Release(pMemStream);
	return  ii.cy+yPos; 
}
//////////////////////////////////////////////////////////////////////////
void GetContent(CTheApp* pApp)
{
	char* p;
	char* q;
	uint16 l;
	p=MEMSTR(pApp->pszReceiveData,"<u>",STRLEN(pApp->pszReceiveData));
	p+=3;
	q=MEMSTR(p,"</u>",STRLEN(p));
	l=q-p;
	pApp->nTxtLength=l;//保持文本长度
	if((pApp->pContent=(AECHAR*)MALLOC(l/2+2))==NULL)//分配出错
	{
		if(pApp->pszReceiveData)
		{
			FREE(pApp->pszReceiveData);
			pApp->pszReceiveData=NULL;
		}
		if(pApp->pMainMenuItem)
		{
			CleanMainMenuItemList(pApp);
			pApp->pMainMenuItem=NULL;
		}
		if(pApp->pIMenuCtl)
		{
			IMENUCTL_Release(pApp->pIMenuCtl);
			pApp->pIMenuCtl=NULL;
		}
		if(pApp->pSubMenuItem)
		{
			CleanSubMenuItemList(pApp);
			pApp->pSubMenuItem=NULL;
		}
		if(pApp->pIMenuCtl1)
		{
			IMENUCTL_Release(pApp->pIMenuCtl1);
			pApp->pIMenuCtl1=NULL;
		}
	}
	MEMSET(pApp->pContent,'\0',l/2+2);
	ConvertAECHAR(p,l,pApp->pContent);
	if(pApp->pszReceiveData)	//接收到的数据已经转换为unicode文本在pApp->Content中
	{
		FREE(pApp->pszReceiveData);
		pApp->pszReceiveData=NULL;
	}
	return;
}
//////////////////////////////////////////////////////////////////////////
/*
void DispHeadline(CTheApp* pApp,AECHAR* punicoStr)
{
	IStatic*  pIStatic;
	AEERect	rc;
	AECHAR* pText;
	rc.x=0;
	rc.y=0;
	rc.dx=pApp->cxScreen;
	rc.dy=pApp->nNormalFontHeight;
	pText=punicoStr;
	if(ISHELL_CreateInstance(pApp->a.m_pIShell,AEECLSID_STATIC,(void**)&pIStatic)==ENOMEMORY) 
	{
		ISHELL_SendEvent(pApp->a.m_pIShell,AEECLSID_VACATION,EVT_USER,USEREVT_MEMORY_FAILED,0);
		return;
	}
	ISTATIC_SetRect(pIStatic,&rc);  
	ISTATIC_SetText(pIStatic,NULL,pText,AEE_FONT_BOLD,AEE_FONT_NORMAL);
	ISTATIC_Redraw(pIStatic);
	if(pIStatic)
		ISTATIC_Release(pIStatic);
	return;
}
*/
void DispHeadline(CTheApp* pApp,AECHAR* punicoStr)
{
	int nFits;
	IDISPLAY_MeasureTextEx(pApp->a.m_pIDisplay,AEE_FONT_BOLD,punicoStr,-1,pApp->cxScreen-4,&nFits);
	//IDISPLAY_DrawText(pApp->a.m_pIDisplay,AEE_FONT_NORMAL,pStr,nFits,0,y,NULL,IDF_ALIGN_LEFT|IDF_TEXT_TRANSPARENT);
	IDISPLAY_DrawText(pApp->a.m_pIDisplay,AEE_FONT_BOLD,punicoStr,nFits,0,0,NULL,IDF_ALIGN_LEFT|IDF_TEXT_TRANSPARENT);
	return;
	
}
//////////////////////////////////////////////////////////////////////////
void ManipulatePageEnd(CTheApp* pApp,uint16 nDelt)
{
	IGraphics* pIGraphics;
	AECHAR aText[10];
	int x,y;
	AEERect	rc;
//	RGBVAL textclr;
	
	x=0;
	y=pApp->cyScreen-4*pApp->nNormalFontHeight;
	//textclr=IDISPLAY_SetColor(pApp->a.m_pIDisplay,CLR_USER_TEXT,0x0000ff00);	
	
	IDISPLAY_EraseRgn(pApp->a.m_pIDisplay,0,pApp->cyScreen-pApp->nNormalFontHeight*5, 
		pApp->cxScreen, pApp->nNormalFontHeight*5);
	DispScollBar(pApp,pApp->cyScreen-16);


	ISHELL_LoadResString(
		pApp->a.m_pIShell,VACATION_RES_FILE,IDS_FAVORITE,aText,10);
		
	IDISPLAY_DrawText(pApp->a.m_pIDisplay,AEE_FONT_NORMAL,aText,-1,
		x,y,NULL,IDF_ALIGN_LEFT|IDF_RECT_FRAME );
		
		
	y+=pApp->nNormalFontHeight;
	ISHELL_LoadResString(
		pApp->a.m_pIShell,VACATION_RES_FILE,IDS_NEXT,aText,10);
	IDISPLAY_DrawText(pApp->a.m_pIDisplay,AEE_FONT_NORMAL,aText,-1,
		x,y,NULL,IDF_ALIGN_LEFT|IDF_RECT_FRAME);
	y+=pApp->nNormalFontHeight;
	ISHELL_LoadResString(
		pApp->a.m_pIShell,VACATION_RES_FILE,IDS_RETURN,aText,10);
	IDISPLAY_DrawText(pApp->a.m_pIDisplay,AEE_FONT_NORMAL,aText,-1,
		x,y,NULL,IDF_ALIGN_LEFT|IDF_RECT_FRAME);
	
	
	
	rc.x=0;
	rc.dx=3*pApp->nNormalFontHeight;
	rc.y=pApp->cyScreen-pApp->nNormalFontHeight*(5-pApp->nPageEnd);
	rc.dy=pApp->nNormalFontHeight;
	ISHELL_CreateInstance(pApp->a.m_pIShell, AEECLSID_GRAPHICS, (void **)(&pIGraphics));
	IGRAPHICS_SetColor(pIGraphics,255,0, 0, 0);//red
	IGRAPHICS_SetFillMode(pIGraphics,FALSE);
	//IGRAPHICS_SetPaintMode(AEE_PAINT_XOR);
	//IGRAPHICS_SetFillColor(pIGraphics,255, 0,0,0);
	IGRAPHICS_DrawRect(pIGraphics, &rc);
	IGRAPHICS_Release(pIGraphics);
	IDISPLAY_Update(pApp->a.m_pIDisplay);
	/*
	if(nDelt==AVK_DOWN)
		pApp->nPageEnd++;
	if(nDelt==AVK_UP)
		pApp->nPageEnd--;
	
	if(pApp->nPageEnd>=4)
		pApp->nPageEnd=3;
	if(pApp->nPageEnd==1)
		pApp->nPageEnd=0;
		*/
	return;
}
//////////////////////////////////////////////////////////////////////////
/*
void DispFavContent(CTheApp* pApp,WPARAM wParam)
{
	IDBRecord* pIDBRec=NULL;
	IFileMgr* pIFileMgr;
	IFile* pIFile;
	FileInfo fi;
	uint16 RecordCount=0;
	uint16	i,fieldLen,idItem;
	AEEDBFieldType fieldType;    // stores field type
    AEEDBFieldName fieldName;    // stores field name
    AECHAR* data=NULL;
    char  data1[200]={'\0'};
	CtlAddItem  pai;
	AECHAR pBuf[1024]={'\0'};
	}

	idItem=IMENUCTL_GetItemID(pApp->pIMenuCtl1,wParam);
	IMENUCTL_GetItem(pApp->pIMenuCtl1,idItem, &pai);
	

	RecordCount = IDATABASE_GetRecordCount(pApp->pIDatabase);
	IDATABASE_Reset(pApp->pIDatabase);
	for(i=1;i<=RecordCount;i++)
	{
		pIDBRec=IDATABASE_GetNextRecord(pApp->pIDatabase);
		fieldType = IDBRECORD_NextField (pIDBRec, &fieldName, &fieldLen);
		fieldType = IDBRECORD_NextField (pIDBRec, &fieldName, &fieldLen);
		data = (AECHAR*)IDBRECORD_GetField (pIDBRec, &fieldName, &fieldType, &fieldLen);
		
		if(WSTRCMP((AECHAR*)data,(AECHAR*)pai.pText)==0)
		{
			IDBRECORD_Reset( pIDBRec);
			fieldType = IDBRECORD_NextField (pIDBRec, &fieldName, &fieldLen);
			data = (AECHAR*)IDBRECORD_GetField (pIDBRec, &fieldName, &fieldType, &fieldLen);
			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;   
			}
			pIFile=IFILEMGR_OpenFile(pIFileMgr,data,_OFM_READ);
			IFILE_GetInfo(pIFile, &fi);
			IFILE_Read(pIFile, (void *)pBuf, fi.dwSize);
			
		}

	}
	return;
}
*/
//////////////////////////////////////////////////////////////////////////
/*
void DispTriangle(CTheApp* pApp,int n)
{
	IGraphics* pIGraphics;
	AEETriangle trgl;
	ISHELL_CreateInstance(pApp->a.m_pIShell, AEECLSID_GRAPHICS, (void **)(&pIGraphics));
	trgl.x0=10;
	trgl.x1=13;
	trgl.x2=10;
	trgl.y0=pApp->nHeaderHeight+n*pApp->nNormalFontHeight/2;
	trgl.y1=trgl.y0+3;
	trgl.y2=trgl.y0+6;
	IGRAPHICS_SetColor(pIGraphics,255,0, 0, 0);//red
	IGRAPHICS_SetFillMode(pIGraphics,TRUE);
	IGRAPHICS_SetFillColor(pIGraphics,255, 0,0,0);
	IGRAPHICS_DrawTriangle(pIGraphics, &trgl);
	IGRAPHICS_Release(pIGraphics);
	IDISPLAY_Update(pApp->a.m_pIDisplay);
}
*/
//////////////////////////////////////////////////////////////////////////
void DispScollBar(CTheApp* pApp,int y)
{
	IGraphics* pIGraphics;
	AEERect rc;
	if(ISHELL_CreateInstance(pApp->a.m_pIShell, AEECLSID_GRAPHICS, (void **)(&pIGraphics))==ENOMEMORY)
	{
		ISHELL_SendEvent(pApp->a.m_pIShell,AEECLSID_VACATION,EVT_USER,USEREVT_MEMORY_FAILED,0);
		return;
	}
	IGRAPHICS_SetFillMode(pIGraphics,TRUE);
	
	IGRAPHICS_SetColor(pIGraphics,0,255,0, 0);//green
	IGRAPHICS_SetFillColor(pIGraphics,0, 0,255,0);
	//IGRAPHICS_SetPaintMode(AEE_PAINT_XOR);
	rc.x=pApp->cxScreen-4;
	rc.dx=3;
	rc.y=0;//pApp->nNormalFontHeight;
	rc.dy=pApp->cyScreen;//-pApp->nNormalFontHeight;
	IGRAPHICS_DrawRect(pIGraphics, &rc);//画轨道
	
	
	IGRAPHICS_SetColor(pIGraphics,255,0,0, 0);
	IGRAPHICS_SetFillColor(pIGraphics,0, 0,255,0);
	rc.x=pApp->cxScreen-4;
	rc.dx=3;
	rc.y=y;
	rc.dy=16;
	IGRAPHICS_DrawRect(pIGraphics, &rc);//画滑块

	IGRAPHICS_Release(pIGraphics);
	IDISPLAY_Update(pApp->a.m_pIDisplay);
	return;
}
//////////////////////////////////////////////////////////////////////////

//----------------------

		
	
		
		
	
		

⌨️ 快捷键说明

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