ag-charts-community
Version:
Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue
30 lines (29 loc) • 1.53 kB
TypeScript
import type { AgDrawingMode } from 'ag-charts-types';
import type { DropShadow } from '../dropShadow';
import { Rect } from './rect';
export declare const FEATHERED_THRESHOLD = 0.001;
export declare class BarShape<D = any> extends Rect<D> {
direction: 'x' | 'y';
__direction: 'x' | 'y';
featherRatio: number;
__featherRatio: number;
/**
* High-performance static property setter that bypasses the decorator system entirely.
* Writes directly to backing fields (__propertyName) to avoid:
* - Decorator setter chains and equality checks
* - Multiple onChangeDetection calls per property
* - Object.keys() iteration in assignIfNotStrictlyEqual
* - Object allocation overhead
*
* A single markDirty() call at the end ensures the scene graph is properly invalidated.
* WARNING: Only use for hot paths where performance is critical and properties don't need
* individual change detection (e.g., when updating many nodes in a loop).
*/
setStaticProperties(drawingMode: AgDrawingMode, topLeftCornerRadius: number, topRightCornerRadius: number, bottomRightCornerRadius: number, bottomLeftCornerRadius: number, visible: boolean, crisp: boolean, fillShadow: DropShadow | undefined, direction?: 'x' | 'y', featherRatio?: number): void;
private get feathered();
isPointInPath(x: number, y: number): boolean;
updatePath(): void;
renderStroke(ctx: CanvasRenderingContext2D & {
setLineDash(lineDash: readonly number[]): void;
}): void;
}