laya-coreui-es
Version:
laya核心库、ui库es版本,剔除了媒体、TTF等功能。基于 LayaAir-release_2.12.0 修改
334 lines (333 loc) • 15.7 kB
TypeScript
import { Sprite } from "./Sprite";
import { AlphaCmd } from "./cmd/AlphaCmd";
import { ClipRectCmd } from "./cmd/ClipRectCmd";
import { DrawCircleCmd } from "./cmd/DrawCircleCmd";
import { DrawCurvesCmd } from "./cmd/DrawCurvesCmd";
import { DrawImageCmd } from "./cmd/DrawImageCmd";
import { DrawLineCmd } from "./cmd/DrawLineCmd";
import { DrawLinesCmd } from "./cmd/DrawLinesCmd";
import { DrawPathCmd } from "./cmd/DrawPathCmd";
import { DrawPieCmd } from "./cmd/DrawPieCmd";
import { DrawPolyCmd } from "./cmd/DrawPolyCmd";
import { DrawRectCmd } from "./cmd/DrawRectCmd";
import { DrawTextureCmd } from "./cmd/DrawTextureCmd";
import { DrawTexturesCmd } from "./cmd/DrawTexturesCmd";
import { DrawTrianglesCmd } from "./cmd/DrawTrianglesCmd";
import { FillTextCmd } from "./cmd/FillTextCmd";
import { FillTextureCmd } from "./cmd/FillTextureCmd";
import { RestoreCmd } from "./cmd/RestoreCmd";
import { RotateCmd } from "./cmd/RotateCmd";
import { SaveCmd } from "./cmd/SaveCmd";
import { ScaleCmd } from "./cmd/ScaleCmd";
import { TransformCmd } from "./cmd/TransformCmd";
import { TranslateCmd } from "./cmd/TranslateCmd";
import { Matrix } from "../maths/Matrix";
import { Point } from "../maths/Point";
import { Rectangle } from "../maths/Rectangle";
import { Context } from "../resource/Context";
import { Texture } from "../resource/Texture";
/**
* <code>Graphics</code> 类用于创建绘图显示对象。Graphics可以同时绘制多个位图或者矢量图,还可以结合save,restore,transform,scale,rotate,translate,alpha等指令对绘图效果进行变化。
* Graphics以命令流方式存储,可以通过cmds属性访问所有命令流。Graphics是比Sprite更轻量级的对象,合理使用能提高应用性能(比如把大量的节点绘图改为一个节点的Graphics命令集合,能减少大量节点创建消耗)。
* @see laya.display.Sprite#graphics
*/
export declare class Graphics {
/**@private */
private _cmds;
/**@private */
protected _vectorgraphArray: any[] | null;
/**@private */
private _graphicBounds;
/**@private */
autoDestroy: boolean;
constructor();
/**
* <p>销毁此对象。</p>
*/
destroy(): void;
/**
* <p>清空绘制命令。</p>
* @param recoverCmds 是否回收绘图指令数组,设置为true,则对指令数组进行回收以节省内存开销,建议设置为true进行回收,但如果手动引用了数组,不建议回收
*/
clear(recoverCmds?: boolean): void;
/**@private */
private _clearBoundsCache;
/**@private */
private _initGraphicBounds;
/**
* @private
* 命令流。存储了所有绘制命令。
*/
get cmds(): any[];
set cmds(value: any[]);
/**
* 获取位置及宽高信息矩阵(比较耗CPU,频繁使用会造成卡顿,尽量少用)。
* @param realSize (可选)使用图片的真实大小,默认为false
* @return 位置与宽高组成的 一个 Rectangle 对象。
*/
getBounds(realSize?: boolean): Rectangle;
/**
* @private
* @param realSize (可选)使用图片的真实大小,默认为false
* 获取端点列表。
*/
getBoundPoints(realSize?: boolean): any[];
/**
* 绘制单独图片
* @param texture 纹理。
* @param x (可选)X轴偏移量。
* @param y (可选)Y轴偏移量。
* @param width (可选)宽度。
* @param height (可选)高度。
*/
drawImage(texture: Texture, x?: number, y?: number, width?: number, height?: number): DrawImageCmd | null;
/**
* 绘制纹理,相比drawImage功能更强大,性能会差一些
* @param texture 纹理。
* @param x (可选)X轴偏移量。
* @param y (可选)Y轴偏移量。
* @param width (可选)宽度。
* @param height (可选)高度。
* @param matrix (可选)矩阵信息。
* @param alpha (可选)透明度。
* @param color (可选)颜色滤镜。
* @param blendMode (可选)混合模式。
*/
drawTexture(texture: Texture | null, x?: number, y?: number, width?: number, height?: number, matrix?: Matrix | null, alpha?: number, color?: string | null, blendMode?: string | null, uv?: number[]): DrawTextureCmd | null;
/**
* 批量绘制同样纹理。
* @param texture 纹理。
* @param pos 绘制次数和坐标。
*/
drawTextures(texture: Texture, pos: any[]): DrawTexturesCmd | null;
/**
* 绘制一组三角形
* @param texture 纹理。
* @param x X轴偏移量。
* @param y Y轴偏移量。
* @param vertices 顶点数组。
* @param indices 顶点索引。
* @param uvData UV数据。
* @param matrix 缩放矩阵。
* @param alpha alpha
* @param color 颜色变换
* @param blendMode blend模式
*/
drawTriangles(texture: Texture, x: number, y: number, vertices: Float32Array, uvs: Float32Array, indices: Uint16Array, matrix?: Matrix | null, alpha?: number, color?: string | null, blendMode?: string | null, colorNum?: number): DrawTrianglesCmd;
/**
* 用texture填充。
* @param texture 纹理。
* @param x X轴偏移量。
* @param y Y轴偏移量。
* @param width (可选)宽度。
* @param height (可选)高度。
* @param type (可选)填充类型 repeat|repeat-x|repeat-y|no-repeat
* @param offset (可选)贴图纹理偏移
*
*/
fillTexture(texture: Texture, x: number, y: number, width?: number, height?: number, type?: string, offset?: Point | null): FillTextureCmd | null;
/**
* 设置剪裁区域,超出剪裁区域的坐标不显示。
* @param x X 轴偏移量。
* @param y Y 轴偏移量。
* @param width 宽度。
* @param height 高度。
*/
clipRect(x: number, y: number, width: number, height: number): ClipRectCmd;
/**
* 在画布上绘制文本。
* @param text 在画布上输出的文本。
* @param x 开始绘制文本的 x 坐标位置(相对于画布)。
* @param y 开始绘制文本的 y 坐标位置(相对于画布)。
* @param font 定义字号和字体,比如"20px Arial"。
* @param color 定义文本颜色,比如"#ff0000"。
* @param textAlign 文本对齐方式,可选值:"left","center","right"。
*/
fillText(text: string, x: number, y: number, font: string, color: string, textAlign: string): FillTextCmd;
/**
* 在画布上绘制“被填充且镶边的”文本。
* @param text 在画布上输出的文本。
* @param x 开始绘制文本的 x 坐标位置(相对于画布)。
* @param y 开始绘制文本的 y 坐标位置(相对于画布)。
* @param font 定义字体和字号,比如"20px Arial"。
* @param fillColor 定义文本颜色,比如"#ff0000"。
* @param textAlign 文本对齐方式,可选值:"left","center","right"。
* @param lineWidth 镶边线条宽度。
* @param borderColor 定义镶边文本颜色。
*/
fillBorderText(text: string, x: number, y: number, font: string, fillColor: string, textAlign: string, lineWidth: number, borderColor: string): FillTextCmd;
/*** @private */
fillWords(words: any[], x: number, y: number, font: string, color: string): FillTextCmd;
/*** @private */
fillBorderWords(words: any[], x: number, y: number, font: string, fillColor: string, borderColor: string, lineWidth: number): FillTextCmd;
/**
* 在画布上绘制文本(没有填色)。文本的默认颜色是黑色。
* @param text 在画布上输出的文本。
* @param x 开始绘制文本的 x 坐标位置(相对于画布)。
* @param y 开始绘制文本的 y 坐标位置(相对于画布)。
* @param font 定义字体和字号,比如"20px Arial"。
* @param color 定义文本颜色,比如"#ff0000"。
* @param lineWidth 线条宽度。
* @param textAlign 文本对齐方式,可选值:"left","center","right"。
*/
strokeText(text: string, x: number, y: number, font: string, color: string, lineWidth: number, textAlign: string): FillTextCmd;
/**
* 设置透明度。
* @param value 透明度。
*/
alpha(alpha: number): AlphaCmd;
/**
* 替换绘图的当前转换矩阵。
* @param mat 矩阵。
* @param pivotX (可选)水平方向轴心点坐标。
* @param pivotY (可选)垂直方向轴心点坐标。
*/
transform(matrix: Matrix, pivotX?: number, pivotY?: number): TransformCmd;
/**
* 旋转当前绘图。(推荐使用transform,性能更高)
* @param angle 旋转角度,以弧度计。
* @param pivotX (可选)水平方向轴心点坐标。
* @param pivotY (可选)垂直方向轴心点坐标。
*/
rotate(angle: number, pivotX?: number, pivotY?: number): RotateCmd;
/**
* 缩放当前绘图至更大或更小。(推荐使用transform,性能更高)
* @param scaleX 水平方向缩放值。
* @param scaleY 垂直方向缩放值。
* @param pivotX (可选)水平方向轴心点坐标。
* @param pivotY (可选)垂直方向轴心点坐标。
*/
scale(scaleX: number, scaleY: number, pivotX?: number, pivotY?: number): ScaleCmd;
/**
* 重新映射画布上的 (0,0) 位置。
* @param x 添加到水平坐标(x)上的值。
* @param y 添加到垂直坐标(y)上的值。
*/
translate(tx: number, ty: number): TranslateCmd;
/**
* 保存当前环境的状态。
*/
save(): SaveCmd;
/**
* 返回之前保存过的路径状态和属性。
*/
restore(): RestoreCmd;
/**
* @private
* 替换文本内容。
* @param text 文本内容。
* @return 替换成功则值为true,否则值为flase。
*/
replaceText(text: string): boolean;
/**@private */
private _isTextCmd;
/**
* @private
* 替换文本颜色。
* @param color 颜色。
*/
replaceTextColor(color: string): void;
/**@private */
private _setTextCmdColor;
/**
* 加载并显示一个图片。
* @param url 图片地址。
* @param x (可选)显示图片的x位置。
* @param y (可选)显示图片的y位置。
* @param width (可选)显示图片的宽度,设置为0表示使用图片默认宽度。
* @param height (可选)显示图片的高度,设置为0表示使用图片默认高度。
* @param complete (可选)加载完成回调。
*/
loadImage(url: string, x?: number, y?: number, width?: number, height?: number, complete?: Function | null): void;
/**
* 绘制一条线。
* @param fromX X轴开始位置。
* @param fromY Y轴开始位置。
* @param toX X轴结束位置。
* @param toY Y轴结束位置。
* @param lineColor 颜色。
* @param lineWidth (可选)线条宽度。
*/
drawLine(fromX: number, fromY: number, toX: number, toY: number, lineColor: string, lineWidth?: number): DrawLineCmd;
/**
* 绘制一系列线段。
* @param x 开始绘制的X轴位置。
* @param y 开始绘制的Y轴位置。
* @param points 线段的点集合。格式:[x1,y1,x2,y2,x3,y3...]。
* @param lineColor 线段颜色,或者填充绘图的渐变对象。
* @param lineWidth (可选)线段宽度。
*/
drawLines(x: number, y: number, points: any[], lineColor: any, lineWidth?: number): DrawLinesCmd | null;
/**
* 绘制一系列曲线。
* @param x 开始绘制的 X 轴位置。
* @param y 开始绘制的 Y 轴位置。
* @param points 线段的点集合,格式[controlX, controlY, anchorX, anchorY...]。
* @param lineColor 线段颜色,或者填充绘图的渐变对象。
* @param lineWidth (可选)线段宽度。
*/
drawCurves(x: number, y: number, points: any[], lineColor: any, lineWidth?: number): DrawCurvesCmd;
/**
* 绘制矩形。
* @param x 开始绘制的 X 轴位置。
* @param y 开始绘制的 Y 轴位置。
* @param width 矩形宽度。
* @param height 矩形高度。
* @param fillColor 填充颜色,或者填充绘图的渐变对象。
* @param lineColor (可选)边框颜色,或者填充绘图的渐变对象。
* @param lineWidth (可选)边框宽度。
*/
drawRect(x: number, y: number, width: number, height: number, fillColor: any, lineColor?: any, lineWidth?: number): DrawRectCmd;
/**
* 绘制圆形。
* @param x 圆点X 轴位置。
* @param y 圆点Y 轴位置。
* @param radius 半径。
* @param fillColor 填充颜色,或者填充绘图的渐变对象。
* @param lineColor (可选)边框颜色,或者填充绘图的渐变对象。
* @param lineWidth (可选)边框宽度。
*/
drawCircle(x: number, y: number, radius: number, fillColor: any, lineColor?: any, lineWidth?: number): DrawCircleCmd;
/**
* 绘制扇形。
* @param x 开始绘制的 X 轴位置。
* @param y 开始绘制的 Y 轴位置。
* @param radius 扇形半径。
* @param startAngle 开始角度。
* @param endAngle 结束角度。
* @param fillColor 填充颜色,或者填充绘图的渐变对象。
* @param lineColor (可选)边框颜色,或者填充绘图的渐变对象。
* @param lineWidth (可选)边框宽度。
*/
drawPie(x: number, y: number, radius: number, startAngle: number, endAngle: number, fillColor: any, lineColor?: any, lineWidth?: number): DrawPieCmd;
/**
* 绘制多边形。
* @param x 开始绘制的 X 轴位置。
* @param y 开始绘制的 Y 轴位置。
* @param points 多边形的点集合。
* @param fillColor 填充颜色,或者填充绘图的渐变对象。
* @param lineColor (可选)边框颜色,或者填充绘图的渐变对象。
* @param lineWidth (可选)边框宽度。
*/
drawPoly(x: number, y: number, points: any[], fillColor: any, lineColor?: any, lineWidth?: number): DrawPolyCmd;
/**
* 绘制路径。
* @param x 开始绘制的 X 轴位置。
* @param y 开始绘制的 Y 轴位置。
* @param paths 路径集合,路径支持以下格式:[["moveTo",x,y],["lineTo",x,y],["arcTo",x1,y1,x2,y2,r],["closePath"]]。
* @param brush (可选)刷子定义,支持以下设置{fillStyle:"#FF0000"}。
* @param pen (可选)画笔定义,支持以下设置{strokeStyle,lineWidth,lineJoin:"bevel|round|miter",lineCap:"butt|round|square",miterLimit}。
*/
drawPath(x: number, y: number, paths: any[], brush?: any, pen?: any): DrawPathCmd;
/**
* @private
* 绘制带九宫格的图片
* @param texture
* @param x
* @param y
* @param width
* @param height
* @param sizeGrid
*/
draw9Grid(texture: Texture, x: number, y: number, width: number, height: number, sizeGrid: any[]): void;
}