UNPKG

oncoprintjs

Version:

A data visualization for cancer genomic data.

68 lines (67 loc) 3.14 kB
import { Datum } from './oncoprintmodel'; import { RGBAColor } from './oncoprintruleset'; declare type StringParameter = 'type'; declare type PercentNumberParameter = 'width' | 'height' | 'x' | 'y' | 'x1' | 'x2' | 'x3' | 'y1' | 'y2' | 'y3'; declare type PlainNumberParameter = 'z' | 'stroke-width' | 'stroke-opacity'; declare type RGBAParameter = 'stroke' | 'fill'; declare type NumberParameter = PercentNumberParameter | PlainNumberParameter; declare type Parameter = StringParameter | NumberParameter | RGBAParameter; declare type StringParamFunction = (d: Datum) => string; declare type NumberParamFunction = (d: Datum) => number; declare type RGBAParamFunction = (d: Datum) => RGBAColor; export declare type ShapeParams = { [x in StringParameter]?: string | StringParamFunction; } & { [x in NumberParameter]?: number | NumberParamFunction; } & { [x in RGBAParameter]?: RGBAColor | RGBAParamFunction; }; export declare type ComputedShapeParams = { [x in StringParameter]?: string; } & { [x in NumberParameter]?: number; } & { [x in RGBAParameter]?: RGBAColor; }; export declare class Shape { private params; private static cache; private params_with_type; private onlyDependsOnWidthAndHeight; private instanceCache; constructor(params: ShapeParams); static hashComputedShape(computed_params: ComputedShapeParams, z_index?: number | string): string; private static getCachedShape; getRequiredParameters(): Parameter[]; completeWithDefaults(): void; markParameterTypes(): void; getComputedParams(d: Datum, base_width: number, base_height: number): ComputedShapeParams; } declare type SpecificComputedShapeParams<ShapeParamType> = { [x in ShapeParamType & StringParameter]: string; } & { [x in ShapeParamType & NumberParameter]: number; } & { [x in ShapeParamType & RGBAParameter]: RGBAColor; }; declare type RectangleParameter = 'width' | 'height' | 'x' | 'y' | 'z' | 'stroke' | 'stroke-width' | 'fill'; export declare type ComputedRectangleParams = SpecificComputedShapeParams<RectangleParameter>; export declare class Rectangle extends Shape { getRequiredParameters(): RectangleParameter[]; } declare type TriangleParameter = 'x1' | 'x2' | 'x3' | 'y1' | 'y2' | 'y3' | 'z' | 'stroke' | 'stroke-width' | 'fill'; export declare type ComputedTriangleParams = SpecificComputedShapeParams<TriangleParameter>; export declare class Triangle extends Shape { getRequiredParameters(): TriangleParameter[]; } export declare type EllipseParameter = 'width' | 'height' | 'x' | 'y' | 'z' | 'stroke' | 'stroke-width' | 'fill'; export declare type ComputedEllipseParams = SpecificComputedShapeParams<EllipseParameter>; export declare class Ellipse extends Shape { getRequiredParameters(): EllipseParameter[]; } export declare type LineParameter = 'x1' | 'y1' | 'x2' | 'y2' | 'z' | 'stroke' | 'stroke-width'; export declare type ComputedLineParams = SpecificComputedShapeParams<LineParameter>; export declare class Line extends Shape { getRequiredParameters(): LineParameter[]; } export {};