@prescott/geo-pattern
Version:
Create beautiful generative geometric background images from a string.
38 lines • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SolidBackgroundComposer = void 0;
const color_generators_1 = require("../color-generators");
const color_preset_1 = require("../color-preset");
const svg_1 = require("../svg");
class SolidBackgroundComposer {
constructor(seed, preset) {
this.seed = seed;
this.preset = preset;
this.color = this.selectColor(seed, preset);
}
async compose(pattern) {
pattern.background = {
image: this.generate(),
preset: this.preset,
color: this.color,
composer: this,
};
}
generate() {
return [new svg_1.SVGNode("rect", {
x: 0,
y: 0,
width: "100%",
height: "100%",
fill: this.color.rgb().string(),
})];
}
selectColor(seed, preset) {
const generator = preset.mode === color_preset_1.ColorPresetMode.BaseColor ?
new color_generators_1.BaseColorGenerator(preset.baseColor, seed) :
new color_generators_1.SimpleColorGenerator(preset.color);
return generator.generate();
}
}
exports.SolidBackgroundComposer = SolidBackgroundComposer;
//# sourceMappingURL=solid.js.map