merged dev into parser

This commit is contained in:
Lauchmelder 2021-11-27 05:39:22 +01:00
commit 2558a548b3
5 changed files with 42 additions and 46 deletions

View file

@ -1,3 +1,6 @@
/// <reference path="vector.ts" />
/// <reference path="shapes.ts" />
function loadScript(filepath: string): string
{
let result = null;
@ -73,8 +76,8 @@ class Geometry extends HTMLElement
private redraw()
{
Shape.line(this.context, new Util.Vector2D(), new Util.Vector2D(300, 300));
Shape.circle(this.context, new Util.Vector2D(150, 150), 100);
line(this.context, new Vector2D(), new Vector2D(300, 300));
circle(this.context, new Vector2D(150, 150), 100);
}
}

View file

@ -1,16 +1,13 @@
module Util
class ShapeStyle
{
export class ShapeStyle
{
public strokeWidth: number;
public strokeColor: string;
public fillColor: string;
public strokeWidth: number;
public strokeColor: string;
public fillColor: string;
constructor()
{
this.strokeWidth = 1;
this.strokeColor = '#000000';
this.fillColor = '#00000000';
}
constructor()
{
this.strokeWidth = 1;
this.strokeColor = '#000000';
this.fillColor = '#00000000';
}
}

View file

@ -1,26 +1,26 @@
module Shape
/// <reference path="vector.ts" />
/// <reference path="shapeStyle.ts" />
function line(ctx: CanvasRenderingContext2D, from: Vector2D , to: Vector2D, style: ShapeStyle = new ShapeStyle())
{
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.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: Util.Vector2D, radius: number, style: Util.ShapeStyle = new Util.ShapeStyle())
{
ctx.beginPath();
ctx.arc(center.x, center.y, radius, 0, 2 * Math.PI, false);
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);
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,14 +1,11 @@
module Util
class Vector2D
{
export class Vector2D
public x: number;
public y: number;
constructor(x: number = 0, y: number = 0)
{
public x: number;
public y: number;
constructor(x: number = 0, y: number = 0)
{
this.x = x;
this.y = y;
}
this.x = x;
this.y = y;
}
}

View file

@ -2,7 +2,6 @@
"compilerOptions": {
"target": "es6",
"outFile": "./out/geometry.js",
"outDir": "./out",
"sourceRoot": "./src",
"rootDir": "./src",
"sourceMap": true