1005 lines
29 KiB
TypeScript
1005 lines
29 KiB
TypeScript
interface conch_File{
|
||
//lastModifiedDate:number;
|
||
// name:string;
|
||
size:number;
|
||
type:string;
|
||
close():void;
|
||
slice(b:number,e:number):void;
|
||
enableCache:boolean;
|
||
}
|
||
declare var conch_File:{new(url:string):conch_File;};
|
||
declare var File:{new(url:string):conch_File;};
|
||
|
||
|
||
interface conch_FileReader {
|
||
_t:any;
|
||
setIgnoreError:(b:boolean)=>void;
|
||
sync:boolean;
|
||
error:string;
|
||
result:string|ArrayBuffer;
|
||
onload:()=>void;
|
||
onloadend:()=>void;
|
||
onerror:(e:number)=>void;
|
||
onabort:()=>void;
|
||
abort():void;
|
||
onprogress:(total:number,now:number,speed:number)=>void;
|
||
responseType:number;
|
||
readyState:number;
|
||
readAsArrayBuffer(f:conch_File):void;
|
||
readAsText(f:conch_File):void;
|
||
readAsDataURL(file:any):void;
|
||
getErrorCode():number;
|
||
getHttpCode():number;
|
||
new():conch_FileReader;
|
||
}
|
||
|
||
declare var conch_FileReader:conch_FileReader;
|
||
|
||
declare var FileReader:conch_FileReader;
|
||
|
||
interface history{
|
||
back():void;
|
||
go(step:number):void;
|
||
forward():void;
|
||
_push(url:string):void;
|
||
length:number;
|
||
}
|
||
|
||
declare var history:history;
|
||
|
||
declare module 'async' {
|
||
export function delay(ms: number): Promise<{}>;
|
||
export function loadImage(src: string): Promise<HTMLImageElement>;
|
||
export function loadText(src: string): Promise<string>;
|
||
export function downloadSync(url: string, bin: boolean, onprog: (total: number, now: number, speed: number) => number): Promise<{}>;
|
||
/**
|
||
* 等待完成回调
|
||
*/
|
||
export function regGlobal(window: Window): void;
|
||
}
|
||
|
||
interface AppCache{
|
||
cacheSize:number;
|
||
/**
|
||
* 用一个dcc文件来更新所有的资源。
|
||
* @param dccURL dcc文件的地址。
|
||
* @param checkSum
|
||
* @param onchkok 更新成功的回调。
|
||
* @param onchkerr 更新失败的回调。
|
||
*
|
||
* 还没有实现
|
||
*/
|
||
update(dccURL:string, checkSum:number, onchkok:()=>void, onchkerr:()=>void):void;
|
||
|
||
/**
|
||
* 把一个url转换成本地地址
|
||
*/
|
||
url2Local(url:string):string;
|
||
|
||
/**
|
||
* 是否允许缓存。
|
||
* 还没实现
|
||
*/
|
||
enableCache:boolean;
|
||
|
||
/**
|
||
* 获取一个保存的值。这个值被存在resources目录下。
|
||
*/
|
||
getResourceID(res:string):string;
|
||
/**
|
||
* 设置一个需要保存的值。
|
||
*/
|
||
setResourceID(res:string, id:string):void;
|
||
|
||
/**
|
||
* 把dcc的内容保存下来。
|
||
*/
|
||
saveFileTable(dccdata:string):void;
|
||
|
||
/**
|
||
* 从缓存中读取某个文件。同步返回。
|
||
* 如果带有BOM的话,会去掉。
|
||
*/
|
||
loadCachedURL(url:string):string;
|
||
|
||
/**
|
||
* 得到当前的缓存目录
|
||
*/
|
||
getCachePath():string;
|
||
|
||
/**
|
||
* 获得所有的缓存过的app.
|
||
* return Array<string> 返回一个array,每个都是一个app的url
|
||
*/
|
||
getAppList():Array<{path:string,url:string}>;
|
||
|
||
/**
|
||
* 获得某个app缓存的大小
|
||
*/
|
||
getAppSize(app:string):number;
|
||
|
||
/**
|
||
* 删除某个app的缓存
|
||
*/
|
||
delAppCache(app:string):void;
|
||
|
||
/**
|
||
* 删除所有的缓存
|
||
*/
|
||
delAllCache():void;
|
||
/**
|
||
* 更新dcc中的一个文件
|
||
* @param nameid 更新的文件,自己计算。
|
||
* 路径规则:/,表示app根目录。例如:hashstr('/index.html'), 不要带参数,如果带参数的话-- hashstr('/aa/bb.html?ff=2') 会导致谁也找不到这个文件
|
||
* @param chksum 校验码,如果0则此函数自己计算。如果是外部版本控制,则这个是hashstr后的版本号。
|
||
* @param buf ArrayBuffer 文件内容。
|
||
* @param extversion 是否使用外部版本号
|
||
* @return boolean 如果返回true则表示更新成功,否则的话,表示校验码不一致,即
|
||
* 先要更新dcc才能工作。
|
||
*/
|
||
updateFile(nameid:number,chksum:number,buf:ArrayBuffer,extversion:boolean):boolean;
|
||
|
||
hashstr(str:string):number;
|
||
}
|
||
|
||
declare var AppCache:{
|
||
prototype:AppCache,
|
||
/**
|
||
* 传入的参数是app的url,是一个目录。
|
||
*/
|
||
new(url:string):AppCache
|
||
};
|
||
|
||
interface _XMLHttpRequest{
|
||
_t:any;//这个是不得已。为什么不用this呢,因为jsc不行啊
|
||
get_readyState():number;
|
||
get_status():number;
|
||
responseTypeCode:number;
|
||
/**
|
||
* 就是url
|
||
*/
|
||
get_responseURL():string;
|
||
_open(method:'post',url:string,async:boolean):void;
|
||
_open(method:'get',url:string,async:boolean):void;
|
||
_open(method:string,url:string,async:boolean):void;
|
||
|
||
/**
|
||
* 设置头,一次只能设置一个,可以设置多次。
|
||
*/
|
||
setRequestHeader(name:string,value:string);
|
||
/**
|
||
* 设置当状态改变后的回调函数。
|
||
*/
|
||
set_onreadystatechange(f:(state:number)=>void);
|
||
/**
|
||
* 脚本设置状态,会触发set_onreadystatechange 设置的函数。
|
||
*/
|
||
_changeState(s:number);
|
||
/**
|
||
* 设置post的回调函数。
|
||
*/
|
||
setPostCB(onok:(result:string|ArrayBuffer,strresult?:string)=>void,onerr:(e1:number,e2:number)=>void);
|
||
postString(url:string,data:string,onok:(result:string,result1:string)=>void,onerr:(e:number)=>void);
|
||
postData(url:string, data:string|ArrayBuffer);
|
||
/**
|
||
* 只有有header的时候才调用这个
|
||
*/
|
||
getData(url:string);
|
||
|
||
//扩展的
|
||
mimeType:string;
|
||
/* responseType:string;
|
||
responseText:string;
|
||
response:string|ArrayBuffer;
|
||
url:string;
|
||
async:boolean;
|
||
method:string;
|
||
evtmap:Object; //TODO 这个要去掉。
|
||
readyState:number;
|
||
status:number;*/
|
||
}
|
||
|
||
interface _XmlDocument
|
||
{
|
||
childNodes:Array<_XmlNode>;
|
||
}
|
||
declare var _XmlDocument
|
||
|
||
interface _XmlNode
|
||
{
|
||
nodeValue:string;
|
||
nodeName:string;
|
||
textContent:string;
|
||
childNodes:Array<_XmlNode>;
|
||
attributes:Array<_XmlAttr>;
|
||
|
||
}
|
||
declare var _XmlNode:{new():_XmlNode};
|
||
|
||
interface _XmlAttr
|
||
{
|
||
nodeValue:string;
|
||
nodeName:string;
|
||
textContent:string;
|
||
}
|
||
declare var _XmlAttr:{new():_XmlAttr};
|
||
|
||
declare var _XMLHttpRequest:{new():_XMLHttpRequest;};
|
||
interface _DOMParser
|
||
{
|
||
parseFromString(s:String,t:String):_XmlDocument;
|
||
getResult():_XmlDocument;
|
||
src:string;
|
||
onload:()=>void;
|
||
onerror:()=>void;
|
||
_onload:any;
|
||
_onerror:any;
|
||
}
|
||
|
||
declare var _DOMParser:{new():_DOMParser;};
|
||
|
||
|
||
interface ZipFile{
|
||
/**
|
||
* 注意这个文件不要太大,因为需要在内存中解开,太大了会直接导致崩溃。
|
||
*/
|
||
setSrc(src:string):boolean;
|
||
/**
|
||
* 遍历zip中的文件。
|
||
* id:
|
||
* name:文件名,包含路径
|
||
* dir:是否是
|
||
* sz:文件大小
|
||
*/
|
||
forEach(func:(id:number,name:string,dir:boolean,sz:number)=>void):void;
|
||
/**
|
||
* 不要用。
|
||
*/
|
||
readFile1():void;
|
||
/**
|
||
* 读取zip中的文件的内容,返回一个ArrayBuffer
|
||
*/
|
||
readFile(id:number):ArrayBuffer;
|
||
close():void;
|
||
new ():ZipFile;
|
||
}
|
||
|
||
declare var ZipFile:ZipFile;
|
||
|
||
declare class ConchInput{
|
||
left:number;
|
||
top:number;
|
||
width:number;
|
||
height:number;
|
||
opacity:number;
|
||
style:string;
|
||
value:string;
|
||
visible:boolean;
|
||
addEventListener(name:string,funciton:any):void;
|
||
setLeft(l:number);
|
||
setTop(t:number);
|
||
setWidth(w:number);
|
||
setHeight(h:number);
|
||
setOpacity(o:number);
|
||
setValue(v:string);
|
||
getValue():string;
|
||
setStyle(s:string);
|
||
setVisible(b:boolean);
|
||
focus();
|
||
blur();
|
||
setColor(c:string);
|
||
setFontSize(s:number);
|
||
setPos(x:number,y:number);
|
||
setSize(w:number,h:number);
|
||
setCursorPosition(p:number);
|
||
setScale(w:number,h:number);
|
||
setMaxLength(l:number);
|
||
setType(t:string);
|
||
setNumberOnly(b:boolean);
|
||
setRegular(r:string);
|
||
setFont(f:string);
|
||
setMultiAble(b:boolean);
|
||
setForbidEdit(b:boolean);
|
||
setBgColor(c:string);
|
||
}
|
||
|
||
declare class conchImage{
|
||
conchImgId:number;
|
||
width:number;
|
||
height:number;
|
||
src:string;
|
||
obj:Object;
|
||
srcs:number;
|
||
_onload:(evt:Event)=>any;
|
||
onload:(evt:Event)=>any;
|
||
onerror:(err:number)=>void;
|
||
complete:boolean;
|
||
setSrc(src:string):void;
|
||
getImageData():ArrayBuffer;
|
||
rect(x:number,y:number,w:number,h:number):void;
|
||
test_setResState(state:number):void;
|
||
putBitmapData(data:ArrayBuffer,w:number,h:number):void;
|
||
putData(data:ArrayBuffer);
|
||
destroy():void;
|
||
enableMerageInAtlas(value:boolean):void;
|
||
releaseTexture():void;
|
||
setBase64(base64:string):void;
|
||
setPremultiplyAlpha(b:Boolean):void;
|
||
}
|
||
|
||
declare class _layagl{
|
||
setSize(w:number,h:number);
|
||
setType(type:number);
|
||
measureText(font:string,text:string):TextMetrics;
|
||
setSyncArrayBufferID(id:number);
|
||
setFrameAndSyncCountArrayBufferID(id:number);
|
||
setRootCommandEncoder(id:number);
|
||
addGlobalValueDefine(nModifyType:number, nDataType:number, nSize:number, deaultValue:any):number;
|
||
endGlobalValueDefine();
|
||
getProgramParameterEx(vs:string,ps:string,define:string,pname:number):number;
|
||
getActiveAttribEx(vs:string,ps:string,define:string,index:number):any;
|
||
getActiveUniformEx(vs:string,ps:string,define:string,index:number):any;
|
||
getAttribLocationEx(vs:string,ps:string,define:string,name:string):any;
|
||
getStringEx(name:number):string;
|
||
getShaderInfoLogEx(src:string,type:number):string;
|
||
getProgramInfoLogEx(vs:string,ps:string,define:string):string;
|
||
getParameter(pname:number):any;
|
||
getIntegerv(pname:number):number;
|
||
getIntegerArrayv(pname:number):number[];
|
||
getFloatv(pname:number):number;
|
||
getFloatArrayv(pname:number):number[];
|
||
getBooleanv(pname:number):number;
|
||
getShaderPrecisionFormat(shaderType:number, precisionType:number):any;
|
||
getBufferParameter(target:number,pname:number);
|
||
getFramebufferAttachmentParameter(target:number,attachment:number,pname:number);
|
||
getRenderbufferParameter(target:number,pname:number);
|
||
getTexParameter(target:number,pname:number);
|
||
getShaderParameter(src:string,type:number,pname:number);
|
||
defineShaderMacro(nID:number, sMacro:string, uniformInfo:string);
|
||
getThreadMode();
|
||
checkFramebufferStatusEx(target:any):any;
|
||
getVertexAttribEx(index:number, pname:any):any;
|
||
getVertexAttribExfv(index:number, pname:any):any;
|
||
getVertexAttribOffset(index:number, pname:any):any;
|
||
getBufferParameterEx(target:number, pname:number):number;
|
||
getRenderbufferParameterEx(target:number, pname:number):number;
|
||
getTexParameterEx(target:any, pname:any):number;
|
||
isEnabled(cap):number;
|
||
getUniformEx(locationName:string):any;
|
||
flushCommand():void;
|
||
readPixels(x:number, y:number, width:number, height:number, format:any, type:any);
|
||
setMainContextSize(width:number, hegiht:number);
|
||
}
|
||
declare var layagl:_layagl;
|
||
|
||
declare class _webglPlus{
|
||
evaluateClipDatasRealTime(nodes:any, playCurTime:number, realTimeCurrentFrameIndexs:any, addtive:boolean, frontPlay:boolean);
|
||
updateAnimationNodeWorldMatix(locPosition, locRotation, locScaling, parentIndices, outWorldMatrix);
|
||
computeSubSkinnedData(worldMatrixs, worldMatrixIndex, inverseBindPoses,boneIndices, bindPoseInices, resultData);
|
||
createArrayBufferRef(buffer:any, type:number,isSyncToRender:boolean,refType:number);
|
||
updateArrayBufferRef(bufferID:number,isSyncToRender:boolean, buffer:any);
|
||
syncArrayBufferDataToRuntime(bufferID:number,isSyncToRender:boolean, buffer:any);
|
||
culling(boundFrustumBuffer:Float32Array,cullingBuffer:Float32Array, cullingBufferIndices:Int32Array, cullingCount:number, cullingBufferResult:Int32Array):number;
|
||
}
|
||
declare var webglPlus:_webglPlus;
|
||
|
||
declare class _callbackFuncObj
|
||
{
|
||
constructor(id:number);
|
||
id:number;
|
||
addCallbackFunc(int:number,func:any);
|
||
}
|
||
|
||
declare class _conchFloatArrayKeyframe
|
||
{
|
||
setTime(value:number);
|
||
getTime():number;
|
||
setInTangent(value:Float32Array);
|
||
setOutTangent(value:Float32Array);
|
||
setValue(value:Float32Array);
|
||
setData(value:Float32Array);
|
||
}
|
||
|
||
declare class _conchKeyframeNode
|
||
{
|
||
_indexInList:number;
|
||
type:number;
|
||
fullPath:string;
|
||
propertyOwner:string;
|
||
ownerPathCount:number;
|
||
propertyCount:number;
|
||
keyFramesCount:number;
|
||
getOwnerPathCount();
|
||
_setOwnerPathCount(value:number);
|
||
getPropertyCount();
|
||
_setPropertyCount(value:number);
|
||
getKeyFramesCount();
|
||
_setKeyframeCount(value:number);
|
||
getOwnerPathByIndex(index:number);
|
||
_setOwnerPathByIndex(index:number, value:string);
|
||
getPropertyByIndex(index:number);
|
||
_setPropertyByIndex(index:number, value:string);
|
||
getKeyframeByIndex(index:number);
|
||
_joinOwnerPath(value:string);
|
||
_joinProperty(value:string);
|
||
setFloat32ArrayData(data:any);
|
||
getDataType();
|
||
getFloatData();
|
||
}
|
||
declare class _conchKeyframeNodeList
|
||
{
|
||
setCount(value);
|
||
setNodeByIndex(index,node);
|
||
}
|
||
|
||
declare class context{
|
||
getID();
|
||
setSize(w:number,h:number);
|
||
setType(type:number);
|
||
commitToGPU();
|
||
}
|
||
|
||
declare class ConchCanvas{
|
||
conchThisID:number;
|
||
conchImgId:number;
|
||
width:number;
|
||
height:number;
|
||
conchCanvasId:number;
|
||
getThisID():number;
|
||
isCanvas():boolean;//true
|
||
setSize(w:number,h:number):void;
|
||
//getContext(ctx:"2d"):context;
|
||
//getContext(ctx:"experimental-webgl"):LayaWebGL2;
|
||
//getContext(ctx:"webgl"):LayaWebGL2;
|
||
//getContext(ctx:string):void;
|
||
/**
|
||
* 内部函数。设置canvas的2dcontext
|
||
*/
|
||
_setCtx2D(ctx:any):void;
|
||
}
|
||
|
||
declare class ConchAudio{
|
||
autoplay:boolean;
|
||
loop:boolean;
|
||
muted:boolean;
|
||
src:string;
|
||
volume:number;
|
||
currentTime:Number;
|
||
setLoop(b:boolean):void;
|
||
play():void;
|
||
pause():void;
|
||
stop():void;
|
||
addEventListener(evt:string,callback:any);
|
||
}
|
||
|
||
declare class ConchVideo {
|
||
conchImgId: number;
|
||
width: number;
|
||
height: number;
|
||
videoWidth: number;
|
||
videoHeight: number;
|
||
currentTime: number;
|
||
|
||
readonly duration:number;
|
||
readonly readyState:number;
|
||
|
||
load():void;
|
||
play():void;
|
||
pause():void;
|
||
readonly paused: boolean;
|
||
|
||
src:string;
|
||
|
||
x:number;
|
||
y:number;
|
||
|
||
volume:number
|
||
muted:boolean;
|
||
|
||
loop:boolean;
|
||
autoplay:boolean;
|
||
|
||
canPlayType(val:string):boolean;
|
||
addEvent(type: string): void;
|
||
removeEvent(type:string):void;
|
||
_setDispatchEventFunc(callback:any);
|
||
_releaseHandler();
|
||
}
|
||
|
||
interface conchConfig{
|
||
PerfUpdateDt:(id:number,dt:number)=>void;
|
||
PerfAddData:(id:number,color:number,scale:number,alert:number)=>void;
|
||
PerfDelData:(id:number)=>void;
|
||
//PerfShow:(b:number)=>void;
|
||
//启动程序的时候的额外参数
|
||
paramExt:string;
|
||
glCaps:GL_CAPS;
|
||
maxFileMemSize:number;
|
||
maxTextureMemSize:number;
|
||
atlasWidth:number;
|
||
atlasHeight:number;
|
||
atlasGridSize:number;
|
||
atlasNum:number;
|
||
localizable:boolean;
|
||
pushAtlasMaxWidth:number;
|
||
maxEJAnimation:number;
|
||
urlIgnoreCase:boolean;
|
||
getStoragePath():string;
|
||
setMemoryCanvasSize(w:number,h:number):void;
|
||
getTotalMem():number;
|
||
getUsedMem():number;
|
||
getAvalidMem():number;
|
||
getScreenInch():number;
|
||
setTouchMoveRange(r:number):void;
|
||
getScreenOrientation():number;
|
||
setScreenOrientation(o:number):void;
|
||
setScreenScale(sw:number,sh:number,tx:number,ty:number):void;
|
||
getScreenScaleW():number;
|
||
getScreenScaleH():number;
|
||
setUrlIgnoreCase(b:boolean):void;
|
||
getUrlIgnoreCase():boolean;
|
||
/**
|
||
* 返回网络类型
|
||
* NET_NO: 0 没有网络
|
||
* NET_2G: 1 2g网络
|
||
* NET_3G: 2 3g网络
|
||
* NET_4G: 3 4g网络
|
||
* NET_WIFI: 4 wifi
|
||
* NET_UNKNOWN:5 未知网络
|
||
*/
|
||
getNetworkType():number;
|
||
getRuntimeVersion():string;
|
||
setDownloadTryNum(opttry:number,conntry:number):void;
|
||
setDownloadPathReplace(ori:string,replace:string):void;
|
||
setDownloadTail(type:number,tail:string):void;
|
||
setDownloadNoResponseTimeout(tm:number):void;
|
||
setDownloadReplaceExt(ori:string,replace:string):void;
|
||
setDownloadUseSession(b:boolean):void;
|
||
addChkIgnoreChksumExt(ext:string):void;
|
||
clearChkIgnoreChksumExt():void;
|
||
/**
|
||
*
|
||
*/
|
||
setDownloadUnmask(ext:string,key:number,len:number):void;
|
||
/**
|
||
* 设置版本控制字符串
|
||
* 如 xxx.png?v=123 既可以传入conchConfig.setDownloadVersionString("v");
|
||
*/
|
||
setDownloadVersionString(str:string):void;
|
||
/**
|
||
* 返回平台类型
|
||
"Conch-ios"
|
||
"Conch-android"
|
||
"Conch-window"
|
||
*/
|
||
getOS():string;
|
||
/**
|
||
* 获得唯一标示
|
||
*/
|
||
getGuid():string;
|
||
/**
|
||
* 获取设备信息JSON字符串格式
|
||
* 例如"{\"resolution\":\"1920*1080\", \"guid\":\"xxxxxxxxx\",\"imei\":[\"imeixxx\"],\"imsi\":[\"imsixxx\"],\"os\":\"windows\",\"osversion\":\"windows7 64\",\"phonemodel\":\"Wintel\" }"
|
||
*/
|
||
getDeviceInfo():string;
|
||
/**
|
||
* return 返回是否是插件模式
|
||
*/
|
||
getIsPlug():boolean;
|
||
/**
|
||
* 设置是否30帧
|
||
* @parms b 是否30帧
|
||
*/
|
||
setSlowFrame(b:boolean);
|
||
|
||
}
|
||
|
||
declare var conchConfig:conchConfig;
|
||
|
||
declare interface conchMarket{
|
||
constructor();
|
||
setIAPCallBack(callback:(string)=>void):void;
|
||
setIAPPurchaseResult(rst:string):void;
|
||
}
|
||
declare var conchMarket:conchMarket;
|
||
|
||
|
||
declare class conchNotify{
|
||
constructor();
|
||
}
|
||
|
||
/*
|
||
socket接收到的数据
|
||
*/
|
||
interface ws_msgdata{
|
||
data:string|ArrayBuffer; //TODO 怎么能限制成string或者ArrayBuffer
|
||
}
|
||
/*
|
||
declare var ws_msgdata:{
|
||
new(): ws_msgdata;
|
||
}
|
||
*/
|
||
//
|
||
/*
|
||
websocket
|
||
*/
|
||
declare class ConchWebSocket{
|
||
constructor(url:string);
|
||
binaryType:string;
|
||
timegap:number;
|
||
readyState:number;
|
||
onopen:()=>void;
|
||
protected _onmessage:(msg:string|ArrayBuffer)=>void;
|
||
onclose:()=>void;
|
||
onerror:()=>void;
|
||
close():void;
|
||
send(msg:string|ArrayBuffer):void;
|
||
}
|
||
|
||
interface downloadOptions{
|
||
connTimeout:number;
|
||
downloadTimeout:number;
|
||
noCache:boolean;
|
||
}
|
||
|
||
interface _conchTextCanvas {
|
||
initFreeTypeDefaultFontFromFile(defaultTTFs:string):boolean;
|
||
initFreeTypeDefaultFontFromBuffer(ab:ArrayBuffer):boolean;
|
||
setFontFaceFromUrl(fontFamily:string, TTFFileName:string):boolean;
|
||
setFontFaceFromBuffer(fontFamily:string, ab:ArrayBuffer):boolean;
|
||
removeFont(fontFamily:string):boolean;
|
||
font:string;
|
||
setFontInfo(font:string):void;
|
||
measureChar(unicode:number):any;
|
||
_getTextBitmapData(sText:string, color:number, borderSize:number, borderColor:number):any;
|
||
scale(x:number,y:number):void;
|
||
}
|
||
interface _textBitmap
|
||
{
|
||
width;
|
||
height;
|
||
data;
|
||
}
|
||
interface conch {
|
||
onerror:Function;
|
||
__onerror:Function;
|
||
onunhandledrejection:Function;
|
||
__onunhandledrejection:Function;
|
||
exp:any;
|
||
captureScreen(cb:(ab:ArrayBuffer,w:number,h:number)=>void):void;
|
||
saveAsPng(ab:ArrayBuffer,w:number,h:number,file:string);
|
||
loadingAuto:boolean;
|
||
callMethod(objid:number,isSyn:boolean,className:string,methodName:string,param:string):string
|
||
presetUrl:string; //预设的url。一般是java或者通过参数传入的
|
||
setHref(url:string);
|
||
setMouseEvtFunction(f:Function);
|
||
setKeyEvtFunction(f:Function);
|
||
setTouchEvtFunction:(cb:(touchtype:number,id:number,etype:string,x:number,y:number)=>void)=>void;
|
||
setDeviceMotionEvtFunction(f:Function);
|
||
setNetworkEvtFunction(f:Function);
|
||
setOnBackPressedFunction(f:()=>void);
|
||
exit();//only android
|
||
createTextureGroup(): any;//JSTextureGroup
|
||
createBoneAnimTemplate(): any;//JSBoneAnimTemplate
|
||
createBoneAnimation(): any;//JSBoneAnimation
|
||
createBoneInfo(): any;//JSBoneInfo
|
||
createEJTextureData(): any;//JSEJTextureData
|
||
createTextWord(): any;//JSArrayTextWord
|
||
createTextWordArray(): void;
|
||
createTextWordImage(): void;
|
||
printAllMemorySurvey(): void;
|
||
setOnFrame(onframe: () => void): void;
|
||
setOnDraw(onDraw:(vsynctm:number)=>void):void;
|
||
setOnInvalidGLRes(): void;
|
||
setOnTextureInvalid(f:(texid:number)=>void): void;
|
||
setOnTextureRestore(f:(texid:number)=>void): void;
|
||
setOnCommitStream(): void;
|
||
setRootNode(): void;
|
||
_setRootNode(): void;
|
||
pushUrl(url: string): void;
|
||
getRunParam(): string;
|
||
setOnOriChanged(cb: (number)): void;
|
||
showLoadingView(b: boolean): void;
|
||
showWaiting(b: boolean): void;
|
||
showAssistantTouch(b: boolean): void;
|
||
setScreenWakeLock(b: boolean): void;
|
||
setUrlToLower(b: boolean): void;
|
||
setFontFace(family: string, src: string, type: string): void;
|
||
addErrorEventListener(errname: string, handler: (type: number, desc: string, param: number) => void): void;
|
||
showLogoImage(b: boolean): void;
|
||
setLogoImageNode(node: any): void;
|
||
_setLogoImageNode(node: any): void;
|
||
setRunInfoNode(node: any): void;
|
||
getLogoImageState(): boolean;
|
||
popToast(msg: string): void;
|
||
setOnBlur(cb: () => void): void;
|
||
setOnFocus(cb: () => void): void;
|
||
/**
|
||
* 窗口大小发生改变了。第一次调用
|
||
* @param cb 回调函数。
|
||
*/
|
||
setOnResize(cb: (w: number, h: number) => void): void;
|
||
commitStream(cmds: string): void;
|
||
JSToJavaBridge(jsname: string, method: string, jsonparam: string): void;
|
||
printTextureManagerInfo(): void;
|
||
byteCompress(dt: ArrayBuffer): void;
|
||
byteUnCompress(dt: ArrayBuffer): ArrayBuffer;
|
||
setMaxFPS(fps: number): void;
|
||
showFPS(x:number,y:number):void;
|
||
getCountVertext():number;
|
||
getCountGroup():number;
|
||
getCountNode():number;
|
||
setSensorAble(b:boolean):void;
|
||
|
||
/**
|
||
* conch_jsgcdebug 对象在被垃圾回收后的会回调指定的func,传入一个对象id。
|
||
*/
|
||
setOnGCCallback(func:(objid:number)=>void): void;
|
||
/**
|
||
* 给调试器发送一个命令。
|
||
* @param jsonmsg 是一个json字符串
|
||
*/
|
||
sendDbgMsg(jsonmsg: string): void;
|
||
//供扩展用
|
||
config: conchConfig;
|
||
market: any;
|
||
notify: any;
|
||
/**
|
||
* 在js引擎的调试环境中执行一段脚本。
|
||
* 给v8用。实际封装在一个函数中,参数是 exec_state
|
||
*/
|
||
runJsInDbg(str: string): void;
|
||
/**
|
||
* @param priority 0 普通, 1低
|
||
*/
|
||
_loadUrl(url: string, priority: number,
|
||
option: { opttimeout: number, nocache: boolean },
|
||
onComp: (buf: ArrayBuffer) => void,
|
||
onError: (e: Error) => void,
|
||
onProg: () => number): void;
|
||
/**
|
||
* post 数据
|
||
*/
|
||
_postUrl(url: string, priority: number,
|
||
data: string | ArrayBuffer | DataView,
|
||
option: { opttimeout: number, nocache: boolean },
|
||
onComp: (buf: ArrayBuffer) => void,
|
||
onError: (e: Error) => void,
|
||
onProg: () => number): void;
|
||
|
||
/**
|
||
* 网络错误事件处理
|
||
* @param h 如果返回true,则系统不提示,否则会弹toast
|
||
*/
|
||
_setNetworkEvtHandler(
|
||
h: (evt: {
|
||
name: string,
|
||
desc: string,
|
||
nettype: number,
|
||
speed: number,
|
||
httpcode: number,
|
||
url: string
|
||
param: number,
|
||
}) => boolean);
|
||
|
||
/**
|
||
* 代替上面的函数
|
||
*/
|
||
_onNetworkEvt(name: 'download_connecterror', handler: (evt: {
|
||
desc: string,
|
||
nettype: number,
|
||
httpcode: number,
|
||
url: string
|
||
}) => boolean);
|
||
|
||
_onNetworkEvt(name: 'download_timeout', handler: (evt: {
|
||
nettype: number,
|
||
httpcode: number,
|
||
url: string
|
||
}) => boolean);
|
||
_onNetworkEvt(name: 'download_404', handler: (evt: {
|
||
nettype: number,
|
||
httpcode: number,
|
||
url: string
|
||
}) => boolean);
|
||
|
||
_onNetworkEvt(name: 'download_chksumerror', handler: (evt: {
|
||
nettype: number,
|
||
should: string,
|
||
actual: string,
|
||
url: string
|
||
}) => boolean);
|
||
|
||
_onNetworkEvt(name: 'networkSlowly', handler: (evt: {
|
||
nettype: number,
|
||
httpcode: number,
|
||
url: string,
|
||
speed: number
|
||
}) => boolean);
|
||
|
||
_onNetworkEvt(name: 'networkChanged', handler: (evt: {
|
||
nettype: number,
|
||
}) => boolean);
|
||
|
||
_onNetworkEvt(name: string, handler: (evt: {
|
||
desc: string,
|
||
nettype: number,
|
||
httpcode: number,
|
||
url: string,
|
||
should: string,
|
||
actual: string,
|
||
speed: number,
|
||
param: number,
|
||
}) => boolean);
|
||
|
||
/**是否发送fps数据 */
|
||
_sendFPS(b:boolean):void;
|
||
/**间隔多长时间发送fps数据 */
|
||
_setSendFPSTime(delay:number):void;
|
||
/**获得缓存路径 */
|
||
getCachePath():string;
|
||
/**从assets中读取文件内容 */
|
||
readFileFromAsset(file:string,encode:'utf8'):string|ArrayBuffer;
|
||
readFileFromAsset(file:string,encode:'raw'):string|ArrayBuffer;
|
||
readFileFromAsset(file:string,encode:string):string|ArrayBuffer;
|
||
|
||
bufferToString(buf:ArrayBuffer):string;
|
||
stringToBuffer(str:string):ArrayBuffer;
|
||
/**
|
||
* 胡高加的。为了给某些项目使用。实际没有在引擎中定义。
|
||
*/
|
||
disableMultiTouch:boolean;
|
||
//js扩展
|
||
maxFPS:number;
|
||
maxInterval:number;
|
||
otherBuffer:ArrayBuffer;
|
||
otherDataView:DataView;
|
||
setBuffer(buf:ArrayBuffer):void;
|
||
setCmdBuffer(buf:ArrayBuffer):void;
|
||
set2DCmdBuffer(buf:ArrayBuffer):void;
|
||
strTobufer(s:string):ArrayBuffer;
|
||
/**
|
||
* 注册一个shaderdefine
|
||
*/
|
||
regShaderDefine(name:string,value:number):void;
|
||
/**
|
||
* 希望的屏幕大小
|
||
*/
|
||
_canvPosX:number;
|
||
_canvPosY:number;
|
||
}
|
||
|
||
interface TextMetrics {
|
||
width: number;
|
||
height:number;
|
||
}
|
||
|
||
interface _console{
|
||
log(type:LogLevel,msg:string):void;
|
||
}
|
||
declare var conch: conch;
|
||
declare var _conchTextCanvas:_conchTextCanvas;
|
||
declare var _console:_console;
|
||
//declare function require(f:string):any;
|
||
|
||
interface func_downloadProg{
|
||
(total:number,now:number,speed:number):number;
|
||
}
|
||
|
||
interface Stats {
|
||
isFile(): boolean;
|
||
isDirectory(): boolean;
|
||
isBlockDevice(): boolean;
|
||
isCharacterDevice(): boolean;
|
||
isSymbolicLink(): boolean;
|
||
isFIFO(): boolean;
|
||
isSocket(): boolean;
|
||
dev: number;
|
||
ino: number;
|
||
mode: number;
|
||
nlink: number;
|
||
uid: number;
|
||
gid: number;
|
||
rdev: number;
|
||
size: number;
|
||
blksize: number;
|
||
blocks: number;
|
||
atime: Date;
|
||
mtime: Date;
|
||
ctime: Date;
|
||
birthtime: Date;
|
||
}
|
||
|
||
/**
|
||
* 用来做析构通知的。如果希望某个对象析构的时候获得通知,需要在这个对象中new conch_jsgcdebug
|
||
* 需要 conch.setOnGCCallback的配合,gc会通知到那里指定的函数。
|
||
*/
|
||
interface conch_jsgcdebug{
|
||
id:number;
|
||
}
|
||
|
||
declare var createProcess:(js:string,url:string)=>void;
|
||
declare var closeCurProcess:()=>void;
|
||
declare var reloadCurProcess:()=>void;
|
||
declare var urlBack:()=>void;
|
||
declare var urlForward:()=>void;
|
||
declare var setOnActive:(cb:()=>void)=>void;
|
||
declare var setOnDeactive:(cb:()=>void)=>void;
|
||
/**
|
||
* @param url 远程地址
|
||
* @param local 存到本地文件
|
||
* @param onprog 进度回调
|
||
* @param oncomp 完成回调
|
||
* @param trynum 重试次数(0无限重试)
|
||
* @param opttimeout 超时时间,
|
||
* 注意如果成功了不会返回ArrayBuffer,不要使用这个参数。因为可能太大。
|
||
*/
|
||
declare var downloadBigFile:(url:string,
|
||
local:string,
|
||
onprog:(total:number,now:number,speed:number)=>boolean,oncomp:(curlret:number, httpret:number)=>void,
|
||
trynum:number,
|
||
opttimeout:number)=>void;
|
||
/**
|
||
* @param trynum 尝试次数,不能为0
|
||
*/
|
||
declare var downloadGetHeader:(url:string,
|
||
oncomp:(curlret:number, httpret:number, data:string)=>void,
|
||
trynum:number,
|
||
opttimeout:number)=>void;
|
||
declare var fs_exists:(file:string)=>boolean;
|
||
declare var fs_mkdir:(file:string)=>boolean;
|
||
declare var fs_rm:(file:string)=>boolean;
|
||
/**
|
||
* 异步删除一个目录。
|
||
*/
|
||
declare var fs_rmDir:(path:string,prog:(now:number,total:number)=>void, end:()=>void,err:(e:string)=>void)=>boolean;
|
||
declare var fs_rmDirSync:(path:string)=>boolean;
|
||
declare var fs_writeFileSync:(file:string,data:string|ArrayBuffer)=>boolean;
|
||
declare var fs_readFileSync:(file:string)=>ArrayBuffer;
|
||
declare var fs_readdirSync:(path:string)=>string [];
|
||
declare var fs_lstatSync:(path:string)=>{isDirectory:boolean,isFile:boolean,size:number,mtime:number};
|
||
declare var getInnerHeight:()=>number;
|
||
declare var getInnerWidth:()=>number;
|
||
declare var getDevicePixelRatio:()=>number;
|
||
declare var enableTouch:number;
|
||
declare var alert:(msg?:any)=>void;
|
||
declare var IsStreamMode:()=>boolean;
|
||
declare var reloadJS:(force:boolean)=>void;
|
||
declare var showAlertOnJsException:(b:boolean)=>void;
|
||
declare var decodeTemp:(s:string)=>string;
|
||
//alert1:(msg:string,func:any)=>void;
|
||
declare var tmGetCurms:()=>number;
|
||
declare var PerfUpdateDt:(id:number, dt:number)=>void;
|
||
declare var PerfAddData:(id:number,color:number,scale:number,alert:number)=>void;
|
||
declare var PerfDelData:(id:number)=>void;
|
||
declare var PerfShow:(b:number)=>void;
|
||
declare var readFileSync:(file:string,encode:string)=>string;
|
||
declare var readBinFileSync:(file:string)=>ArrayBuffer;
|
||
declare var writeStrFileSync:(file:string,content:string)=>void;
|
||
declare var JSBegin:()=>void;
|
||
declare var JSEnd:()=>void;
|
||
declare var showLoadingView:(b:boolean)=>void;
|
||
declare var readTextAsset:(file:string)=>string;
|
||
declare var setJoystickEvtFunction:(cb:(type:number,thumbL_xoff:number,thumbL_yoff:number,thumbR_xoff:number,thumbR_yoff:number,LT_offset:number,RT_offset:number)=>void)=>void;
|
||
declare var simAndroidDeviceLosted:()=>void;
|
||
declare var getExePath:()=>string;
|
||
declare var dbg_uploadAllLog:()=>void;
|
||
declare var _uploadFile:(file:string,url:string,user:string)=>void;
|
||
declare var dbg_AlertOnJsException:(b:boolean)=>void;
|
||
declare var calcmd5:(buf:ArrayBuffer)=>string;
|
||
declare var dbg_flog:(msg:string)=>void;
|
||
declare var gc:()=>void;
|
||
/**
|
||
* runtimeinit.js
|
||
*/
|
||
interface Window{
|
||
require:(file:string)=>Object;
|
||
}
|
||
declare var require:(file:string)=>Object;
|
||
|
||
declare class _conchParticleTemplate2D
|
||
{
|
||
conchID:number;
|
||
setShader(id:number,vs:String,ps:String):void;
|
||
}
|