import { type BoundedAxisRange, type Coordinate, type GridMetrics, GridRenderer, type GridRenderState, type GridThemeType, type VisibleIndex } from '@deephaven/grid'; import { type SortDescriptor } from '@deephaven/jsapi-utils'; import { type AdvancedFilter, type QuickFilter, type IrisGridStateOverride } from './CommonTypes'; import { type IrisGridThemeType } from './IrisGridTheme'; import IrisGridTextCellRenderer from './IrisGridTextCellRenderer'; import IrisGridDataBarCellRenderer from './IrisGridDataBarCellRenderer'; export type IrisGridRenderState = GridRenderState & IrisGridStateOverride; /** * Handles rendering some of the Iris specific features, such as sorting icons, sort bar display * */ export declare class IrisGridRenderer extends GridRenderer { static isFilterValid(advancedFilter: AdvancedFilter | undefined | null, quickFilter: QuickFilter | undefined | null): boolean; protected textCellRenderer: IrisGridTextCellRenderer; protected dataBarCellRenderer: IrisGridDataBarCellRenderer; getSortIcon(sort: SortDescriptor | null, size: number): Path2D | null; drawCanvas(state: IrisGridRenderState): void; drawGrid(context: CanvasRenderingContext2D, state: IrisGridRenderState): void; drawGridLines(context: CanvasRenderingContext2D, state: IrisGridRenderState): void; drawCellContent(context: CanvasRenderingContext2D, state: IrisGridRenderState, column: VisibleIndex, row: VisibleIndex): void; getCellOverflowButtonPosition({ mouseX, mouseY, metrics, theme, }: { mouseX: Coordinate | null; mouseY: Coordinate | null; metrics: GridMetrics | undefined; theme: IrisGridThemeType; }): { left: Coordinate | null; top: Coordinate | null; width: number | null; height: number | null; }; shouldRenderOverflowButton(state: IrisGridRenderState): boolean; drawCellOverflowButton(state: IrisGridRenderState): void; drawGroupedColumnLine(context: CanvasRenderingContext2D, state: IrisGridRenderState): void; drawPendingRowLine(context: CanvasRenderingContext2D, state: IrisGridRenderState): void; drawMouseColumnHover(context: CanvasRenderingContext2D, state: IrisGridRenderState): void; drawMouseRowHover(context: CanvasRenderingContext2D, state: IrisGridRenderState): void; drawScrim(state: IrisGridRenderState): void; drawColumnHeaders(context: CanvasRenderingContext2D, state: IrisGridRenderState): void; drawHeaderBar(context: CanvasRenderingContext2D, state: IrisGridRenderState, color: string | CanvasGradient | CanvasPattern, barHeight: number, interior?: boolean): void; drawColumnHeadersAtDepth(context: CanvasRenderingContext2D, state: IrisGridRenderState, range: BoundedAxisRange, boundsProp: { minX: number; maxX: number; }, depth: number): void; drawColumnHeaderAtIndex(context: CanvasRenderingContext2D, state: IrisGridRenderState, index: VisibleIndex, bounds: { minX: number; maxX: number; }): void; drawFilterHeaders(context: CanvasRenderingContext2D, state: IrisGridRenderState): void; drawExpandedFilterHeaders(context: CanvasRenderingContext2D, state: IrisGridRenderState): void; drawExpandedFilterHeader(context: CanvasRenderingContext2D, state: IrisGridRenderState, column: VisibleIndex, columnX: Coordinate, columnWidth: number): void; drawCollapsedFilterHeaders(context: CanvasRenderingContext2D, state: IrisGridRenderState): void; drawCollapsedFilterHeader(context: CanvasRenderingContext2D, state: IrisGridRenderState, column: VisibleIndex, columnX: Coordinate, columnWidth: number): void; drawRowFooters(context: CanvasRenderingContext2D, state: IrisGridRenderState): void; getExpandButtonPosition({ mouseX, mouseY, metrics, theme, }: { mouseX: Coordinate | null; mouseY: Coordinate | null; metrics: GridMetrics | undefined; theme: GridThemeType; }, depth: number | null): { left: Coordinate | null; top: Coordinate | null; width: number | null; height: number | null; }; } export default IrisGridRenderer; //# sourceMappingURL=IrisGridRenderer.d.ts.map