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