📄 render_loadcss.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 + -