import { ScreenBounds } from "../common/screen-bounds"; import { ScreenXY } from "../common/screen-xy"; import { FillSymbol } from "./symbol"; /** * 模式填充面符号 * @remarks * 最常用的面填充符号 */ export declare abstract class PatternFillSymbol extends FillSymbol { /** * 绘制面 * @remarks * 奇偶填充 * https://developer.mozilla.org/zh-CN/docs/Web/API/CanvasRenderingContext2D/fill * @param {CanvasRenderingContext2D} ctx - 绘图上下文 * @param {ScreenXY[][]} screenXYs - 面对应坐标点的屏幕坐标集合 */ draw(ctx: CanvasRenderingContext2D, screenXYs: ScreenXY[][]): void; /** * 创建填充模式 * @param {CanvasRenderingContext2D} ctx - 绘图上下文 */ abstract createPattern(ctx: CanvasRenderingContext2D): any; /** * 获取包络矩形 * @param {ScreenXY[][]} screenXYs - 面对应坐标点的屏幕坐标集合 */ getScreenBounds(screenXYs: ScreenXY[][]): ScreenBounds; } export declare class LinePatternFillSymbol extends PatternFillSymbol { patternLineWidth: number; size: number; angle: number; get radian(): number; createPattern(ctx: CanvasRenderingContext2D): CanvasPattern; }