compile to one single file

This commit is contained in:
Lauchmelder 2021-11-26 23:07:28 +01:00
parent 8140a02305
commit 6526241f5e
5 changed files with 46 additions and 44 deletions

View file

@ -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);
}
}

View file

@ -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';
}
}
}

View file

@ -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();
}
}

View file

@ -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;
}
}
}

View file

@ -1,7 +1,7 @@
{
"compilerOptions": {
"target": "es6",
// "outFile": "./out/lauchpioos.js",
"outFile": "./out/geometry.js",
"outDir": "./out",
"sourceRoot": "./src",
"rootDir": "./src",