dragonbones-runtime
Version:
the tools to build dragonbones file for diffrent framework
365 lines (221 loc) • 10.9 kB
text/typescript
//////////////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2014-present, Egret Technology.
// All rights reserved.
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// * Neither the name of the Egret nor the
// names of its contributors may be used to endorse or promote products
// derived from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY EGRET AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
// OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
// IN NO EVENT SHALL EGRET AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA,
// OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
//////////////////////////////////////////////////////////////////////////////////////
/**
* @private
*/
declare namespace egret_native {
let nativeType: string;
/**
* 游戏启动
* @private
*/
function startGame(): void;
function _selectPhoto(promise: egret.PromiseObject): void;
function loglevel(logType): void;
function callRender(): void;
function getVersion(): any;
function setScreenCanvas(canvas: Canvas): void;
function setFrameRate(frameRate: number): void;
function onTouchesBegin(num: number, ids: any[], xs_array: any[], ys_array: any[]);
function onTouchesMove(num: number, ids: any[], xs_array: any[], ys_array: any[]);
function onTouchesEnd(num: number, ids: any[], xs_array: any[], ys_array: any[]);
function onTouchesCancel(num: number, ids: any[], xs_array: any[], ys_array: any[]);
function sendToC(float32Array: Float32Array, arrayBufferLen: number, array: string[]): void;
/**
* 启动主循环
* @param callback 主循环回调函数
* @param thisObject
*/
function executeMainLoop(callback: Function, thisObject: any): void;
function pauseApp(): void;
function resumeApp(): void;
function readXML(filepath: string): any;
function xmlStr2JsonStr(text: string): any;
function isFileExists(filepath: string): boolean;
function isRecordExists(filepath: string): boolean;
function readFileSync(filepath: string, type?: string): any;
function readResourceFileSync(filepath: string): any;
function readUpdateFileSync(filepath: string): any;
function deleteUpdateFile(filepath: string): void;
function readFileAsync(filepath: string, promise: egret.PromiseObject, type?: string): any;
function writeFileSync(filepath: string, fileContent: string): any;
function pickPhoto(promise:egret.PromiseObject):void;
function requireHttpSync(url:string, callback:Function):void;
function requireHttp(url: string, param: any, callback: Function): void;
function sendInfoToPlugin(info: string): void;
function receivedPluginInfo(info: string): void;
function loadRecord(filepath: string): string;
function saveRecord(filepath: string, fileContent: string): void;
function getOption(type: string): string;
namespace Audio {
function preloadBackgroundMusic(path: string): void;
function playBackgroundMusic(path: string, loop: boolean): void;
function setBackgroundMusicVolume(value: number): void;
function setEffectsVolume(value: number): void;
function getBackgroundMusicVolume(): number;
function getEffectsVolume(): number;
function stopBackgroundMusic(isRelease: boolean): void;
function preloadEffect(path: string): void;
function preloadEffectAsync(path: string, promise: egret.PromiseObject): void;
function playEffect(path: string, loop: boolean): void;
function unloadEffect(path: string): void;
function stopEffect(effectId: number): void;
function pauseBackgroundMusic(): void;
function pauseAllEffects(): void;
function resumeBackgroundMusic(): void;
function resumeAllEffects(): void;
}
function download(url: string, savePath: string, promise: any): void;
namespace Graphics {
function clearScreen(r: number, g: number, b: number): void;
function drawImage(texture: any, sourceX, sourceY, sourceWidth, sourceHeight, destX, destY, destWidth, destHeight): void;
function drawImageScale9(texture: any, sourceX, sourceY, sourceWidth, sourceHeight, destX, destY, destWidth, destHeight, x, y, width, height): boolean;
function setTransform(a: number, b: number, c: number, d: number, tx: number, ty: number): void;
function setGlobalAlpha(alpha: number): void;
function pushClip(x: number, y: number, w: number, h: number): void;
function popClip(): void;
function setGlobalColorTransform(colorTransformMatrix: number[]): void;
function setGlobalColorTransformEnabled(bool: boolean): void;
function setGlobalShader(filterData: any): void;
function lineStyle(thickness: number, color: number): void;
function lineTo(x: number, y: number): void;
function moveTo(x: number, y: number): void;
function beginFill(color: number, alpha: number): void;
function endFill(): void;
function setBlendArg(src: number, des: number): void;
function setTextureScaleFactor(value: number): void;
}
namespace Label {
function createLabel(font: string, size: number, defaultString: string, defaultStroke: number): void;
function setTextColor(color: number): void;
function setStrokeColor(color: number): void;
function drawText(text: string, x: number, y: number): void;
function setTextAlignment(type: string): void;
function getTextSize(text: string): number[];
}
namespace EGTXML {
function readXML(filepath: string): void;
}
namespace Texture {
function create(filePath: string): any;
function addTexture(filePath: string): any;
function addTextureAsyn(filePath: string, promise: any): any;
function addTextureUnsyn(filePath: string, promise: any): any;
function removeTexture(filePath:string): void;
function createTextureFromArrayBuffer(arrayBuffer:ArrayBuffer): any;
}
namespace TextInputOp {
function setKeybordOpen(isOpen: boolean, jsonConfig?: Object): void
function isFullScreenKeyBoard(): boolean
function setInputTextMaxLenght(value: number): void;
function updateConfig(jsonConfig?: Object): void
}
function EGT_TextInput(text: string): void
function EGT_keyboardFinish(): void
function EGT_deleteBackward(): void;
function EGT_keyboardDidHide(): void;
function EGT_keyboardDidShow(): void;
function EGT_getTextEditerContentText(): string;
namespace EGTView {
function getFrameWidth(): number;
function getFrameHeight(): number;
function setVisibleRect(x: number, y: number, w: number, h: number): number;
function setDesignSize(w: number, h: number): number;
}
/**
* @private
*/
class RenderTexture {
constructor(width: number, height: number);
begin();
end();
dispose();
toDataURL(type);
saveToFile(type: string, filePath: string);
}
namespace rastergl {
function arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void;
function quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;
function lineTo(x: number, y: number): void;
function fill(fillRule?: string): void;
function closePath(): void;
function rect(x: number, y: number, w: number, h: number): void;
function moveTo(x: number, y: number): void;
function fillRect(x: number, y: number, w: number, h: number): void;
function bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;
function stroke(): void;
function strokeRect(x: number, y: number, w: number, h: number): void;
function beginPath(): void;
function arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;
function transform(m11: number, m12: number, m21: number, m22: number, dx: number, dy: number): void;
function translate(x: number, y: number): void;
function scale(x: number, y: number): void;
function rotate(angle: number): void;
function save(): void;
function restore(): void;
function createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient;
function createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient;
/**
* @private
*/
export let lineWidth: number;
/**
* @private
*/
export let strokeStyle: any;
/**
* @private
*/
export let fillStyle: any;
}
namespace Game {
function listResource(root, promise);
function listUpdate(root, promise);
}
/**
* @private
*/
class RenderContext {
clearScreen(r: number, g: number, b: number): void;
drawImage(texture: any, sourceX, sourceY, sourceWidth, sourceHeight, destX, destY, destWidth, destHeight): void;
setTransform(a: number, b: number, c: number, d: number, tx: number, ty: number): void;
setGlobalAlpha(alpha: number): void;
pushClip(x: number, y: number, w: number, h: number): void;
popClip(): void;
}
/**
* @private
*/
class Canvas {
constructor(width: number, height: number);
width: number;
height: number;
getContext(type: string): RenderContext;
}
}