diff --git a/index.html b/index.html index d826544..edf1e4b 100644 --- a/index.html +++ b/index.html @@ -4,10 +4,7 @@ BittMapp - - - - +
diff --git a/package.json b/package.json index 4dbb7d3..97a6d41 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "0.0.1", "description": "BittMapp - A monochrome bitmap editor", "scripts": { - "build": "tslint -c tslint.json \"src/**/*.ts\" && tsc" + "build": "rm static/js/*.js && tslint -c tslint.json \"src/**/*.ts\" && tsc && cat static/js/*.js > static/js/dist.js" }, "author": "Nathan Kunicki ", "license": "MIT", diff --git a/src/actionlist.ts b/src/actionlist.ts new file mode 100644 index 0000000..6299a6a --- /dev/null +++ b/src/actionlist.ts @@ -0,0 +1,12 @@ +class ActionList extends LinkedList { + + + private _current: ActionNode; + + + public push (node: LinkedNode): void { + // super(node); + } + + +} diff --git a/src/actionnode.ts b/src/actionnode.ts new file mode 100644 index 0000000..1bb29ad --- /dev/null +++ b/src/actionnode.ts @@ -0,0 +1,15 @@ +class ActionNode extends LinkedNode { + + + public undo: () => void; + public redo: () => void; + + + constructor (undo: () => void, redo: () => void) { + super(); + this.undo = undo; + this.redo = redo; + } + + +} diff --git a/src/bmptools.ts b/src/bmptools.ts index 547595f..7a81df3 100644 --- a/src/bmptools.ts +++ b/src/bmptools.ts @@ -15,11 +15,9 @@ interface IBMPHeaderData { interface IBittMappData { - data: Uint8Array; width: number; height: number; - } diff --git a/src/editor.ts b/src/editor.ts index 5b7373d..1c20130 100644 --- a/src/editor.ts +++ b/src/editor.ts @@ -1,4 +1,4 @@ -interface IBittMappEditorConstructorOptions { +interface IEditorConstructorOptions { canvas: HTMLCanvasElement; canvasWidth: number; canvasHeight: number; @@ -20,7 +20,7 @@ enum Mode { } -class BittMappEditor { +class Editor { public canvasWidth: number; @@ -55,7 +55,7 @@ class BittMappEditor { private _selection: Uint8Array; - constructor (options: IBittMappEditorConstructorOptions) { + constructor (options: IEditorConstructorOptions) { options = options || {}; diff --git a/src/linkedlist.ts b/src/linkedlist.ts new file mode 100644 index 0000000..284724b --- /dev/null +++ b/src/linkedlist.ts @@ -0,0 +1,31 @@ +class LinkedList { + + + private _start: LinkedNode; + private _end: LinkedNode; + + public push (node: LinkedNode): void { + + if (!this._start) { + this._start = node; + this._end = node; + return; + } + + this._end.next = node; + this._end = node; + + } + + public pop (): LinkedNode | null { + if (!this._end) { + return null; + } + + const node: LinkedNode = this._end; + this._end = this._end.prev; + return node; + + } + +} diff --git a/src/linkednode.ts b/src/linkednode.ts new file mode 100644 index 0000000..6e8ab58 --- /dev/null +++ b/src/linkednode.ts @@ -0,0 +1,34 @@ +class LinkedNode { + + + private _prev: LinkedNode; + private _next: LinkedNode; + + + get next (): LinkedNode { + return this._next; + } + + + set next (node: LinkedNode) { + this._next = node; + if (node.prev !== this) { + node.prev = this; + } + } + + + get prev (): LinkedNode { + return this._prev; + } + + + set prev (node: LinkedNode) { + this._prev = node; + if (node.next !== this) { + node.next = this; + } + } + + +} diff --git a/src/main.ts b/src/main.ts index 3966cc9..3a79626 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,6 +1,6 @@ window.onload = (): void => { - const editor: BittMappEditor = new BittMappEditor({ + const editor: Editor = new Editor({ canvas: document.getElementById("editor") as HTMLCanvasElement, canvasHeight: 480, canvasWidth: 480,