oncoprintjs
Version:
A data visualization for cancer genomic data.
68 lines (67 loc) • 3.14 kB
TypeScript
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 {};