UNPKG

ag-charts-community

Version:

Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue

59 lines (58 loc) 2.18 kB
import type { DistantObject } from '../../util/nearest'; import { BBox } from '../bbox'; import { ExtendedPath2D } from '../extendedPath2D'; import { Path } from './path'; import { type CanvasContext } from './shape'; interface CornerRadii { topLeft: number; topRight: number; bottomRight: number; bottomLeft: number; } export declare const clippedRoundRect: (path: ExtendedPath2D, x: number, y: number, width: number, height: number, cornerRadii: CornerRadii, clipBBox: BBox | undefined) => void; export declare class Rect<D = any> extends Path<D> implements DistantObject { static readonly className: string; readonly borderPath: ExtendedPath2D; x: number; y: number; width: number; height: number; topLeftCornerRadius: number; topRightCornerRadius: number; bottomRightCornerRadius: number; bottomLeftCornerRadius: number; set cornerRadius(cornerRadius: number); clipBBox?: BBox; /** * If `true`, the rect is aligned to the pixel grid for crisp looking lines. * Animated rects may not look nice with this option enabled, for example * when a rect is translated by a sub-pixel value on each frame. */ crisp: boolean; private borderClipPath?; private lastUpdatePathStrokeWidth; protected isDirtyPath(): boolean; private effectiveStrokeWidth; private hittester; private distanceCalculator; /** * When the rectangle's width or height is less than a pixel * and crisp mode is on, the rectangle will still fit into the pixel, * but will be less opaque to make an effect of holding less space. */ protected microPixelEffectOpacity: number; updatePath(): void; protected computeBBox(): BBox; isPointInPath(x: number, y: number): boolean; get midPoint(): { x: number; y: number; }; distanceSquared(x: number, y: number): number; protected applyFillAndAlpha(ctx: CanvasRenderingContext2D): void; protected applyStrokeAndAlpha(ctx: CanvasContext): void; protected renderStroke(ctx: CanvasRenderingContext2D & { setLineDash(lineDash: readonly number[]): void; }): void; } export {};