import { SGradient, SPoint } from "./"; /** * 放射性渐变 * * @author 庞利祥(sybotan@126.com) */ export class SRadialGradient extends SGradient { /** 开始圆形半径 */ r1: number; /** 结束圆形半径 */ r2: number; /** * 构造函数 * * @param start 开始圆形坐标 * @param r1 开始圆形半径 * @param end 结束圆形坐标 * @param r2 结束圆形半径 */ constructor(start: SPoint, r1: number, end: SPoint, r2: number); /** * 构造函数 * * @param x1 开始圆形X坐标 * @param y1 开始圆形Y坐标 * @param r1 开始圆形半径 * @param x2 结束圆形X坐标 * @param y2 结束圆形Y坐标 * @param r2 结束圆形半径 */ constructor( x1: number, y1: number, r1: number, x2: number, y2: number, r2: number ); /** * 构造函数(重载实现) * * @param x1 开始圆形X坐标 | 开始圆形坐标 * @param y1 开始圆形Y坐标 | 开始圆形半径 * @param r1 开始圆形半径 | 结束圆形坐标 * @param x2 结束圆形X坐标 | 结束圆形半径 * @param y2 结束圆形Y坐标 * @param r2 结束圆形半径 */ constructor( x1: number | SPoint, y1: number, r1: number | SPoint, x2: number, y2?: number, r2?: number ) { super(); if (x1 instanceof SPoint && r1 instanceof SPoint) { this.start = new SPoint(x1); this.end = new SPoint(r1); this.r1 = y1; this.r2 = x2; } else { this.start = new SPoint(x1 as number, y1 as number); this.end = new SPoint(x2 as number, y2 as number); this.r1 = r1 as number; this.r2 = r2 as number; } } // Constructor() } // Class SRadialGradient