simple background colors

This commit is contained in:
Gavin McDonald
2018-08-31 21:46:46 -04:00
parent a7070a735e
commit 3ded7cf4f0
3 changed files with 21 additions and 4 deletions

View File

@@ -187,6 +187,12 @@ class Demo {
} }
draw({context, scale, tilePoints}) { draw({context, scale, tilePoints}) {
this.tessellate.background({
red: 64,
green: 32,
blue: 128,
});
tilePoints.forEach(tilePoint => this.drawTile(tilePoint, context, scale)); tilePoints.forEach(tilePoint => this.drawTile(tilePoint, context, scale));
const now = Date.now(); const now = Date.now();

View File

@@ -1,4 +1,4 @@
import {noop} from './utils.js'; import {getColor, noop} from './utils.js';
export default class Sketch { export default class Sketch {
constructor (settings) { constructor (settings) {
@@ -6,8 +6,9 @@ export default class Sketch {
[ [
'getContext', 'getContext',
'background',
'onResize', 'onResize',
'render' 'render',
].map(method => this[method] = this[method].bind(this)); ].map(method => this[method] = this[method].bind(this));
this.draw = settings.draw || noop; this.draw = settings.draw || noop;
@@ -32,6 +33,14 @@ export default class Sketch {
return this.context; return this.context;
} }
background ({red, green, blue, alpha}) {
this.context.beginPath();
this.context.rect(0, 0, this.canvas.width, this.canvas.height);
this.context.fillStyle = getColor({red, green, blue, alpha});
this.context.closePath();
this.context.fill();
}
onResize (event) { onResize (event) {
const width = this.container.offsetWidth; const width = this.container.offsetWidth;
const height = this.container.offsetHeight; const height = this.container.offsetHeight;

View File

@@ -212,13 +212,15 @@ export class Tessellate {
return funky.flatten(this.cartographer.boundingBox(upperLeft, upperRight, lowerLeft, lowerRight)); return funky.flatten(this.cartographer.boundingBox(upperLeft, upperRight, lowerLeft, lowerRight));
} }
background (color) {
this.sketch.background(color);
}
draw (context) { draw (context) {
const canvas = context.canvas; const canvas = context.canvas;
const width = canvas.width; const width = canvas.width;
const height = canvas.height; const height = canvas.height;
context.clearRect(0, 0, width, height);
this.settings.draw({ this.settings.draw({
context, context,