import { Pattern, IPatternSettings, IPatternPrivate } from "./Pattern"; export interface IRectanglePatternSettings extends IPatternSettings { /** * Gap between rectangles, in pixels. * * @default 6 */ gap?: number; /** * Maximum width of the rectangle, in pixels. * * @default 5 */ maxWidth?: number; /** * Maximum height of the rectangle, in pixels. * * @default 5 */ maxHeight?: number; /** * If set to `true`, will place every second rectangle, creating checkered * pattern. * * @default false */ checkered?: boolean; /** * Center rectangles. * * @default true */ centered?: boolean; /** * If set to `true`, `rotation` rotates each rectangle around its own center * while the grid/tile stays axis-aligned, instead of rotating the whole * pattern. This tiles seamlessly (a small `width`/`height` is enough) and is * much faster than rotating the whole pattern on large tiles. * * @default false */ rotateShapes?: boolean; } export interface IRectanglePatternPrivate extends IPatternPrivate { } /** * Rectangle pattern. * * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/} for more info */ export declare class RectanglePattern extends Pattern { _settings: IRectanglePatternSettings; _privateSettings: IRectanglePatternPrivate; static className: string; static classNames: Array; _beforeChanged(): void; /** * A rectangle pattern's tile is only a repeat unit — the grid repeats every * cell — so an oversized `width`/`height` just wastes memory and draw time * for an identical result. Normalise it to a single cell (2x2 cells when * `checkered`). Skipped for a whole-pattern `rotation` (which isn't periodic * on an axis-aligned tile — use `rotateShapes` for that) and for non-`repeat` * repetitions. * @ignore */ protected _optimizeTileSize(): void; protected _draw(): void; } //# sourceMappingURL=RectanglePattern.d.ts.map