diff --git a/src/geometry.ts b/src/geometry.ts index 58abec9..13ef2e0 100644 --- a/src/geometry.ts +++ b/src/geometry.ts @@ -1,6 +1,3 @@ -import { Vector2D } from "./vector.js" -import * as shape from "./shapes.js" - function loadScript(filepath: string): string { var result = null; @@ -76,8 +73,8 @@ class Geometry extends HTMLElement private redraw() { - shape.line(this.context, new Vector2D(), new Vector2D(300, 300)); - shape.circle(this.context, new Vector2D(150, 150), 100); + Shape.line(this.context, new Util.Vector2D(), new Util.Vector2D(300, 300)); + Shape.circle(this.context, new Util.Vector2D(150, 150), 100); } } diff --git a/src/shapeStyle.ts b/src/shapeStyle.ts index 174eaab..dabedcf 100644 --- a/src/shapeStyle.ts +++ b/src/shapeStyle.ts @@ -1,14 +1,16 @@ - -export class ShapeStyle +module Util { - public strokeWidth: number; - public strokeColor: string; - public fillColor: string; - - constructor() + export class ShapeStyle { - this.strokeWidth = 1; - this.strokeColor = '#000000'; - this.fillColor = '#00000000'; + public strokeWidth: number; + public strokeColor: string; + public fillColor: string; + + constructor() + { + this.strokeWidth = 1; + this.strokeColor = '#000000'; + this.fillColor = '#00000000'; + } } } \ No newline at end of file diff --git a/src/shapes.ts b/src/shapes.ts index 29454ff..c79f31a 100644 --- a/src/shapes.ts +++ b/src/shapes.ts @@ -1,26 +1,26 @@ -import { Vector2D } from "./vector.js" -import { ShapeStyle } from "./shapeStyle.js"; - -export function line(ctx: CanvasRenderingContext2D, from: Vector2D , to: Vector2D, style: ShapeStyle = new ShapeStyle()) +module Shape { - ctx.beginPath(); - ctx.moveTo(from.x, from.y); - ctx.lineTo(to.x, to.y); + export function line(ctx: CanvasRenderingContext2D, from: Util.Vector2D , to: Util.Vector2D, style: Util.ShapeStyle = new Util.ShapeStyle()) + { + ctx.beginPath(); + ctx.moveTo(from.x, from.y); + ctx.lineTo(to.x, to.y); - ctx.lineWidth = style.strokeWidth; - ctx.strokeStyle = style.strokeColor; - ctx.stroke(); -} + ctx.lineWidth = style.strokeWidth; + ctx.strokeStyle = style.strokeColor; + ctx.stroke(); + } -export function circle(ctx: CanvasRenderingContext2D, center: Vector2D, radius: number, style: ShapeStyle = new ShapeStyle()) -{ - ctx.beginPath(); - ctx.arc(center.x, center.y, radius, 0, 2 * Math.PI, false); + export function circle(ctx: CanvasRenderingContext2D, center: Util.Vector2D, radius: number, style: Util.ShapeStyle = new Util.ShapeStyle()) + { + ctx.beginPath(); + ctx.arc(center.x, center.y, radius, 0, 2 * Math.PI, false); - ctx.fillStyle = style.fillColor; - ctx.fill(); - - ctx.lineWidth = style.strokeWidth; - ctx.strokeStyle = style.strokeColor; - ctx.stroke(); + ctx.fillStyle = style.fillColor; + ctx.fill(); + + ctx.lineWidth = style.strokeWidth; + ctx.strokeStyle = style.strokeColor; + ctx.stroke(); + } } \ No newline at end of file diff --git a/src/vector.ts b/src/vector.ts index 699eb8e..510867e 100644 --- a/src/vector.ts +++ b/src/vector.ts @@ -1,11 +1,14 @@ -export class Vector2D +module Util { - public x: number; - public y: number; - - constructor(x: number = 0, y: number = 0) + export class Vector2D { - this.x = x; - this.y = y; + public x: number; + public y: number; + + constructor(x: number = 0, y: number = 0) + { + this.x = x; + this.y = y; + } } } \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index 90de336..2ad2c5c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "target": "es6", - // "outFile": "./out/lauchpioos.js", + "outFile": "./out/geometry.js", "outDir": "./out", "sourceRoot": "./src", "rootDir": "./src",