]> source.dussan.org Git - svg.js.git/commitdiff
added missing constructor definitions
authorrdfriedl <rdfriedl@gmail.com>
Mon, 9 Jan 2017 00:40:11 +0000 (18:40 -0600)
committerdotnetCarpenter <jon.ronnenberg@gmail.com>
Sat, 14 Jan 2017 04:49:19 +0000 (05:49 +0100)
svg.js.d.ts

index 0b8bcbd0625f54db092c736c33286e300c9339d0..76a296fa0fb95ebe96f5fa9cedede81170a45cd2 100644 (file)
@@ -77,7 +77,7 @@ declare namespace svgjs {
 \r
     // boxes.js\r
     export interface BBox {\r
-        new (element?: Element)\r
+        new (element?: Element): BBox;\r
         height: number;\r
         width: number;\r
         y: number;\r
@@ -86,8 +86,12 @@ declare namespace svgjs {
         cy: number;\r
         merge(bbox: BBox): BBox;\r
     }\r
-    export interface RBox extends BBox { }\r
-    export interface TBox extends BBox { }\r
+    export interface RBox extends BBox {\r
+        new (element?: Element): RBox;\r
+    }\r
+    export interface TBox extends BBox {\r
+        new (element?: Element): TBox;\r
+    }\r
     interface Container {\r
         bbox(): BBox;\r
         rbox(): RBox;\r
@@ -100,7 +104,9 @@ declare namespace svgjs {
     }\r
 \r
     // clip.js\r
-    export interface ClipPath extends Container { }\r
+    export interface ClipPath extends Container {\r
+        new (): ClipPath;\r
+    }\r
     interface Container {\r
         clip(): ClipPath;\r
     }\r
@@ -113,6 +119,7 @@ declare namespace svgjs {
 \r
     // color.js\r
     export interface Color {\r
+        new (): Color;\r
         new (color: string): Color;\r
         new (color: Color): Color;\r
         r: number;\r
@@ -131,6 +138,7 @@ declare namespace svgjs {
 \r
     // container.js\r
     export interface Container extends Parent {\r
+        new (): Container;\r
         viewbox(): ViewBox;\r
         viewbox(v): this;\r
     }\r
@@ -174,11 +182,14 @@ declare namespace svgjs {
     }\r
 \r
     // defs.js\r
-    export interface Defs extends Container { }\r
+    export interface Defs extends Container {\r
+        new (): Defs;\r
+    }\r
     interface Library { Defs: Defs }\r
 \r
     // doc.js\r
     export interface Doc extends Container {\r
+        new (): Doc;\r
         new (selector: string): Doc;\r
         new (domElement: HTMLElement): Doc;\r
         namespace(): this;\r
@@ -187,12 +198,11 @@ declare namespace svgjs {
         spof(spof): this;\r
         remove(): this;\r
     }\r
-    interface Library {\r
-        Doc: Dec;\r
-    }\r
+    interface Library { Doc: Doc; }\r
 \r
     // element.js\r
     export interface Element {\r
+        new (): Element;\r
         node: LinkedHTMLElement;\r
         type: string;\r
 \r
@@ -269,8 +279,12 @@ declare namespace svgjs {
         size(width: any, height: any): this;\r
         radius(x: number, y?: number): this;\r
     }\r
-    export interface Circle extends CircleMethods { }\r
-    export interface Ellipse extends CircleMethods { }\r
+    export interface Circle extends CircleMethods {\r
+        new (): Circle;\r
+    }\r
+    export interface Ellipse extends CircleMethods {\r
+        new (): Ellipse;\r
+    }\r
     interface Container {\r
         circle(size?: any): Circle;\r
         ellipse(width?: any, height?: any): Ellipse;\r
@@ -317,11 +331,12 @@ declare namespace svgjs {
 \r
     // gradient.js\r
     export interface Stop extends Element {\r
+        new (): Stop;\r
         update(offset?: number | _Number, color?: any, opacity?: number | _Number): this;\r
         update(opts: { color: string | Color, offset: number | _Number, opacity: number | _Number }): this;\r
     }\r
     export interface Gradient extends Container {\r
-        new (type: string): Gradient;\r
+        new (type?: string): Gradient;\r
         at(offset?: number | _Number, color?: any, opacity?: number | _Number): Stop;\r
         at(opts: { color: string | Color, offset: number | _Number, opacity: number | _Number }): Stop;\r
         update(block?: Function): this;\r
@@ -341,6 +356,7 @@ declare namespace svgjs {
 \r
     // group.js\r
     export interface G extends Container {\r
+        new (): G;\r
         gbox(): BBox;\r
     }\r
     interface Container { group(): G; }\r
@@ -348,6 +364,7 @@ declare namespace svgjs {
 \r
     // hyperlink.js\r
     export interface A extends Container {\r
+        new (): A;\r
         to(url: any): this;\r
         show(target?: any): this;\r
         target(target: any): this;\r
@@ -361,6 +378,7 @@ declare namespace svgjs {
 \r
     // image.js\r
     export interface Image extends Shape {\r
+        new (): Image;\r
         load(url?: string): this;\r
         loaded(cb: (image: Image, info: { width: number, height: number, ratio: number, url: string }) => any): this;\r
         error(cb: (image: Image, info: { width: number, height: number, ratio: number, url: string }) => any): this;\r
@@ -374,6 +392,7 @@ declare namespace svgjs {
 \r
     // line.js\r
     export interface Line extends Shape {\r
+        new (): Line;\r
         array(): PointArray;\r
         plot(points: number[][]): this;\r
         plot(x1: number, y1: number, x2: number, y2: number): this;\r
@@ -388,6 +407,7 @@ declare namespace svgjs {
 \r
     // marker.js\r
     export interface Marker extends Container {\r
+        new (): Marker;\r
         ref(x, y): this;\r
         update(block: (marker: Marker) => any): this;\r
         toString(): string;\r
@@ -420,6 +440,7 @@ declare namespace svgjs {
 \r
     // mask.js\r
     export interface Mask extends Container {\r
+        new (): Mask;\r
         targets: Element[];\r
     }\r
     interface Container { mask(): Mask; }\r
@@ -496,7 +517,9 @@ declare namespace svgjs {
     }\r
 \r
     // nested.js\r
-    export interface Nested extends Container { }\r
+    export interface Nested extends Container {\r
+        new (): Nested;\r
+    }\r
     interface Container { nested(): Nested; }\r
     interface Library { Nested: Nested; }\r
 \r
@@ -521,6 +544,7 @@ declare namespace svgjs {
 \r
     // parent.js\r
     export interface Parent extends Element {\r
+        new (): Parent;\r
         children(): Element[];\r
         add(element: Element, i?: number): this;\r
         put(element: Element, i?: number): Element;\r
@@ -538,6 +562,7 @@ declare namespace svgjs {
 \r
     // path.js\r
     export interface Path extends Shape {\r
+        new (): Path;\r
         morphArray: PathArray;\r
         array(): PathArray;\r
         plot(d: string): this;\r
@@ -553,6 +578,7 @@ declare namespace svgjs {
     // pathArray.js\r
     interface PathArrayPoint extends Array<any> { }\r
     export interface PathArray extends _Array {\r
+        new (): PathArray;\r
         new (d: string): PathArray;\r
         new (array: PathArrayPoint[]): PathArray;\r
         move(x: number, y: number): this;\r
@@ -564,6 +590,7 @@ declare namespace svgjs {
 \r
     // pattern.js\r
     export interface Pattern extends Container {\r
+        new (): Pattern;\r
         update(block: (pattern: Pattern) => any): this;\r
         toString(): string;\r
     }\r
@@ -577,7 +604,7 @@ declare namespace svgjs {
     export interface Point {\r
         new (): Point;\r
         new (position: ArrayPoint): Point;\r
-        new (position: Point): Point;\r
+        new (point: Point): Point;\r
         new (position: { x: number, y: number }): Point;\r
         new (x: number, y: number): Point;\r
 \r
@@ -597,6 +624,7 @@ declare namespace svgjs {
 \r
     // pointArray.js\r
     export interface PointArray extends _Array {\r
+        new (): PointArray;\r
         new (points: string): PointArray;\r
         new (points: ArrayPoint[]): PointArray;\r
         toStirng(): string;\r
@@ -621,13 +649,17 @@ declare namespace svgjs {
         move(x: number, y: number): this;\r
         size(width: number, height: number): this;\r
     }\r
-    export interface PolyLine extends poly { }\r
+    export interface PolyLine extends poly {\r
+        new (): PolyLine;\r
+    }\r
     interface Library { PolyLine: PolyLine; }\r
     interface Container {\r
         polyLine(points: string): PolyLine;\r
         polyLine(points: ArrayPoint[]): PolyLine;\r
     }\r
-    export interface Polygon extends poly { }\r
+    export interface Polygon extends poly {\r
+        new (): Polygon;\r
+    }\r
     interface Library { Polygon: Polygon; }\r
     interface Container {\r
         polygon(points: string): Polygon;\r
@@ -635,7 +667,9 @@ declare namespace svgjs {
     }\r
 \r
     // rect.js\r
-    export interface Rect extends Shape { }\r
+    export interface Rect extends Shape {\r
+        new (): Rect;\r
+    }\r
     interface Library { Rect: Rect; }\r
     interface Container {\r
         rect(width?: number, height?: number): Rect;\r
@@ -697,7 +731,9 @@ declare namespace svgjs {
     interface Library { Set: Set; }\r
 \r
     // shape.js\r
-    export interface Shape extends Element { }\r
+    export interface Shape extends Element {\r
+        new (): Shape;\r
+    }\r
     interface Library { Shape: Shape; }\r
 \r
     // style.js\r
@@ -758,6 +794,7 @@ declare namespace svgjs {
 \r
     // text.js\r
     export interface Text extends Shape {\r
+        new (): Text;\r
         clone(): Text;\r
         text(): string;\r
         text(text: any): this;\r
@@ -777,6 +814,7 @@ declare namespace svgjs {
     }\r
     interface Library { Text: Text; }\r
     export interface Tspan extends Shape {\r
+        new (): Tspan;\r
         text(): string;\r
         text(text: any): this;\r
         dx(x: number): this;\r
@@ -790,7 +828,9 @@ declare namespace svgjs {
     interface Library { Tspan: Tspan; }\r
 \r
     // textpath.js\r
-    export interface TextPath extends Parent { }\r
+    export interface TextPath extends Parent {\r
+        new (): TextPath;\r
+    }\r
     interface Text {\r
         path(d: any): this;\r
         plot(d: any): this;\r
@@ -831,10 +871,10 @@ declare namespace svgjs {
         new (source: Transform, inversed?: boolean): Transformation;\r
         at(pos: number): Matrix;\r
     }\r
-    export interface Translate extends Transformation { }\r
-    export interface Rotate extends Transformation { }\r
-    export interface Scale extends Transformation { }\r
-    export interface Skew extends Transformation { }\r
+    export interface Translate extends Transformation {new (): Translate}\r
+    export interface Rotate extends Transformation {new (): Rotate}\r
+    export interface Scale extends Transformation {new (): Scale}\r
+    export interface Skew extends Transformation {new (): Skew}\r
     interface Library {\r
         Transformation: Transformation;\r
         Translate: Translate;\r
@@ -851,6 +891,7 @@ declare namespace svgjs {
 \r
     // use.js\r
     export interface Use extends Shape {\r
+        new (): Use;\r
         element(element: Element, file?: string): this;\r
     }\r
     interface Container {\r