From 3182b6a95d66bc377b5baf91a2140ce22441cad7 Mon Sep 17 00:00:00 2001 From: rhysd Date: Tue, 22 Jan 2019 12:53:18 +0900 Subject: [PATCH 1/4] [obelisk.js] obelisk.js now can be imported as module --- types/obelisk.js/index.d.ts | 3 ++- types/obelisk.js/obelisk.js-tests.ts | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/types/obelisk.js/index.d.ts b/types/obelisk.js/index.d.ts index 2e4cf8bc3d..68e91d53b7 100644 --- a/types/obelisk.js/index.d.ts +++ b/types/obelisk.js/index.d.ts @@ -1,8 +1,9 @@ -// Type definitions for obelisk.js v1.1.0 +// Type definitions for obelisk.js v1.2.1 // Project: https://github.com/nosir/obelisk.js/ // Definitions by: Brian Drupieski // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +export = obelisk; declare namespace obelisk { export var version: string; diff --git a/types/obelisk.js/obelisk.js-tests.ts b/types/obelisk.js/obelisk.js-tests.ts index e47b474467..c0f931f042 100644 --- a/types/obelisk.js/obelisk.js-tests.ts +++ b/types/obelisk.js/obelisk.js-tests.ts @@ -1,3 +1,5 @@ +import * as obelisk from 'obelisk.js'; + function test_brick() { var canvas = document.getElementById('canvas-demo'); @@ -143,4 +145,4 @@ function test_gif_rendering() { var floorDimension = new obelisk.CubeDimension((size - 2) * (WIDTH + 2), (size - 2) * 9, size); var floor = new obelisk.Cube(floorDimension, new obelisk.CubeColor(), false); pixelViewFloor.renderObject(floor, new obelisk.Point3D(-20, -30, 0)); -} \ No newline at end of file +} From ae2e67ec402419a7e67f0cbdd6c45068a6b8c2ee Mon Sep 17 00:00:00 2001 From: rhysd Date: Wed, 23 Jan 2019 11:33:21 +0900 Subject: [PATCH 2/4] [obelisk.js] Lines support added at v1.2.1 --- types/obelisk.js/index.d.ts | 28 ++++++++++++++++++++++++++++ types/obelisk.js/obelisk.js-tests.ts | 27 +++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) diff --git a/types/obelisk.js/index.d.ts b/types/obelisk.js/index.d.ts index 68e91d53b7..91c481d198 100644 --- a/types/obelisk.js/index.d.ts +++ b/types/obelisk.js/index.d.ts @@ -112,6 +112,10 @@ declare namespace obelisk { getByHorizontalColor(horizontal: number): SlopeColor; } + export class LineColor extends AbstractColor { + constructor(border?: number, inner?: number); + } + export class AbstractDimension { constructor(); @@ -145,6 +149,18 @@ declare namespace obelisk { constructor(xAxis?: number, yAxis?: number); } + export class LineXDimension extends AbstractDimension { + constructor(axis?: number); + } + + export class LineYDimension extends AbstractDimension { + constructor(axis?: number); + } + + export class LineZDimension extends AbstractDimension { + constructor(axis?: number); + } + export class BitmapData { constructor(w: number, h: number, useDefaultCanvas?: boolean); @@ -226,4 +242,16 @@ declare namespace obelisk { export class SlopeWest extends AbstractPrimitive { constructor(dimension?: SlopeDimension, color?: SlopeColor, border?: boolean, useDefaultCanvas?: boolean); } + + export class LineX extends AbstractPrimitive { + constructor(dimension?: LineXDimension, color?: LineColor, useDefaultCanvas?: boolean); + } + + export class LineY extends AbstractPrimitive { + constructor(dimension?: LineYDimension, color?: LineColor, useDefaultCanvas?: boolean); + } + + export class LineZ extends AbstractPrimitive { + constructor(dimension?: LineZDimension, color?: LineColor, useDefaultCanvas?: boolean); + } } diff --git a/types/obelisk.js/obelisk.js-tests.ts b/types/obelisk.js/obelisk.js-tests.ts index c0f931f042..4cc4328409 100644 --- a/types/obelisk.js/obelisk.js-tests.ts +++ b/types/obelisk.js/obelisk.js-tests.ts @@ -146,3 +146,30 @@ function test_gif_rendering() { var floor = new obelisk.Cube(floorDimension, new obelisk.CubeColor(), false); pixelViewFloor.renderObject(floor, new obelisk.Point3D(-20, -30, 0)); } + +function test_line_rendering() { + var canvas = document.getElementById('canvas-demo') as HTMLCanvasElement; + + // create pixel view container in point + var point = new obelisk.Point(400, 200); + var pixelView = new obelisk.PixelView(canvas, point); + + // create brick + var colorX = new obelisk.LineColor(obelisk.ColorPattern.PINK); + var colorY = new obelisk.LineColor(obelisk.ColorPattern.BLACK); + var colorZ = new obelisk.LineColor(obelisk.ColorPattern.BLUE); + + var dimensionX = new obelisk.LineXDimension(100); + var dimensionY = new obelisk.LineYDimension(100); + var dimensionZ = new obelisk.LineZDimension(100); + + var lineX = new obelisk.LineX(dimensionX, colorX); + var lineY = new obelisk.LineY(dimensionY, colorY); + var lineZ = new obelisk.LineZ(dimensionZ, colorZ); + + // render in view + var p3D = new obelisk.Point3D(0, 0, 0); + pixelView.renderObject(lineX, p3D); + pixelView.renderObject(lineY, p3D); + pixelView.renderObject(lineZ, p3D); +} From 7f3293acfc9931805585202606ca63079f5a332d Mon Sep 17 00:00:00 2001 From: rhysd Date: Sat, 26 Jan 2019 15:51:43 +0900 Subject: [PATCH 3/4] enable file header check and fix version format --- types/obelisk.js/index.d.ts | 2 +- types/obelisk.js/tslint.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/types/obelisk.js/index.d.ts b/types/obelisk.js/index.d.ts index 91c481d198..7a4266905f 100644 --- a/types/obelisk.js/index.d.ts +++ b/types/obelisk.js/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for obelisk.js v1.2.1 +// Type definitions for obelisk.js 1.2 // Project: https://github.com/nosir/obelisk.js/ // Definitions by: Brian Drupieski // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped diff --git a/types/obelisk.js/tslint.json b/types/obelisk.js/tslint.json index d67ffb3a73..40aa0a5f91 100644 --- a/types/obelisk.js/tslint.json +++ b/types/obelisk.js/tslint.json @@ -7,7 +7,7 @@ "ban-types": false, "callable-types": false, "comment-format": false, - "dt-header": false, + "dt-header": true, "eofline": false, "export-just-namespace": false, "import-spacing": false, From 1acfe93407b93b23fa26cc22804caeefd4039dd8 Mon Sep 17 00:00:00 2001 From: rhysd Date: Sat, 26 Jan 2019 15:52:09 +0900 Subject: [PATCH 4/4] use `export as namespace` instead of `export =` --- types/obelisk.js/index.d.ts | 483 ++++++++++++++++++------------------ 1 file changed, 244 insertions(+), 239 deletions(-) diff --git a/types/obelisk.js/index.d.ts b/types/obelisk.js/index.d.ts index 7a4266905f..d28643e2c5 100644 --- a/types/obelisk.js/index.d.ts +++ b/types/obelisk.js/index.d.ts @@ -3,255 +3,260 @@ // Definitions by: Brian Drupieski // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -export = obelisk; -declare namespace obelisk { +export as namespace obelisk; - export var version: string; - export var author: string; +export var version: string; +export var author: string; - export class Matrix { - constructor(a?: number, b?: number, c?: number, d?: number, tx?: number, ty?: number); +export class Matrix { + constructor(a?: number, b?: number, c?: number, d?: number, tx?: number, ty?: number); - a: number; - b: number; - c: number; - d: number; - tx: number; - ty: number; - } + a: number; + b: number; + c: number; + d: number; + tx: number; + ty: number; +} + +export class Point { + constructor(x?: number, y?: number); - export class Point { - constructor(x?: number, y?: number); + x: number; + y: number; +} - x: number; - y: number; - } +export class Point3D { + constructor(x?: number, y?: number, z?: number); + + x: number; + y: number; + z: number; + + toGlobalCoordinates(offset?: obelisk.Point): obelisk.Point; +} + +export class ColorGeom { + static get32(color: number): number; + static applyBrightness(color: number, brightness: number, highlight?: boolean): number; +} + +export class ColorPattern { + static GRASS_GREEN: number; + static YELLOW: number; + static WINE_RED: number; + static PINK: number; + static PURPLE: number; + static BLUE: number; + static GRAY: number; + static BLACK: number; + static FINE_COLORS: number[]; + + static getRandomComfortableColor(): number; +} + +export class CanvasTool { + static getPixel(imageData: ImageData, x: number, y: number): number; +} + +export class CanvasManager { + static defaultCanvas: HTMLCanvasElement; + + static getDefaultCanvas(): HTMLCanvasElement; + static getNewCanvas(): HTMLCanvasElement; +} + +export class AbstractColor { + constructor(); + + inner: number; + border: number; + borderHighlight: number; + left: number; + right: number; + horizontal: number; + leftSlope: number; + rightSlope: number; +} + +export class CubeColor extends AbstractColor { + constructor(border?: number, borderHighlight?: number, left?: number, right?: number, horizontal?: number); + + BRIGHTNESS_GAIN: number; + + getByHorizontalColor(horizontal: number): CubeColor; +} + +export class PyramidColor extends AbstractColor { + constructor(border?: number, borderHighlight?: number, left?: number, right?: number); + + BRIGHTNESS_GAIN: number; + + getByRightColor(horizontal: number): PyramidColor; +} + +export class SideColor extends AbstractColor { + constructor(border?: number, inner?: number); + + BRIGHTNESS_GAIN: number; + + getByInnerColor(inner: number): SideColor; +} + +export class SlopeColor extends AbstractColor { + constructor( + border?: number, + borderHighlight?: number, + left?: number, + right?: number, + leftSlope?: number, + rightSlope?: number, + ); + + BRIGHTNESS_GAIN: number; + + getByHorizontalColor(horizontal: number): SlopeColor; +} + +export class LineColor extends AbstractColor { + constructor(border?: number, inner?: number); +} + +export class AbstractDimension { + constructor(); + + xAxis: number; + yAxis: number; + zAxis: number; + tall: boolean; +} + +export class BrickDimension extends AbstractDimension { + constructor(xAxis?: number, yAxis?: number); +} + +export class CubeDimension extends AbstractDimension { + constructor(xAxis?: number, yAxis?: number, zAxis?: number); +} + +export class PyramidDimension extends AbstractDimension { + constructor(axis?: number, tall?: boolean); +} + +export class SideXDimension extends AbstractDimension { + constructor(xAxis?: number, zAxis?: number); +} + +export class SideYDimension extends AbstractDimension { + constructor(yAxis?: number, zAxis?: number); +} - export class Point3D { - constructor(x?: number, y?: number, z?: number); +export class SlopeDimension extends AbstractDimension { + constructor(xAxis?: number, yAxis?: number); +} - x: number; - y: number; - z: number; +export class LineXDimension extends AbstractDimension { + constructor(axis?: number); +} - toGlobalCoordinates(offset?: obelisk.Point): obelisk.Point; - } +export class LineYDimension extends AbstractDimension { + constructor(axis?: number); +} + +export class LineZDimension extends AbstractDimension { + constructor(axis?: number); +} + +export class BitmapData { + constructor(w: number, h: number, useDefaultCanvas?: boolean); + + imageData: ImageData; + canvas: HTMLCanvasElement; + context: CanvasRenderingContext2D; - export class ColorGeom { - static get32(color: number): number; - static applyBrightness(color: number, brightness: number, highlight?: boolean): number; - } + setPixel(posX: number, posY: number, color: number): void; + setPixelByIndex(index: number, color: number): void; + checkPixelAvailable(x: number, y: number): boolean; + floodFill(posX: number, posY: number, color: number): void; +} - export class ColorPattern { - static GRASS_GREEN: number; - static YELLOW: number; - static WINE_RED: number; - static PINK: number; - static PURPLE: number; - static BLUE: number; - static GRAY: number; - static BLACK: number; - static FINE_COLORS: number[]; +export class PixelObject { + constructor(primitive: AbstractPrimitive, point3D?: Point3D); - static getRandomComfortableColor(): number; - } + x: number; + y: number; + canvas: HTMLCanvasElement; +} + +export class PixelView { + constructor(canvas: HTMLCanvasElement, point?: Point); + + canvas: HTMLCanvasElement; + context: CanvasRenderingContext2D; + point: Point; + + renderObject(primitive: AbstractPrimitive, point3D?: Point3D): void; + clear(): void; +} + +export class AbstractPrimitive { + constructor(); + + canvas: HTMLCanvasElement; + w: number; + h: number; + dimension: AbstractDimension; + color: AbstractColor; + border: boolean; + bitmapData: BitmapData; + useDefaultCanvas: boolean; + matrix: Matrix; +} - export class CanvasTool { - static getPixel(imageData: ImageData, x: number, y: number): number; - } - - export class CanvasManager { - static defaultCanvas: HTMLCanvasElement; - - static getDefaultCanvas(): HTMLCanvasElement; - static getNewCanvas(): HTMLCanvasElement; - } - - export class AbstractColor { - constructor(); - - inner: number; - border: number; - borderHighlight: number; - left: number; - right: number; - horizontal: number; - leftSlope: number; - rightSlope: number; - } - - export class CubeColor extends AbstractColor { - constructor(border?: number, borderHighlight?: number, left?: number, right?: number, horizontal?: number); - - BRIGHTNESS_GAIN: number; - - getByHorizontalColor(horizontal: number): CubeColor; - } - - export class PyramidColor extends AbstractColor { - constructor(border?: number, borderHighlight?: number, left?: number, right?: number); - - BRIGHTNESS_GAIN: number; - - getByRightColor(horizontal: number): PyramidColor; - } - - export class SideColor extends AbstractColor { - constructor(border?: number, inner?: number); - - BRIGHTNESS_GAIN: number; - - getByInnerColor(inner: number): SideColor; - } - - export class SlopeColor extends AbstractColor { - constructor(border?: number, borderHighlight?: number, left?: number, right?: number, leftSlope?: number, rightSlope?: number); - - BRIGHTNESS_GAIN: number; - - getByHorizontalColor(horizontal: number): SlopeColor; - } - - export class LineColor extends AbstractColor { - constructor(border?: number, inner?: number); - } - - export class AbstractDimension { - constructor(); - - xAxis: number; - yAxis: number; - zAxis: number; - tall: boolean; - } - - export class BrickDimension extends AbstractDimension { - constructor(xAxis?: number, yAxis?: number); - } - - export class CubeDimension extends AbstractDimension { - constructor(xAxis?: number, yAxis?: number, zAxis?: number); - } - - export class PyramidDimension extends AbstractDimension { - constructor(axis?: number, tall?: boolean); - } - - export class SideXDimension extends AbstractDimension { - constructor(xAxis?: number, zAxis?: number); - } - - export class SideYDimension extends AbstractDimension { - constructor(yAxis?: number, zAxis?: number); - } - - export class SlopeDimension extends AbstractDimension { - constructor(xAxis?: number, yAxis?: number); - } - - export class LineXDimension extends AbstractDimension { - constructor(axis?: number); - } - - export class LineYDimension extends AbstractDimension { - constructor(axis?: number); - } - - export class LineZDimension extends AbstractDimension { - constructor(axis?: number); - } - - export class BitmapData { - constructor(w: number, h: number, useDefaultCanvas?: boolean); - - imageData: ImageData; - canvas: HTMLCanvasElement; - context : CanvasRenderingContext2D; - - setPixel(posX: number, posY: number, color: number): void; - setPixelByIndex(index: number, color: number): void; - checkPixelAvailable(x: number, y: number): boolean; - floodFill(posX: number, posY: number, color: number): void; - } - - export class PixelObject { - constructor(primitive: AbstractPrimitive, point3D?: Point3D); - - x: number; - y: number; - canvas: HTMLCanvasElement; - } - - export class PixelView { - constructor(canvas: HTMLCanvasElement, point?: Point); - - canvas: HTMLCanvasElement; - context: CanvasRenderingContext2D; - point: Point; - - renderObject(primitive: AbstractPrimitive, point3D?: Point3D): void; - clear(): void; - } - - export class AbstractPrimitive { - constructor(); - - canvas: HTMLCanvasElement; - w: number; - h: number; - dimension: AbstractDimension; - color: AbstractColor; - border: boolean; - bitmapData: BitmapData; - useDefaultCanvas: boolean; - matrix: Matrix; - } - - export class Brick extends AbstractPrimitive { - constructor(dimension?: BrickDimension, color?: SideColor, border?: boolean, useDefaultCanvas?: boolean); - } - - export class Cube extends AbstractPrimitive { - constructor(dimension?: CubeDimension, color?: CubeColor, border?: boolean, useDefaultCanvas?: boolean); - } - - export class Pyramid extends AbstractPrimitive { - constructor(dimension?: PyramidDimension, color?: PyramidColor, border?: boolean, useDefaultCanvas?: boolean); - } - - export class SideX extends AbstractPrimitive { - constructor(dimension?: SideXDimension, color?: SideColor, border?: boolean, useDefaultCanvas?: boolean); - } - - export class SideY extends AbstractPrimitive { - constructor(dimension?: SideYDimension, color?: SideColor, border?: boolean, useDefaultCanvas?: boolean); - } - - export class SlopeEast extends AbstractPrimitive { - constructor(dimension?: SlopeDimension, color?: SlopeColor, border?: boolean, useDefaultCanvas?: boolean); - } - - export class SlopeNorth extends AbstractPrimitive { - constructor(dimension?: SlopeDimension, color?: SlopeColor, border?: boolean, useDefaultCanvas?: boolean); - } - - export class SlopeSouth extends AbstractPrimitive { - constructor(dimension?: SlopeDimension, color?: SlopeColor, border?: boolean, useDefaultCanvas?: boolean); - } - - export class SlopeWest extends AbstractPrimitive { - constructor(dimension?: SlopeDimension, color?: SlopeColor, border?: boolean, useDefaultCanvas?: boolean); - } - - export class LineX extends AbstractPrimitive { - constructor(dimension?: LineXDimension, color?: LineColor, useDefaultCanvas?: boolean); - } - - export class LineY extends AbstractPrimitive { - constructor(dimension?: LineYDimension, color?: LineColor, useDefaultCanvas?: boolean); - } - - export class LineZ extends AbstractPrimitive { - constructor(dimension?: LineZDimension, color?: LineColor, useDefaultCanvas?: boolean); - } +export class Brick extends AbstractPrimitive { + constructor(dimension?: BrickDimension, color?: SideColor, border?: boolean, useDefaultCanvas?: boolean); +} + +export class Cube extends AbstractPrimitive { + constructor(dimension?: CubeDimension, color?: CubeColor, border?: boolean, useDefaultCanvas?: boolean); +} + +export class Pyramid extends AbstractPrimitive { + constructor(dimension?: PyramidDimension, color?: PyramidColor, border?: boolean, useDefaultCanvas?: boolean); +} + +export class SideX extends AbstractPrimitive { + constructor(dimension?: SideXDimension, color?: SideColor, border?: boolean, useDefaultCanvas?: boolean); +} + +export class SideY extends AbstractPrimitive { + constructor(dimension?: SideYDimension, color?: SideColor, border?: boolean, useDefaultCanvas?: boolean); +} + +export class SlopeEast extends AbstractPrimitive { + constructor(dimension?: SlopeDimension, color?: SlopeColor, border?: boolean, useDefaultCanvas?: boolean); +} + +export class SlopeNorth extends AbstractPrimitive { + constructor(dimension?: SlopeDimension, color?: SlopeColor, border?: boolean, useDefaultCanvas?: boolean); +} + +export class SlopeSouth extends AbstractPrimitive { + constructor(dimension?: SlopeDimension, color?: SlopeColor, border?: boolean, useDefaultCanvas?: boolean); +} + +export class SlopeWest extends AbstractPrimitive { + constructor(dimension?: SlopeDimension, color?: SlopeColor, border?: boolean, useDefaultCanvas?: boolean); +} + +export class LineX extends AbstractPrimitive { + constructor(dimension?: LineXDimension, color?: LineColor, useDefaultCanvas?: boolean); +} + +export class LineY extends AbstractPrimitive { + constructor(dimension?: LineYDimension, color?: LineColor, useDefaultCanvas?: boolean); +} + +export class LineZ extends AbstractPrimitive { + constructor(dimension?: LineZDimension, color?: LineColor, useDefaultCanvas?: boolean); }