1import { Glyph, GlyphView, GlyphData } from "./glyph"; 2import { PointGeometry, RectGeometry, SpanGeometry } from "../../core/geometry"; 3import * as p from "../../core/properties"; 4import { LineVector, FillVector, HatchVector } from "../../core/property_mixins"; 5import { Rect, FloatArray, ScreenArray } from "../../core/types"; 6import { Context2d } from "../../core/util/canvas"; 7import { SpatialIndex } from "../../core/util/spatial"; 8import * as visuals from "../../core/visuals"; 9import { HexTileOrientation } from "../../core/enums"; 10import { Selection } from "../selections/selection"; 11export declare type Vertices = [number, number, number, number, number, number]; 12export declare type HexTileData = GlyphData & p.UniformsOf<HexTile.Mixins> & { 13 readonly q: p.Uniform<number>; 14 readonly r: p.Uniform<number>; 15 _x: FloatArray; 16 _y: FloatArray; 17 readonly scale: p.Uniform<number>; 18 sx: ScreenArray; 19 sy: ScreenArray; 20 svx: Vertices; 21 svy: Vertices; 22}; 23export interface HexTileView extends HexTileData { 24} 25export declare class HexTileView extends GlyphView { 26 model: HexTile; 27 visuals: HexTile.Visuals; 28 scenterxy(i: number): [number, number]; 29 protected _set_data(): void; 30 protected _project_data(): void; 31 protected _index_data(index: SpatialIndex): void; 32 map_data(): void; 33 protected _get_unscaled_vertices(): [[number, number, number, number, number, number], [number, number, number, number, number, number]]; 34 protected _render(ctx: Context2d, indices: number[], data?: HexTileData): void; 35 protected _hit_point(geometry: PointGeometry): Selection; 36 protected _hit_span(geometry: SpanGeometry): Selection; 37 protected _hit_rect(geometry: RectGeometry): Selection; 38 draw_legend_for_index(ctx: Context2d, bbox: Rect, index: number): void; 39} 40export declare namespace HexTile { 41 type Attrs = p.AttrsOf<Props>; 42 type Props = Glyph.Props & { 43 r: p.NumberSpec; 44 q: p.NumberSpec; 45 scale: p.NumberSpec; 46 size: p.Property<number>; 47 aspect_scale: p.Property<number>; 48 orientation: p.Property<HexTileOrientation>; 49 } & Mixins; 50 type Mixins = LineVector & FillVector & HatchVector; 51 type Visuals = Glyph.Visuals & { 52 line: visuals.LineVector; 53 fill: visuals.FillVector; 54 hatch: visuals.HatchVector; 55 }; 56} 57export interface HexTile extends HexTile.Attrs { 58} 59export declare class HexTile extends Glyph { 60 properties: HexTile.Props; 61 __view_type__: HexTileView; 62 constructor(attrs?: Partial<HexTile.Attrs>); 63 static init_HexTile(): void; 64} 65//# sourceMappingURL=hex_tile.d.ts.map