UNPKG

@figliolia/ripples

Version:

WebGL ripples based on the clever work of Pim Schreurs

47 lines (46 loc) 1.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Options = void 0; class Options { constructor(options) { const configuration = this.configure(options); this.imageUrl = configuration.imageUrl; this.dropRadius = configuration.dropRadius; this.interactive = configuration.interactive; this.perturbance = configuration.perturbance; this.crossOrigin = configuration.crossOrigin; this.onInitialized = configuration.onInitialized; this.resolution = this.extractResolution(configuration.resolution); } configure(options) { return Object.assign({}, Options.defaults, options); } extractResolution(resolution) { if (typeof resolution === "number") { return resolution; } if (typeof window.devicePixelRatio === "number") { return Math.max(Options.defaults.resolution, 256 * window.devicePixelRatio); } return Options.defaults.resolution; } extractUrl(value) { const urlMatch = /url\(["']?([^"']*)["']?\)/.exec(value); if (urlMatch == null) { return null; } return urlMatch[1]; } isDataUri(url) { return url.match(/^data:/); } } exports.Options = Options; Options.defaults = { imageUrl: null, resolution: 512, dropRadius: 10, perturbance: 0.02, interactive: true, crossOrigin: "", };