From 476a1cc4d42f26d567630bb00f3de2c9eda1688c Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 27 Oct 2020 14:07:39 -0400 Subject: [PATCH] updated menu handler --- demo/browser.js | 18 +++++++++--------- demo/menu.js | 9 +++++++-- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/demo/browser.js b/demo/browser.js index 7b99587b..235e9ebd 100644 --- a/demo/browser.js +++ b/demo/browser.js @@ -321,15 +321,15 @@ function setupMenu() { menuFX.addHTML('
'); menuFX.addLabel('Image Filters'); menuFX.addBool('Enabled', config.filter, 'enabled'); - menuFX.addRange('Image width', config.filter, 'width', 100, 3840, 10, (val) => config.filter.width = parseInt(val)); - menuFX.addRange('Image height', config.filter, 'height', 100, 2160, 10, (val) => config.filter.height = parseInt(val)); - menuFX.addRange('Brightness', config.filter, 'brightness', -1.0, 1.0, 0.05, (val) => config.filter.brightness = parseFloat(val)); - menuFX.addRange('Contrast', config.filter, 'contrast', -1.0, 1.0, 0.05, (val) => config.filter.contrast = parseFloat(val)); - menuFX.addRange('Sharpness', config.filter, 'sharpness', 0, 1.0, 0.05, (val) => config.filter.sharpness = parseFloat(val)); - menuFX.addRange('Blur', config.filter, 'blur', 0, 20, 1, (val) => config.filter.blur = parseInt(val)); - menuFX.addRange('Saturation', config.filter, 'saturation', -1.0, 1.0, 0.05, (val) => config.filter.saturation = parseFloat(val)); - menuFX.addRange('Hue', config.filter, 'hue', 0, 360, 5, (val) => config.filter.hue = parseInt(val)); - menuFX.addRange('Pixelate', config.filter, 'pixelate', 0, 32, 1, (val) => config.filter.pixelate = parseInt(val)); + menuFX.addRange('Image width', config.filter, 'width', 100, 3840, 10); + menuFX.addRange('Image height', config.filter, 'height', 100, 2160, 10); + menuFX.addRange('Brightness', config.filter, 'brightness', -1.0, 1.0, 0.05); + menuFX.addRange('Contrast', config.filter, 'contrast', -1.0, 1.0, 0.05); + menuFX.addRange('Sharpness', config.filter, 'sharpness', 0, 1.0, 0.05); + menuFX.addRange('Blur', config.filter, 'blur', 0, 20, 1); + menuFX.addRange('Saturation', config.filter, 'saturation', -1.0, 1.0, 0.05); + menuFX.addRange('Hue', config.filter, 'hue', 0, 360, 5); + menuFX.addRange('Pixelate', config.filter, 'pixelate', 0, 32, 1); menuFX.addBool('Negative', config.filter, 'negative'); menuFX.addBool('Sepia', config.filter, 'sepia'); menuFX.addBool('Vintage', config.filter, 'vintage'); diff --git a/demo/menu.js b/demo/menu.js index 493efc06..014521d9 100644 --- a/demo/menu.js +++ b/demo/menu.js @@ -133,10 +133,15 @@ class Menu { async addRange(title, object, variable, min, max, step, callback) { const el = document.createElement('div'); el.className = 'menu-item'; - el.innerHTML = `${title}`; + const arr = Array.isArray(variable); + el.innerHTML = `${title}`; this.container.appendChild(el); el.addEventListener('change', (evt) => { - object[variable] = evt.target.value; + const int = parseInt(evt.target.value) === parseFloat(evt.target.value); + const val = Array.isArray(variable) ? variable : [variable]; + for (const item of val) { + object[item] = int ? parseInt(evt.target.value) : parseFloat(evt.target.value); + } evt.target.setAttribute('value', evt.target.value); if (callback) callback(evt.target.value); });