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

📄 render_loadcss.cpp

📁 monqueror一个很具有参考价值的源玛
💻 CPP
字号:
#include <assert.h>#include "render_interface.h"#include "string.h"#include <minigui/window.h>#include "../css/css_valueimpl.h"#include "render_cachecss.h"#include "render_loadcss.h"#include "mgmessage.h"#define DEBUG_BY_XHTANG 0using namespace DOM;using namespace khtml;MGCSSLoader::MGCSSLoader(){	setType(MGLOADERTYPE_CSS);}	MGCSSLoader::~MGCSSLoader(){}bool MGCSSLoader::LoadedMsgFromNet( unsigned char *url ,unsigned char *buf,int length){	char s[URL_TEMPNAMELENGTH];	if(!MGLoadObject::LoadedMsgFromNet(url,buf,length,s))return 0;			DOM::CSSImportRuleImpl *cssIRImpl=0;	MGCachedCSSStyleSheet *cachedCSS=0;	FromUrlLoaded(url,&cssIRImpl,&cachedCSS);	if(cachedCSS)cachedCSS->LoadDataFromTempFile(s);//	if(cssIRImpl);//should be added later//	if(m_req.isEmpty())//		SendNotifyMessage(m_hWnd, MSG_IMAGELAYOUT ,0,0);	return 1;}void MGCSSLoader::FromUrlLoaded( unsigned char *url ,DOM::CSSImportRuleImpl **cssIRImpl,MGCachedCSSStyleSheet **cachedCSS){	bool bFind=SeekLoadListByUrl(url);	*cssIRImpl=bFind?(m_load.current())->cssIRImpl:0;	*cachedCSS=bFind?(m_load.current())->cachedCSS:0;}MGCachedCSSStyleSheet* MGCSSLoader::RequestCSSStyleSheet(DOM::DOMString& murl, unsigned char *url ){//	return	new MGCachedCSSStyleSheet(murl);//just for test www.w3.org	//fprintf(stderr,"MGCSSLoader:%s\n",url);	char s[URL_TEMPNAMELENGTH+1],t[URL_TEMPNAMELENGTH+1];	if(isLocalFile(url)){		return new MGCachedCSSStyleSheet( murl,url);		}	if(isLoaded(url)){		strcpy(s,m_load.current()->TempName);		CompleteTempName(s);		return new MGCachedCSSStyleSheet( murl,(unsigned char*)s);		}	if(isRequested(url))		return 0;	strcpy(s,"sty-");	sprintf(t,"%d",++m_nRequested);	strcat(s,t);	if(strlen((char *)url)>=4&&*(url+strlen((char *)url)-4)=='.')		strcat(s,(char *)url+strlen((char *)url)-4);	else		strcat(s,".css");			LoadUrlStruct *rus=new LoadUrlStruct();//	strcpy(rus->url,url);	strncpy((char *)rus->url,(char *)url,URL_STRINGMAXLENGTH);	rus->url[URL_STRINGMAXLENGTH] = 0;	strncpy(rus->TempName,s,URL_TEMPNAMELENGTH);//	m_req.append(rus);//	RequestMsgToNet(rus->url);		MGCachedCSSStyleSheet* cachedCSS= new MGCachedCSSStyleSheet(murl);	rus->cachedCSS = cachedCSS;	rus->cssIRImpl = 0;	m_req.append(rus);	RequestMsgToNet(rus->url);	return cachedCSS;}

⌨️ 快捷键说明

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