@obliczeniowo/elementary
Version:
Library made in Angular version 20
86 lines (82 loc) • 3.52 kB
TypeScript
import * as i0 from '@angular/core';
import { OnChanges, ElementRef, EventEmitter, SimpleChanges } from '@angular/core';
import { MinMax } from '@obliczeniowo/elementary/math';
import * as i3 from '@obliczeniowo/elementary/svg';
import { GradientDef } from '@obliczeniowo/elementary/svg';
import { Point2D, IPoint2D } from '@obliczeniowo/elementary/classes';
import * as i2 from '@angular/common';
interface SimpleDiagramHover {
converted: Point2D;
original: Point2D;
}
declare class SimpleDiagram2DComponent implements OnChanges {
protected element: ElementRef<HTMLElement>;
svg: SVGSVGElement;
/**
* Points2D array table as diagram points
*/
points: Point2D[];
/**
* Gradient definition description including:
* array of:
* - colors;
* - opacity;
* - offset;
* coordinates of gradient:
* - x, y start/end position (optional)
*/
gradient: GradientDef | undefined;
/**
* When undefined or not set it will 1 on X is 100% object width, and similar on Y
* When 'userSpaceOnUse' it use space units system (not related to object size)
*/
gradientUnits: 'userSpaceOnUse' | undefined;
/**
* diagram padding
*/
padding: number;
/**
* bottom diagram padding (includes as part of diagram shape)
*/
diagramBottomPadding: number;
/** */
height: number;
/** */
width: number;
/**
* When set to true emit cursor position value in diagram space coordinates
*/
interactive: boolean;
/**
* Emit when require recalculation
*/
recalculate: EventEmitter<{
component: SimpleDiagram2DComponent;
}>;
hover: EventEmitter<SimpleDiagramHover>;
protected convertedShape: string;
protected convertedLines: string;
protected gradientId: string;
protected xMinMax: MinMax;
protected yMinMax: MinMax;
protected dx: number;
protected dy: number;
protected sx: number;
protected sy: number;
constructor(element: ElementRef<HTMLElement>);
ngOnChanges(changes: SimpleChanges): void;
transform(p: Point2D): Point2D;
mouseToDiagram(p: IPoint2D): Point2D;
interpolate(x: number): number;
protected mouseMove(event: MouseEvent): void;
protected convert(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<SimpleDiagram2DComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<SimpleDiagram2DComponent, "obl-simple-diagram2-d", never, { "points": { "alias": "points"; "required": false; }; "gradient": { "alias": "gradient"; "required": false; }; "gradientUnits": { "alias": "gradientUnits"; "required": false; }; "padding": { "alias": "padding"; "required": false; }; "diagramBottomPadding": { "alias": "diagramBottomPadding"; "required": false; }; "height": { "alias": "height"; "required": false; }; "width": { "alias": "width"; "required": false; }; "interactive": { "alias": "interactive"; "required": false; }; }, { "recalculate": "recalculate"; "hover": "hover"; }, never, ["*"], false, never>;
}
declare class SimpleDiagram2DModule {
static ɵfac: i0.ɵɵFactoryDeclaration<SimpleDiagram2DModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<SimpleDiagram2DModule, [typeof SimpleDiagram2DComponent], [typeof i2.CommonModule, typeof i3.SvgModule], [typeof SimpleDiagram2DComponent]>;
static ɵinj: i0.ɵɵInjectorDeclaration<SimpleDiagram2DModule>;
}
export { SimpleDiagram2DComponent, SimpleDiagram2DModule };
export type { SimpleDiagramHover };