Merge pull request #32371 from rhysd/obeliskjs-as-module

[obelisk.js] obelisk.js v1.2 now can be imported as module
This commit is contained in:
Benjamin Lichtman
2019-01-28 08:37:03 -08:00
committed by GitHub
3 changed files with 276 additions and 213 deletions
+245 -211
View File
@@ -1,228 +1,262 @@
// Type definitions for obelisk.js v1.1.0
// Type definitions for obelisk.js 1.2
// Project: https://github.com/nosir/obelisk.js/
// Definitions by: Brian Drupieski <https://github.com/bdrupieski>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
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 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 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 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);
}
+30 -1
View File
@@ -1,3 +1,5 @@
import * as obelisk from 'obelisk.js';
function test_brick() {
var canvas = <HTMLCanvasElement>document.getElementById('canvas-demo');
@@ -143,4 +145,31 @@ 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));
}
}
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);
}
+1 -1
View File
@@ -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,