UNPKG

@astrodraw/astrochart

Version:

A free and open-source JavaScript library for generating SVG charts to display planets in astrology.

165 lines (164 loc) 4.76 kB
import type { Settings } from './settings'; /** * SVG tools. * * @class * @public * @constructor * @param {String} elementId - root DOM Element * @param {int} width * @param {int} height */ declare class SVG { settings: Settings; _paperElementId: string; DOMElement: SVGSVGElement; root: Element; width: number; height: number; context: this; constructor(elementId: string, width: number, height: number, settings: Settings); _getSymbol(name: string, x: number, y: number): Element; /** * Get a required symbol. * * @param {String} name * @param {int} x * @param {int} y * * @return {SVGElement g} */ getSymbol(name: string, x: number, y: number): Element; /** * Create transparent rectangle. * * Used to improve area click, @see this.settings.ADD_CLICK_AREA * * @param {Number} x * @param {Number} y * * @return {Element} rect */ createRectForClick(x: number, y: number): Element; /** * Get ID for sign wrapper. * * @param {String} sign * * @return {String id} */ getSignWrapperId(sign: string): string; /** * Get ID for house wrapper. * * @param {String} house * * @return {String id} */ getHouseIdWrapper(house: string): string; sun(x: number, y: number): Element; moon(x: number, y: number): Element; mercury(x: number, y: number): Element; venus(x: number, y: number): Element; mars(x: number, y: number): Element; jupiter(x: number, y: number): Element; saturn(x: number, y: number): Element; uranus(x: number, y: number): Element; neptune(x: number, y: number): Element; pluto(x: number, y: number): Element; chiron(x: number, y: number): Element; lilith(x: number, y: number): Element; nnode(x: number, y: number): Element; snode(x: number, y: number): Element; fortune(x: number, y: number): Element; aries(x: number, y: number): Element; taurus(x: number, y: number): Element; gemini(x: number, y: number): Element; cancer(x: number, y: number): Element; leo(x: number, y: number): Element; virgo(x: number, y: number): Element; libra(x: number, y: number): Element; scorpio(x: number, y: number): Element; sagittarius(x: number, y: number): Element; capricorn(x: number, y: number): Element; aquarius(x: number, y: number): Element; pisces(x: number, y: number): Element; /** * Draw As symbol */ ascendant(x: number, y: number): Element; /** * Draw Ds symbol */ descendant(x: number, y: number): Element; /** * Draw MC symbol */ mediumCoeli(x: number, y: number): Element; /** * Draw IC symbol */ immumCoeli(x: number, y: number): Element; number1(x: number, y: number): Element; number2(x: number, y: number): Element; number3(x: number, y: number): Element; number4(x: number, y: number): Element; number5(x: number, y: number): Element; number6(x: number, y: number): Element; number7(x: number, y: number): Element; number8(x: number, y: number): Element; number9(x: number, y: number): Element; number10(x: number, y: number): Element; number11(x: number, y: number): Element; number12(x: number, y: number): Element; /** * Draw circular sector * * @param {int} x - circle x center position * @param {int} y - circle y center position * @param {int} radius - circle radius in px * @param {int} a1 - angleFrom in degree * @param {int} a2 - angleTo in degree * @param {int} thickness - from outside to center in px * * @return {SVGElement} segment * * @see SVG Path arc: https://www.w3.org/TR/SVG/paths.html#PathData */ segment(x: number, y: number, radius: number, a1: number, a2: number, thickness: number, lFlag?: number, sFlag?: number): Element; /** * Draw line in circle * * @param {int} x1 * @param {int} y2 * @param {int} x2 * @param {int} y2 * @param {String} color - HTML rgb * * @return {SVGElement} line */ line(x1: number, y1: number, x2: number, y2: number): Element; /** * Draw a circle * * @param {int} cx * @param {int} cy * @param {int} radius * * @return {SVGElement} circle */ circle(cx: number, cy: number, radius: number): Element; /** * Draw a text * * @param {String} text * @param {int} x * @param {int} y * @param {String} size - etc. "13px" * @param {String} color - HTML rgb * * @return {SVGElement} text */ text(txt: string, x: number, y: number, size: string, color: string): Element; } export default SVG;