From f31375e602be70766229ff8a468ac45b0ea83f15 Mon Sep 17 00:00:00 2001 From: Rina Toyoshiba Date: Wed, 10 Jul 2019 20:28:16 -1000 Subject: [PATCH 1/2] Pixel Painter --- assets/8-bit-pixel-art-city-2o.jpg | Bin 0 -> 347423 bytes css/PixelPainter.css | 98 ++ js/PixelPainter.js | 122 ++ js/jscolor.js | 1855 ++++++++++++++++++++++++++++ 4 files changed, 2075 insertions(+) create mode 100644 assets/8-bit-pixel-art-city-2o.jpg create mode 100644 js/jscolor.js diff --git a/assets/8-bit-pixel-art-city-2o.jpg b/assets/8-bit-pixel-art-city-2o.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d31857d13509a2efcf286598079840380e92167b GIT binary patch literal 347423 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

O}sACn@p^1SCVO+iXB>FauCP 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%0DeXGqh2}$Jc)!CqT*^#4c>D12DgjPfm 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%0D#nd#krq@ll_&1JoZ0oX~VbeqPMb{6UytVqn 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 literal 0 HcmV?d00001 diff --git a/css/PixelPainter.css b/css/PixelPainter.css index e69de29b..108c53ca 100644 --- a/css/PixelPainter.css +++ b/css/PixelPainter.css @@ -0,0 +1,98 @@ +html { + height: 100vh; + width: 100vw; +} + +body { + height: 100vh; + width: 100vw; + background-image: url(/assets/8-bit-pixel-art-city-2o.jpg); + background-repeat: no-repeat; + background-size: 100% 100%; +} + +h1 { + display: flex; + justify-content: center; + font-family: "Dancing Script", cursive; + font-size: 400%; +} + +#pixelPainter { + display: flex; + flex-direction: row; + justify-content: center; + height: 85%; + width: 100%; +} + +#myColor { + box-sizing: border-box; + display: flex; + flex-direction: column; + align-items: stretch; + padding: 1%; + border: solid 3px black; + height: 98%; + width: 20%; + border-radius: 20px; + background-color: white; +} + +#myGrid { + box-sizing: border-box; + display: flex; + flex-direction: column; + background-color: white; + border: solid 3px black; + padding: 1%; + height: 98%; + width: 55%; + border-radius: 20px; +} + +.rows { + display: flex; + flex-direction: row; + height: 2.5%; + width: 100%; +} + +.coloringBox { + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -o-user-select: none; + user-select: none; + background-color: white; + border: solid 1px black; + height: 100%; + width: 2.5%; + display: flex; + align-content: stretch; +} + +button, +input { + font-family: "Amatic SC", cursive; + font-size: 180%; + font-weight: bold; + width: 100%; + background-color: white; +} + +/*MEDIA QUERIES.*/ +@media screen and (max-width: 600px) { + #pixelPainter { + display: flex; + flex-direction: column; + } + #myColor { + width: 100%; + float: right; + } + #myGrid { + width: 100%; + float: right; + } +} diff --git a/js/PixelPainter.js b/js/PixelPainter.js index e69de29b..86cca067 100644 --- a/js/PixelPainter.js +++ b/js/PixelPainter.js @@ -0,0 +1,122 @@ +//div element creater +function makeIdDiv(elem, label) { + let makeIdElement = document.createElement(elem); + makeIdElement.id = label; + return makeIdElement; +} + +//add fonts for page +let fonts = document.createElement("link"); +fonts.href = + "https://fonts.googleapis.com/css?family=Amatic+SC|Dancing+Script&display=swap"; +fonts.rel = "stylesheet"; +document.head.appendChild(fonts); + +//create containers for colors and grid +let gridContainer = makeIdDiv("div", "myGrid"); + +let colorContainer = makeIdDiv("div", "myColor"); + +let getPixelDiv = document.querySelector("#pixelPainter"); + +getPixelDiv.appendChild(colorContainer); +getPixelDiv.appendChild(gridContainer); + +//create boxes inside grid container +function makeClassDiv(elem, label) { + let makeClassElement = document.createElement(elem); + makeClassElement.className = label; + return makeClassElement; +} + +let numOfRows = 40; +let numOfBoxes = 40; + +for (let i = 0; i < numOfRows; i++) { + let gridRows = makeClassDiv("div", "rows"); + myGrid.appendChild(gridRows); + for (let i = 0; i < numOfBoxes; i++) { + let gridBox = makeClassDiv("div", "coloringBox"); + gridRows.appendChild(gridBox); + } +} + +//creat script src for jscolor +let jscolor = document.createElement("script"); +jscolor.src = "js/jscolor.js"; +document.body.appendChild(jscolor); + +//create color selector in color box +let colorDiv = makeIdDiv("div", "colorSelector"); +colorContainer.appendChild(colorDiv); + +let color = document.createElement("input"); +color.className = "jscolor"; +colorDiv.appendChild(color); + +//create buttons div +let buttonDiv = makeIdDiv("div", "buttons"); +colorContainer.appendChild(buttonDiv); + +//create erase button +let eraseButton = makeIdDiv("button", "eraseBox"); +eraseButton.textContent = "Eraser"; +buttonDiv.appendChild(eraseButton); + +//create clear button +let clearButton = makeIdDiv("button", "clearGrid"); +clearButton.textContent = "Clear"; +buttonDiv.appendChild(clearButton); + +//create save button +let saveButton = makeIdDiv("button", "saveGrid"); +saveButton.textContent = "Save"; +buttonDiv.appendChild(saveButton); + +//get color +let colorMemory = undefined; + +let inputColor = document.querySelectorAll(".jscolor"); +color.addEventListener("change", function() { + colorMemory = this.style["background-color"]; +}); + +let mousedown = false; + +let colorIn = document.querySelectorAll(".coloringBox"); +colorIn.forEach(function(e) { + e.addEventListener("mousedown", function() { + this.style.background = colorMemory; + mousedown = true; + }); + e.addEventListener("mouseover", function() { + if (mousedown === true) { + this.style.background = colorMemory; + } + }); + e.addEventListener("mouseup", function() { + mousedown = false; + }); +}); + +//erase box +eraseBox.addEventListener("click", function() { + colorMemory = ""; +}); + +//clear grid +clearGrid.addEventListener("click", function() { + colorIn.forEach(function(a) { + a.style.backgroundColor = ""; + a.style.opacity = ""; + }); +}); + +// //save your beautiful drawing +// let pixelArray = []; +// let savedColorArr = []; + +// for (let i = 0; i < colorIn.length; i++) { +// let saveColor = colorIn.style.backgroundColor; +// console.log(saveColor); +// } diff --git a/js/jscolor.js b/js/jscolor.js new file mode 100644 index 00000000..5c77177d --- /dev/null +++ b/js/jscolor.js @@ -0,0 +1,1855 @@ +/** + * jscolor - JavaScript Color Picker + * + * @link http://jscolor.com + * @license For open source use: GPLv3 + * For commercial use: JSColor Commercial License + * @author Jan Odvarko + * @version 2.0.5 + * + * See usage examples at http://jscolor.com/examples/ + */ + + +"use strict"; + + +if (!window.jscolor) { window.jscolor = (function () { + + +var jsc = { + + + register : function () { + jsc.attachDOMReadyEvent(jsc.init); + jsc.attachEvent(document, 'mousedown', jsc.onDocumentMouseDown); + jsc.attachEvent(document, 'touchstart', jsc.onDocumentTouchStart); + jsc.attachEvent(window, 'resize', jsc.onWindowResize); + }, + + + init : function () { + if (jsc.jscolor.lookupClass) { + jsc.jscolor.installByClassName(jsc.jscolor.lookupClass); + } + }, + + + tryInstallOnElements : function (elms, className) { + var matchClass = new RegExp('(^|\\s)(' + className + ')(\\s*(\\{[^}]*\\})|\\s|$)', 'i'); + + for (var i = 0; i < elms.length; i += 1) { + if (elms[i].type !== undefined && elms[i].type.toLowerCase() == 'color') { + if (jsc.isColorAttrSupported) { + // skip inputs of type 'color' if supported by the browser + continue; + } + } + var m; + if (!elms[i].jscolor && elms[i].className && (m = elms[i].className.match(matchClass))) { + var targetElm = elms[i]; + var optsStr = null; + + var dataOptions = jsc.getDataAttr(targetElm, 'jscolor'); + if (dataOptions !== null) { + optsStr = dataOptions; + } else if (m[4]) { + optsStr = m[4]; + } + + var opts = {}; + if (optsStr) { + try { + opts = (new Function ('return (' + optsStr + ')'))(); + } catch(eParseError) { + jsc.warn('Error parsing jscolor options: ' + eParseError + ':\n' + optsStr); + } + } + targetElm.jscolor = new jsc.jscolor(targetElm, opts); + } + } + }, + + + isColorAttrSupported : (function () { + var elm = document.createElement('input'); + if (elm.setAttribute) { + elm.setAttribute('type', 'color'); + if (elm.type.toLowerCase() == 'color') { + return true; + } + } + return false; + })(), + + + isCanvasSupported : (function () { + var elm = document.createElement('canvas'); + return !!(elm.getContext && elm.getContext('2d')); + })(), + + + fetchElement : function (mixed) { + return typeof mixed === 'string' ? document.getElementById(mixed) : mixed; + }, + + + isElementType : function (elm, type) { + return elm.nodeName.toLowerCase() === type.toLowerCase(); + }, + + + getDataAttr : function (el, name) { + var attrName = 'data-' + name; + var attrValue = el.getAttribute(attrName); + if (attrValue !== null) { + return attrValue; + } + return null; + }, + + + attachEvent : function (el, evnt, func) { + if (el.addEventListener) { + el.addEventListener(evnt, func, false); + } else if (el.attachEvent) { + el.attachEvent('on' + evnt, func); + } + }, + + + detachEvent : function (el, evnt, func) { + if (el.removeEventListener) { + el.removeEventListener(evnt, func, false); + } else if (el.detachEvent) { + el.detachEvent('on' + evnt, func); + } + }, + + + _attachedGroupEvents : {}, + + + attachGroupEvent : function (groupName, el, evnt, func) { + if (!jsc._attachedGroupEvents.hasOwnProperty(groupName)) { + jsc._attachedGroupEvents[groupName] = []; + } + jsc._attachedGroupEvents[groupName].push([el, evnt, func]); + jsc.attachEvent(el, evnt, func); + }, + + + detachGroupEvents : function (groupName) { + if (jsc._attachedGroupEvents.hasOwnProperty(groupName)) { + for (var i = 0; i < jsc._attachedGroupEvents[groupName].length; i += 1) { + var evt = jsc._attachedGroupEvents[groupName][i]; + jsc.detachEvent(evt[0], evt[1], evt[2]); + } + delete jsc._attachedGroupEvents[groupName]; + } + }, + + + attachDOMReadyEvent : function (func) { + var fired = false; + var fireOnce = function () { + if (!fired) { + fired = true; + func(); + } + }; + + if (document.readyState === 'complete') { + setTimeout(fireOnce, 1); // async + return; + } + + if (document.addEventListener) { + document.addEventListener('DOMContentLoaded', fireOnce, false); + + // Fallback + window.addEventListener('load', fireOnce, false); + + } else if (document.attachEvent) { + // IE + document.attachEvent('onreadystatechange', function () { + if (document.readyState === 'complete') { + document.detachEvent('onreadystatechange', arguments.callee); + fireOnce(); + } + }) + + // Fallback + window.attachEvent('onload', fireOnce); + + // IE7/8 + if (document.documentElement.doScroll && window == window.top) { + var tryScroll = function () { + if (!document.body) { return; } + try { + document.documentElement.doScroll('left'); + fireOnce(); + } catch (e) { + setTimeout(tryScroll, 1); + } + }; + tryScroll(); + } + } + }, + + + warn : function (msg) { + if (window.console && window.console.warn) { + window.console.warn(msg); + } + }, + + + preventDefault : function (e) { + if (e.preventDefault) { e.preventDefault(); } + e.returnValue = false; + }, + + + captureTarget : function (target) { + // IE + if (target.setCapture) { + jsc._capturedTarget = target; + jsc._capturedTarget.setCapture(); + } + }, + + + releaseTarget : function () { + // IE + if (jsc._capturedTarget) { + jsc._capturedTarget.releaseCapture(); + jsc._capturedTarget = null; + } + }, + + + fireEvent : function (el, evnt) { + if (!el) { + return; + } + if (document.createEvent) { + var ev = document.createEvent('HTMLEvents'); + ev.initEvent(evnt, true, true); + el.dispatchEvent(ev); + } else if (document.createEventObject) { + var ev = document.createEventObject(); + el.fireEvent('on' + evnt, ev); + } else if (el['on' + evnt]) { // alternatively use the traditional event model + el['on' + evnt](); + } + }, + + + classNameToList : function (className) { + return className.replace(/^\s+|\s+$/g, '').split(/\s+/); + }, + + + // The className parameter (str) can only contain a single class name + hasClass : function (elm, className) { + if (!className) { + return false; + } + return -1 != (' ' + elm.className.replace(/\s+/g, ' ') + ' ').indexOf(' ' + className + ' '); + }, + + + // The className parameter (str) can contain multiple class names separated by whitespace + setClass : function (elm, className) { + var classList = jsc.classNameToList(className); + for (var i = 0; i < classList.length; i += 1) { + if (!jsc.hasClass(elm, classList[i])) { + elm.className += (elm.className ? ' ' : '') + classList[i]; + } + } + }, + + + // The className parameter (str) can contain multiple class names separated by whitespace + unsetClass : function (elm, className) { + var classList = jsc.classNameToList(className); + for (var i = 0; i < classList.length; i += 1) { + var repl = new RegExp( + '^\\s*' + classList[i] + '\\s*|' + + '\\s*' + classList[i] + '\\s*$|' + + '\\s+' + classList[i] + '(\\s+)', + 'g' + ); + elm.className = elm.className.replace(repl, '$1'); + } + }, + + + getStyle : function (elm) { + return window.getComputedStyle ? window.getComputedStyle(elm) : elm.currentStyle; + }, + + + setStyle : (function () { + var helper = document.createElement('div'); + var getSupportedProp = function (names) { + for (var i = 0; i < names.length; i += 1) { + if (names[i] in helper.style) { + return names[i]; + } + } + }; + var props = { + borderRadius: getSupportedProp(['borderRadius', 'MozBorderRadius', 'webkitBorderRadius']), + boxShadow: getSupportedProp(['boxShadow', 'MozBoxShadow', 'webkitBoxShadow']) + }; + return function (elm, prop, value) { + switch (prop.toLowerCase()) { + case 'opacity': + var alphaOpacity = Math.round(parseFloat(value) * 100); + elm.style.opacity = value; + elm.style.filter = 'alpha(opacity=' + alphaOpacity + ')'; + break; + default: + elm.style[props[prop]] = value; + break; + } + }; + })(), + + + setBorderRadius : function (elm, value) { + jsc.setStyle(elm, 'borderRadius', value || '0'); + }, + + + setBoxShadow : function (elm, value) { + jsc.setStyle(elm, 'boxShadow', value || 'none'); + }, + + + getElementPos : function (e, relativeToViewport) { + var x=0, y=0; + var rect = e.getBoundingClientRect(); + x = rect.left; + y = rect.top; + if (!relativeToViewport) { + var viewPos = jsc.getViewPos(); + x += viewPos[0]; + y += viewPos[1]; + } + return [x, y]; + }, + + + getElementSize : function (e) { + return [e.offsetWidth, e.offsetHeight]; + }, + + + // get pointer's X/Y coordinates relative to viewport + getAbsPointerPos : function (e) { + if (!e) { e = window.event; } + var x = 0, y = 0; + if (typeof e.changedTouches !== 'undefined' && e.changedTouches.length) { + // touch devices + x = e.changedTouches[0].clientX; + y = e.changedTouches[0].clientY; + } else if (typeof e.clientX === 'number') { + x = e.clientX; + y = e.clientY; + } + return { x: x, y: y }; + }, + + + // get pointer's X/Y coordinates relative to target element + getRelPointerPos : function (e) { + if (!e) { e = window.event; } + var target = e.target || e.srcElement; + var targetRect = target.getBoundingClientRect(); + + var x = 0, y = 0; + + var clientX = 0, clientY = 0; + if (typeof e.changedTouches !== 'undefined' && e.changedTouches.length) { + // touch devices + clientX = e.changedTouches[0].clientX; + clientY = e.changedTouches[0].clientY; + } else if (typeof e.clientX === 'number') { + clientX = e.clientX; + clientY = e.clientY; + } + + x = clientX - targetRect.left; + y = clientY - targetRect.top; + return { x: x, y: y }; + }, + + + getViewPos : function () { + var doc = document.documentElement; + return [ + (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0), + (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0) + ]; + }, + + + getViewSize : function () { + var doc = document.documentElement; + return [ + (window.innerWidth || doc.clientWidth), + (window.innerHeight || doc.clientHeight), + ]; + }, + + + redrawPosition : function () { + + if (jsc.picker && jsc.picker.owner) { + var thisObj = jsc.picker.owner; + + var tp, vp; + + if (thisObj.fixed) { + // Fixed elements are positioned relative to viewport, + // therefore we can ignore the scroll offset + tp = jsc.getElementPos(thisObj.targetElement, true); // target pos + vp = [0, 0]; // view pos + } else { + tp = jsc.getElementPos(thisObj.targetElement); // target pos + vp = jsc.getViewPos(); // view pos + } + + var ts = jsc.getElementSize(thisObj.targetElement); // target size + var vs = jsc.getViewSize(); // view size + var ps = jsc.getPickerOuterDims(thisObj); // picker size + var a, b, c; + switch (thisObj.position.toLowerCase()) { + case 'left': a=1; b=0; c=-1; break; + case 'right':a=1; b=0; c=1; break; + case 'top': a=0; b=1; c=-1; break; + default: a=0; b=1; c=1; break; + } + var l = (ts[b]+ps[b])/2; + + // compute picker position + if (!thisObj.smartPosition) { + var pp = [ + tp[a], + tp[b]+ts[b]-l+l*c + ]; + } else { + var pp = [ + -vp[a]+tp[a]+ps[a] > vs[a] ? + (-vp[a]+tp[a]+ts[a]/2 > vs[a]/2 && tp[a]+ts[a]-ps[a] >= 0 ? tp[a]+ts[a]-ps[a] : tp[a]) : + tp[a], + -vp[b]+tp[b]+ts[b]+ps[b]-l+l*c > vs[b] ? + (-vp[b]+tp[b]+ts[b]/2 > vs[b]/2 && tp[b]+ts[b]-l-l*c >= 0 ? tp[b]+ts[b]-l-l*c : tp[b]+ts[b]-l+l*c) : + (tp[b]+ts[b]-l+l*c >= 0 ? tp[b]+ts[b]-l+l*c : tp[b]+ts[b]-l-l*c) + ]; + } + + var x = pp[a]; + var y = pp[b]; + var positionValue = thisObj.fixed ? 'fixed' : 'absolute'; + var contractShadow = + (pp[0] + ps[0] > tp[0] || pp[0] < tp[0] + ts[0]) && + (pp[1] + ps[1] < tp[1] + ts[1]); + + jsc._drawPosition(thisObj, x, y, positionValue, contractShadow); + } + }, + + + _drawPosition : function (thisObj, x, y, positionValue, contractShadow) { + var vShadow = contractShadow ? 0 : thisObj.shadowBlur; // px + + jsc.picker.wrap.style.position = positionValue; + jsc.picker.wrap.style.left = x + 'px'; + jsc.picker.wrap.style.top = y + 'px'; + + jsc.setBoxShadow( + jsc.picker.boxS, + thisObj.shadow ? + new jsc.BoxShadow(0, vShadow, thisObj.shadowBlur, 0, thisObj.shadowColor) : + null); + }, + + + getPickerDims : function (thisObj) { + var displaySlider = !!jsc.getSliderComponent(thisObj); + var dims = [ + 2 * thisObj.insetWidth + 2 * thisObj.padding + thisObj.width + + (displaySlider ? 2 * thisObj.insetWidth + jsc.getPadToSliderPadding(thisObj) + thisObj.sliderSize : 0), + 2 * thisObj.insetWidth + 2 * thisObj.padding + thisObj.height + + (thisObj.closable ? 2 * thisObj.insetWidth + thisObj.padding + thisObj.buttonHeight : 0) + ]; + return dims; + }, + + + getPickerOuterDims : function (thisObj) { + var dims = jsc.getPickerDims(thisObj); + return [ + dims[0] + 2 * thisObj.borderWidth, + dims[1] + 2 * thisObj.borderWidth + ]; + }, + + + getPadToSliderPadding : function (thisObj) { + return Math.max(thisObj.padding, 1.5 * (2 * thisObj.pointerBorderWidth + thisObj.pointerThickness)); + }, + + + getPadYComponent : function (thisObj) { + switch (thisObj.mode.charAt(1).toLowerCase()) { + case 'v': return 'v'; break; + } + return 's'; + }, + + + getSliderComponent : function (thisObj) { + if (thisObj.mode.length > 2) { + switch (thisObj.mode.charAt(2).toLowerCase()) { + case 's': return 's'; break; + case 'v': return 'v'; break; + } + } + return null; + }, + + + onDocumentMouseDown : function (e) { + if (!e) { e = window.event; } + var target = e.target || e.srcElement; + + if (target._jscLinkedInstance) { + if (target._jscLinkedInstance.showOnClick) { + target._jscLinkedInstance.show(); + } + } else if (target._jscControlName) { + jsc.onControlPointerStart(e, target, target._jscControlName, 'mouse'); + } else { + // Mouse is outside the picker controls -> hide the color picker! + if (jsc.picker && jsc.picker.owner) { + jsc.picker.owner.hide(); + } + } + }, + + + onDocumentTouchStart : function (e) { + if (!e) { e = window.event; } + var target = e.target || e.srcElement; + + if (target._jscLinkedInstance) { + if (target._jscLinkedInstance.showOnClick) { + target._jscLinkedInstance.show(); + } + } else if (target._jscControlName) { + jsc.onControlPointerStart(e, target, target._jscControlName, 'touch'); + } else { + if (jsc.picker && jsc.picker.owner) { + jsc.picker.owner.hide(); + } + } + }, + + + onWindowResize : function (e) { + jsc.redrawPosition(); + }, + + + onParentScroll : function (e) { + // hide the picker when one of the parent elements is scrolled + if (jsc.picker && jsc.picker.owner) { + jsc.picker.owner.hide(); + } + }, + + + _pointerMoveEvent : { + mouse: 'mousemove', + touch: 'touchmove' + }, + _pointerEndEvent : { + mouse: 'mouseup', + touch: 'touchend' + }, + + + _pointerOrigin : null, + _capturedTarget : null, + + + onControlPointerStart : function (e, target, controlName, pointerType) { + var thisObj = target._jscInstance; + + jsc.preventDefault(e); + jsc.captureTarget(target); + + var registerDragEvents = function (doc, offset) { + jsc.attachGroupEvent('drag', doc, jsc._pointerMoveEvent[pointerType], + jsc.onDocumentPointerMove(e, target, controlName, pointerType, offset)); + jsc.attachGroupEvent('drag', doc, jsc._pointerEndEvent[pointerType], + jsc.onDocumentPointerEnd(e, target, controlName, pointerType)); + }; + + registerDragEvents(document, [0, 0]); + + if (window.parent && window.frameElement) { + var rect = window.frameElement.getBoundingClientRect(); + var ofs = [-rect.left, -rect.top]; + registerDragEvents(window.parent.window.document, ofs); + } + + var abs = jsc.getAbsPointerPos(e); + var rel = jsc.getRelPointerPos(e); + jsc._pointerOrigin = { + x: abs.x - rel.x, + y: abs.y - rel.y + }; + + switch (controlName) { + case 'pad': + // if the slider is at the bottom, move it up + switch (jsc.getSliderComponent(thisObj)) { + case 's': if (thisObj.hsv[1] === 0) { thisObj.fromHSV(null, 100, null); }; break; + case 'v': if (thisObj.hsv[2] === 0) { thisObj.fromHSV(null, null, 100); }; break; + } + jsc.setPad(thisObj, e, 0, 0); + break; + + case 'sld': + jsc.setSld(thisObj, e, 0); + break; + } + + jsc.dispatchFineChange(thisObj); + }, + + + onDocumentPointerMove : function (e, target, controlName, pointerType, offset) { + return function (e) { + var thisObj = target._jscInstance; + switch (controlName) { + case 'pad': + if (!e) { e = window.event; } + jsc.setPad(thisObj, e, offset[0], offset[1]); + jsc.dispatchFineChange(thisObj); + break; + + case 'sld': + if (!e) { e = window.event; } + jsc.setSld(thisObj, e, offset[1]); + jsc.dispatchFineChange(thisObj); + break; + } + } + }, + + + onDocumentPointerEnd : function (e, target, controlName, pointerType) { + return function (e) { + var thisObj = target._jscInstance; + jsc.detachGroupEvents('drag'); + jsc.releaseTarget(); + // Always dispatch changes after detaching outstanding mouse handlers, + // in case some user interaction will occur in user's onchange callback + // that would intrude with current mouse events + jsc.dispatchChange(thisObj); + }; + }, + + + dispatchChange : function (thisObj) { + if (thisObj.valueElement) { + if (jsc.isElementType(thisObj.valueElement, 'input')) { + jsc.fireEvent(thisObj.valueElement, 'change'); + } + } + }, + + + dispatchFineChange : function (thisObj) { + if (thisObj.onFineChange) { + var callback; + if (typeof thisObj.onFineChange === 'string') { + callback = new Function (thisObj.onFineChange); + } else { + callback = thisObj.onFineChange; + } + callback.call(thisObj); + } + }, + + + setPad : function (thisObj, e, ofsX, ofsY) { + var pointerAbs = jsc.getAbsPointerPos(e); + var x = ofsX + pointerAbs.x - jsc._pointerOrigin.x - thisObj.padding - thisObj.insetWidth; + var y = ofsY + pointerAbs.y - jsc._pointerOrigin.y - thisObj.padding - thisObj.insetWidth; + + var xVal = x * (360 / (thisObj.width - 1)); + var yVal = 100 - (y * (100 / (thisObj.height - 1))); + + switch (jsc.getPadYComponent(thisObj)) { + case 's': thisObj.fromHSV(xVal, yVal, null, jsc.leaveSld); break; + case 'v': thisObj.fromHSV(xVal, null, yVal, jsc.leaveSld); break; + } + }, + + + setSld : function (thisObj, e, ofsY) { + var pointerAbs = jsc.getAbsPointerPos(e); + var y = ofsY + pointerAbs.y - jsc._pointerOrigin.y - thisObj.padding - thisObj.insetWidth; + + var yVal = 100 - (y * (100 / (thisObj.height - 1))); + + switch (jsc.getSliderComponent(thisObj)) { + case 's': thisObj.fromHSV(null, yVal, null, jsc.leavePad); break; + case 'v': thisObj.fromHSV(null, null, yVal, jsc.leavePad); break; + } + }, + + + _vmlNS : 'jsc_vml_', + _vmlCSS : 'jsc_vml_css_', + _vmlReady : false, + + + initVML : function () { + if (!jsc._vmlReady) { + // init VML namespace + var doc = document; + if (!doc.namespaces[jsc._vmlNS]) { + doc.namespaces.add(jsc._vmlNS, 'urn:schemas-microsoft-com:vml'); + } + if (!doc.styleSheets[jsc._vmlCSS]) { + var tags = ['shape', 'shapetype', 'group', 'background', 'path', 'formulas', 'handles', 'fill', 'stroke', 'shadow', 'textbox', 'textpath', 'imagedata', 'line', 'polyline', 'curve', 'rect', 'roundrect', 'oval', 'arc', 'image']; + var ss = doc.createStyleSheet(); + ss.owningElement.id = jsc._vmlCSS; + for (var i = 0; i < tags.length; i += 1) { + ss.addRule(jsc._vmlNS + '\\:' + tags[i], 'behavior:url(#default#VML);'); + } + } + jsc._vmlReady = true; + } + }, + + + createPalette : function () { + + var paletteObj = { + elm: null, + draw: null + }; + + if (jsc.isCanvasSupported) { + // Canvas implementation for modern browsers + + var canvas = document.createElement('canvas'); + var ctx = canvas.getContext('2d'); + + var drawFunc = function (width, height, type) { + canvas.width = width; + canvas.height = height; + + ctx.clearRect(0, 0, canvas.width, canvas.height); + + var hGrad = ctx.createLinearGradient(0, 0, canvas.width, 0); + hGrad.addColorStop(0 / 6, '#F00'); + hGrad.addColorStop(1 / 6, '#FF0'); + hGrad.addColorStop(2 / 6, '#0F0'); + hGrad.addColorStop(3 / 6, '#0FF'); + hGrad.addColorStop(4 / 6, '#00F'); + hGrad.addColorStop(5 / 6, '#F0F'); + hGrad.addColorStop(6 / 6, '#F00'); + + ctx.fillStyle = hGrad; + ctx.fillRect(0, 0, canvas.width, canvas.height); + + var vGrad = ctx.createLinearGradient(0, 0, 0, canvas.height); + switch (type.toLowerCase()) { + case 's': + vGrad.addColorStop(0, 'rgba(255,255,255,0)'); + vGrad.addColorStop(1, 'rgba(255,255,255,1)'); + break; + case 'v': + vGrad.addColorStop(0, 'rgba(0,0,0,0)'); + vGrad.addColorStop(1, 'rgba(0,0,0,1)'); + break; + } + ctx.fillStyle = vGrad; + ctx.fillRect(0, 0, canvas.width, canvas.height); + }; + + paletteObj.elm = canvas; + paletteObj.draw = drawFunc; + + } else { + // VML fallback for IE 7 and 8 + + jsc.initVML(); + + var vmlContainer = document.createElement('div'); + vmlContainer.style.position = 'relative'; + vmlContainer.style.overflow = 'hidden'; + + var hGrad = document.createElement(jsc._vmlNS + ':fill'); + hGrad.type = 'gradient'; + hGrad.method = 'linear'; + hGrad.angle = '90'; + hGrad.colors = '16.67% #F0F, 33.33% #00F, 50% #0FF, 66.67% #0F0, 83.33% #FF0' + + var hRect = document.createElement(jsc._vmlNS + ':rect'); + hRect.style.position = 'absolute'; + hRect.style.left = -1 + 'px'; + hRect.style.top = -1 + 'px'; + hRect.stroked = false; + hRect.appendChild(hGrad); + vmlContainer.appendChild(hRect); + + var vGrad = document.createElement(jsc._vmlNS + ':fill'); + vGrad.type = 'gradient'; + vGrad.method = 'linear'; + vGrad.angle = '180'; + vGrad.opacity = '0'; + + var vRect = document.createElement(jsc._vmlNS + ':rect'); + vRect.style.position = 'absolute'; + vRect.style.left = -1 + 'px'; + vRect.style.top = -1 + 'px'; + vRect.stroked = false; + vRect.appendChild(vGrad); + vmlContainer.appendChild(vRect); + + var drawFunc = function (width, height, type) { + vmlContainer.style.width = width + 'px'; + vmlContainer.style.height = height + 'px'; + + hRect.style.width = + vRect.style.width = + (width + 1) + 'px'; + hRect.style.height = + vRect.style.height = + (height + 1) + 'px'; + + // Colors must be specified during every redraw, otherwise IE won't display + // a full gradient during a subsequential redraw + hGrad.color = '#F00'; + hGrad.color2 = '#F00'; + + switch (type.toLowerCase()) { + case 's': + vGrad.color = vGrad.color2 = '#FFF'; + break; + case 'v': + vGrad.color = vGrad.color2 = '#000'; + break; + } + }; + + paletteObj.elm = vmlContainer; + paletteObj.draw = drawFunc; + } + + return paletteObj; + }, + + + createSliderGradient : function () { + + var sliderObj = { + elm: null, + draw: null + }; + + if (jsc.isCanvasSupported) { + // Canvas implementation for modern browsers + + var canvas = document.createElement('canvas'); + var ctx = canvas.getContext('2d'); + + var drawFunc = function (width, height, color1, color2) { + canvas.width = width; + canvas.height = height; + + ctx.clearRect(0, 0, canvas.width, canvas.height); + + var grad = ctx.createLinearGradient(0, 0, 0, canvas.height); + grad.addColorStop(0, color1); + grad.addColorStop(1, color2); + + ctx.fillStyle = grad; + ctx.fillRect(0, 0, canvas.width, canvas.height); + }; + + sliderObj.elm = canvas; + sliderObj.draw = drawFunc; + + } else { + // VML fallback for IE 7 and 8 + + jsc.initVML(); + + var vmlContainer = document.createElement('div'); + vmlContainer.style.position = 'relative'; + vmlContainer.style.overflow = 'hidden'; + + var grad = document.createElement(jsc._vmlNS + ':fill'); + grad.type = 'gradient'; + grad.method = 'linear'; + grad.angle = '180'; + + var rect = document.createElement(jsc._vmlNS + ':rect'); + rect.style.position = 'absolute'; + rect.style.left = -1 + 'px'; + rect.style.top = -1 + 'px'; + rect.stroked = false; + rect.appendChild(grad); + vmlContainer.appendChild(rect); + + var drawFunc = function (width, height, color1, color2) { + vmlContainer.style.width = width + 'px'; + vmlContainer.style.height = height + 'px'; + + rect.style.width = (width + 1) + 'px'; + rect.style.height = (height + 1) + 'px'; + + grad.color = color1; + grad.color2 = color2; + }; + + sliderObj.elm = vmlContainer; + sliderObj.draw = drawFunc; + } + + return sliderObj; + }, + + + leaveValue : 1<<0, + leaveStyle : 1<<1, + leavePad : 1<<2, + leaveSld : 1<<3, + + + BoxShadow : (function () { + var BoxShadow = function (hShadow, vShadow, blur, spread, color, inset) { + this.hShadow = hShadow; + this.vShadow = vShadow; + this.blur = blur; + this.spread = spread; + this.color = color; + this.inset = !!inset; + }; + + BoxShadow.prototype.toString = function () { + var vals = [ + Math.round(this.hShadow) + 'px', + Math.round(this.vShadow) + 'px', + Math.round(this.blur) + 'px', + Math.round(this.spread) + 'px', + this.color + ]; + if (this.inset) { + vals.push('inset'); + } + return vals.join(' '); + }; + + return BoxShadow; + })(), + + + // + // Usage: + // var myColor = new jscolor( [, ]) + // + + jscolor : function (targetElement, options) { + + // General options + // + this.value = null; // initial HEX color. To change it later, use methods fromString(), fromHSV() and fromRGB() + this.valueElement = targetElement; // element that will be used to display and input the color code + this.styleElement = targetElement; // element that will preview the picked color using CSS backgroundColor + this.required = true; // whether the associated text can be left empty + this.refine = true; // whether to refine the entered color code (e.g. uppercase it and remove whitespace) + this.hash = false; // whether to prefix the HEX color code with # symbol + this.uppercase = true; // whether to show the color code in upper case + this.onFineChange = null; // called instantly every time the color changes (value can be either a function or a string with javascript code) + this.activeClass = 'jscolor-active'; // class to be set to the target element when a picker window is open on it + this.overwriteImportant = false; // whether to overwrite colors of styleElement using !important + this.minS = 0; // min allowed saturation (0 - 100) + this.maxS = 100; // max allowed saturation (0 - 100) + this.minV = 0; // min allowed value (brightness) (0 - 100) + this.maxV = 100; // max allowed value (brightness) (0 - 100) + + // Accessing the picked color + // + this.hsv = [0, 0, 100]; // read-only [0-360, 0-100, 0-100] + this.rgb = [255, 255, 255]; // read-only [0-255, 0-255, 0-255] + + // Color Picker options + // + this.width = 181; // width of color palette (in px) + this.height = 101; // height of color palette (in px) + this.showOnClick = true; // whether to display the color picker when user clicks on its target element + this.mode = 'HSV'; // HSV | HVS | HS | HV - layout of the color picker controls + this.position = 'bottom'; // left | right | top | bottom - position relative to the target element + this.smartPosition = true; // automatically change picker position when there is not enough space for it + this.sliderSize = 16; // px + this.crossSize = 8; // px + this.closable = false; // whether to display the Close button + this.closeText = 'Close'; + this.buttonColor = '#000000'; // CSS color + this.buttonHeight = 18; // px + this.padding = 12; // px + this.backgroundColor = '#FFFFFF'; // CSS color + this.borderWidth = 1; // px + this.borderColor = '#BBBBBB'; // CSS color + this.borderRadius = 8; // px + this.insetWidth = 1; // px + this.insetColor = '#BBBBBB'; // CSS color + this.shadow = true; // whether to display shadow + this.shadowBlur = 15; // px + this.shadowColor = 'rgba(0,0,0,0.2)'; // CSS color + this.pointerColor = '#4C4C4C'; // px + this.pointerBorderColor = '#FFFFFF'; // px + this.pointerBorderWidth = 1; // px + this.pointerThickness = 2; // px + this.zIndex = 1000; + this.container = null; // where to append the color picker (BODY element by default) + + + for (var opt in options) { + if (options.hasOwnProperty(opt)) { + this[opt] = options[opt]; + } + } + + + this.hide = function () { + if (isPickerOwner()) { + detachPicker(); + } + }; + + + this.show = function () { + drawPicker(); + }; + + + this.redraw = function () { + if (isPickerOwner()) { + drawPicker(); + } + }; + + + this.importColor = function () { + if (!this.valueElement) { + this.exportColor(); + } else { + if (jsc.isElementType(this.valueElement, 'input')) { + if (!this.refine) { + if (!this.fromString(this.valueElement.value, jsc.leaveValue)) { + if (this.styleElement) { + this.styleElement.style.backgroundImage = this.styleElement._jscOrigStyle.backgroundImage; + this.styleElement.style.backgroundColor = this.styleElement._jscOrigStyle.backgroundColor; + this.styleElement.style.color = this.styleElement._jscOrigStyle.color; + } + this.exportColor(jsc.leaveValue | jsc.leaveStyle); + } + } else if (!this.required && /^\s*$/.test(this.valueElement.value)) { + this.valueElement.value = ''; + if (this.styleElement) { + this.styleElement.style.backgroundImage = this.styleElement._jscOrigStyle.backgroundImage; + this.styleElement.style.backgroundColor = this.styleElement._jscOrigStyle.backgroundColor; + this.styleElement.style.color = this.styleElement._jscOrigStyle.color; + } + this.exportColor(jsc.leaveValue | jsc.leaveStyle); + + } else if (this.fromString(this.valueElement.value)) { + // managed to import color successfully from the value -> OK, don't do anything + } else { + this.exportColor(); + } + } else { + // not an input element -> doesn't have any value + this.exportColor(); + } + } + }; + + + this.exportColor = function (flags) { + if (!(flags & jsc.leaveValue) && this.valueElement) { + var value = this.toString(); + if (this.uppercase) { value = value.toUpperCase(); } + if (this.hash) { value = '#' + value; } + + if (jsc.isElementType(this.valueElement, 'input')) { + this.valueElement.value = value; + } else { + this.valueElement.innerHTML = value; + } + } + if (!(flags & jsc.leaveStyle)) { + if (this.styleElement) { + var bgColor = '#' + this.toString(); + var fgColor = this.isLight() ? '#000' : '#FFF'; + + this.styleElement.style.backgroundImage = 'none'; + this.styleElement.style.backgroundColor = bgColor; + this.styleElement.style.color = fgColor; + + if (this.overwriteImportant) { + this.styleElement.setAttribute('style', + 'background: ' + bgColor + ' !important; ' + + 'color: ' + fgColor + ' !important;' + ); + } + } + } + if (!(flags & jsc.leavePad) && isPickerOwner()) { + redrawPad(); + } + if (!(flags & jsc.leaveSld) && isPickerOwner()) { + redrawSld(); + } + }; + + + // h: 0-360 + // s: 0-100 + // v: 0-100 + // + this.fromHSV = function (h, s, v, flags) { // null = don't change + if (h !== null) { + if (isNaN(h)) { return false; } + h = Math.max(0, Math.min(360, h)); + } + if (s !== null) { + if (isNaN(s)) { return false; } + s = Math.max(0, Math.min(100, this.maxS, s), this.minS); + } + if (v !== null) { + if (isNaN(v)) { return false; } + v = Math.max(0, Math.min(100, this.maxV, v), this.minV); + } + + this.rgb = HSV_RGB( + h===null ? this.hsv[0] : (this.hsv[0]=h), + s===null ? this.hsv[1] : (this.hsv[1]=s), + v===null ? this.hsv[2] : (this.hsv[2]=v) + ); + + this.exportColor(flags); + }; + + + // r: 0-255 + // g: 0-255 + // b: 0-255 + // + this.fromRGB = function (r, g, b, flags) { // null = don't change + if (r !== null) { + if (isNaN(r)) { return false; } + r = Math.max(0, Math.min(255, r)); + } + if (g !== null) { + if (isNaN(g)) { return false; } + g = Math.max(0, Math.min(255, g)); + } + if (b !== null) { + if (isNaN(b)) { return false; } + b = Math.max(0, Math.min(255, b)); + } + + var hsv = RGB_HSV( + r===null ? this.rgb[0] : r, + g===null ? this.rgb[1] : g, + b===null ? this.rgb[2] : b + ); + if (hsv[0] !== null) { + this.hsv[0] = Math.max(0, Math.min(360, hsv[0])); + } + if (hsv[2] !== 0) { + this.hsv[1] = hsv[1]===null ? null : Math.max(0, this.minS, Math.min(100, this.maxS, hsv[1])); + } + this.hsv[2] = hsv[2]===null ? null : Math.max(0, this.minV, Math.min(100, this.maxV, hsv[2])); + + // update RGB according to final HSV, as some values might be trimmed + var rgb = HSV_RGB(this.hsv[0], this.hsv[1], this.hsv[2]); + this.rgb[0] = rgb[0]; + this.rgb[1] = rgb[1]; + this.rgb[2] = rgb[2]; + + this.exportColor(flags); + }; + + + this.fromString = function (str, flags) { + var m; + if (m = str.match(/^\W*([0-9A-F]{3}([0-9A-F]{3})?)\W*$/i)) { + // HEX notation + // + + if (m[1].length === 6) { + // 6-char notation + this.fromRGB( + parseInt(m[1].substr(0,2),16), + parseInt(m[1].substr(2,2),16), + parseInt(m[1].substr(4,2),16), + flags + ); + } else { + // 3-char notation + this.fromRGB( + parseInt(m[1].charAt(0) + m[1].charAt(0),16), + parseInt(m[1].charAt(1) + m[1].charAt(1),16), + parseInt(m[1].charAt(2) + m[1].charAt(2),16), + flags + ); + } + return true; + + } else if (m = str.match(/^\W*rgba?\(([^)]*)\)\W*$/i)) { + var params = m[1].split(','); + var re = /^\s*(\d*)(\.\d+)?\s*$/; + var mR, mG, mB; + if ( + params.length >= 3 && + (mR = params[0].match(re)) && + (mG = params[1].match(re)) && + (mB = params[2].match(re)) + ) { + var r = parseFloat((mR[1] || '0') + (mR[2] || '')); + var g = parseFloat((mG[1] || '0') + (mG[2] || '')); + var b = parseFloat((mB[1] || '0') + (mB[2] || '')); + this.fromRGB(r, g, b, flags); + return true; + } + } + return false; + }; + + + this.toString = function () { + return ( + (0x100 | Math.round(this.rgb[0])).toString(16).substr(1) + + (0x100 | Math.round(this.rgb[1])).toString(16).substr(1) + + (0x100 | Math.round(this.rgb[2])).toString(16).substr(1) + ); + }; + + + this.toHEXString = function () { + return '#' + this.toString().toUpperCase(); + }; + + + this.toRGBString = function () { + return ('rgb(' + + Math.round(this.rgb[0]) + ',' + + Math.round(this.rgb[1]) + ',' + + Math.round(this.rgb[2]) + ')' + ); + }; + + + this.isLight = function () { + return ( + 0.213 * this.rgb[0] + + 0.715 * this.rgb[1] + + 0.072 * this.rgb[2] > + 255 / 2 + ); + }; + + + this._processParentElementsInDOM = function () { + if (this._linkedElementsProcessed) { return; } + this._linkedElementsProcessed = true; + + var elm = this.targetElement; + do { + // If the target element or one of its parent nodes has fixed position, + // then use fixed positioning instead + // + // Note: In Firefox, getComputedStyle returns null in a hidden iframe, + // that's why we need to check if the returned style object is non-empty + var currStyle = jsc.getStyle(elm); + if (currStyle && currStyle.position.toLowerCase() === 'fixed') { + this.fixed = true; + } + + if (elm !== this.targetElement) { + // Ensure to attach onParentScroll only once to each parent element + // (multiple targetElements can share the same parent nodes) + // + // Note: It's not just offsetParents that can be scrollable, + // that's why we loop through all parent nodes + if (!elm._jscEventsAttached) { + jsc.attachEvent(elm, 'scroll', jsc.onParentScroll); + elm._jscEventsAttached = true; + } + } + } while ((elm = elm.parentNode) && !jsc.isElementType(elm, 'body')); + }; + + + // r: 0-255 + // g: 0-255 + // b: 0-255 + // + // returns: [ 0-360, 0-100, 0-100 ] + // + function RGB_HSV (r, g, b) { + r /= 255; + g /= 255; + b /= 255; + var n = Math.min(Math.min(r,g),b); + var v = Math.max(Math.max(r,g),b); + var m = v - n; + if (m === 0) { return [ null, 0, 100 * v ]; } + var h = r===n ? 3+(b-g)/m : (g===n ? 5+(r-b)/m : 1+(g-r)/m); + return [ + 60 * (h===6?0:h), + 100 * (m/v), + 100 * v + ]; + } + + + // h: 0-360 + // s: 0-100 + // v: 0-100 + // + // returns: [ 0-255, 0-255, 0-255 ] + // + function HSV_RGB (h, s, v) { + var u = 255 * (v / 100); + + if (h === null) { + return [ u, u, u ]; + } + + h /= 60; + s /= 100; + + var i = Math.floor(h); + var f = i%2 ? h-i : 1-(h-i); + var m = u * (1 - s); + var n = u * (1 - s * f); + switch (i) { + case 6: + case 0: return [u,n,m]; + case 1: return [n,u,m]; + case 2: return [m,u,n]; + case 3: return [m,n,u]; + case 4: return [n,m,u]; + case 5: return [u,m,n]; + } + } + + + function detachPicker () { + jsc.unsetClass(THIS.targetElement, THIS.activeClass); + jsc.picker.wrap.parentNode.removeChild(jsc.picker.wrap); + delete jsc.picker.owner; + } + + + function drawPicker () { + + // At this point, when drawing the picker, we know what the parent elements are + // and we can do all related DOM operations, such as registering events on them + // or checking their positioning + THIS._processParentElementsInDOM(); + + if (!jsc.picker) { + jsc.picker = { + owner: null, + wrap : document.createElement('div'), + box : document.createElement('div'), + boxS : document.createElement('div'), // shadow area + boxB : document.createElement('div'), // border + pad : document.createElement('div'), + padB : document.createElement('div'), // border + padM : document.createElement('div'), // mouse/touch area + padPal : jsc.createPalette(), + cross : document.createElement('div'), + crossBY : document.createElement('div'), // border Y + crossBX : document.createElement('div'), // border X + crossLY : document.createElement('div'), // line Y + crossLX : document.createElement('div'), // line X + sld : document.createElement('div'), + sldB : document.createElement('div'), // border + sldM : document.createElement('div'), // mouse/touch area + sldGrad : jsc.createSliderGradient(), + sldPtrS : document.createElement('div'), // slider pointer spacer + sldPtrIB : document.createElement('div'), // slider pointer inner border + sldPtrMB : document.createElement('div'), // slider pointer middle border + sldPtrOB : document.createElement('div'), // slider pointer outer border + btn : document.createElement('div'), + btnT : document.createElement('span') // text + }; + + jsc.picker.pad.appendChild(jsc.picker.padPal.elm); + jsc.picker.padB.appendChild(jsc.picker.pad); + jsc.picker.cross.appendChild(jsc.picker.crossBY); + jsc.picker.cross.appendChild(jsc.picker.crossBX); + jsc.picker.cross.appendChild(jsc.picker.crossLY); + jsc.picker.cross.appendChild(jsc.picker.crossLX); + jsc.picker.padB.appendChild(jsc.picker.cross); + jsc.picker.box.appendChild(jsc.picker.padB); + jsc.picker.box.appendChild(jsc.picker.padM); + + jsc.picker.sld.appendChild(jsc.picker.sldGrad.elm); + jsc.picker.sldB.appendChild(jsc.picker.sld); + jsc.picker.sldB.appendChild(jsc.picker.sldPtrOB); + jsc.picker.sldPtrOB.appendChild(jsc.picker.sldPtrMB); + jsc.picker.sldPtrMB.appendChild(jsc.picker.sldPtrIB); + jsc.picker.sldPtrIB.appendChild(jsc.picker.sldPtrS); + jsc.picker.box.appendChild(jsc.picker.sldB); + jsc.picker.box.appendChild(jsc.picker.sldM); + + jsc.picker.btn.appendChild(jsc.picker.btnT); + jsc.picker.box.appendChild(jsc.picker.btn); + + jsc.picker.boxB.appendChild(jsc.picker.box); + jsc.picker.wrap.appendChild(jsc.picker.boxS); + jsc.picker.wrap.appendChild(jsc.picker.boxB); + } + + var p = jsc.picker; + + var displaySlider = !!jsc.getSliderComponent(THIS); + var dims = jsc.getPickerDims(THIS); + var crossOuterSize = (2 * THIS.pointerBorderWidth + THIS.pointerThickness + 2 * THIS.crossSize); + var padToSliderPadding = jsc.getPadToSliderPadding(THIS); + var borderRadius = Math.min( + THIS.borderRadius, + Math.round(THIS.padding * Math.PI)); // px + var padCursor = 'crosshair'; + + // wrap + p.wrap.style.clear = 'both'; + p.wrap.style.width = (dims[0] + 2 * THIS.borderWidth) + 'px'; + p.wrap.style.height = (dims[1] + 2 * THIS.borderWidth) + 'px'; + p.wrap.style.zIndex = THIS.zIndex; + + // picker + p.box.style.width = dims[0] + 'px'; + p.box.style.height = dims[1] + 'px'; + + p.boxS.style.position = 'absolute'; + p.boxS.style.left = '0'; + p.boxS.style.top = '0'; + p.boxS.style.width = '100%'; + p.boxS.style.height = '100%'; + jsc.setBorderRadius(p.boxS, borderRadius + 'px'); + + // picker border + p.boxB.style.position = 'relative'; + p.boxB.style.border = THIS.borderWidth + 'px solid'; + p.boxB.style.borderColor = THIS.borderColor; + p.boxB.style.background = THIS.backgroundColor; + jsc.setBorderRadius(p.boxB, borderRadius + 'px'); + + // IE hack: + // If the element is transparent, IE will trigger the event on the elements under it, + // e.g. on Canvas or on elements with border + p.padM.style.background = + p.sldM.style.background = + '#FFF'; + jsc.setStyle(p.padM, 'opacity', '0'); + jsc.setStyle(p.sldM, 'opacity', '0'); + + // pad + p.pad.style.position = 'relative'; + p.pad.style.width = THIS.width + 'px'; + p.pad.style.height = THIS.height + 'px'; + + // pad palettes (HSV and HVS) + p.padPal.draw(THIS.width, THIS.height, jsc.getPadYComponent(THIS)); + + // pad border + p.padB.style.position = 'absolute'; + p.padB.style.left = THIS.padding + 'px'; + p.padB.style.top = THIS.padding + 'px'; + p.padB.style.border = THIS.insetWidth + 'px solid'; + p.padB.style.borderColor = THIS.insetColor; + + // pad mouse area + p.padM._jscInstance = THIS; + p.padM._jscControlName = 'pad'; + p.padM.style.position = 'absolute'; + p.padM.style.left = '0'; + p.padM.style.top = '0'; + p.padM.style.width = (THIS.padding + 2 * THIS.insetWidth + THIS.width + padToSliderPadding / 2) + 'px'; + p.padM.style.height = dims[1] + 'px'; + p.padM.style.cursor = padCursor; + + // pad cross + p.cross.style.position = 'absolute'; + p.cross.style.left = + p.cross.style.top = + '0'; + p.cross.style.width = + p.cross.style.height = + crossOuterSize + 'px'; + + // pad cross border Y and X + p.crossBY.style.position = + p.crossBX.style.position = + 'absolute'; + p.crossBY.style.background = + p.crossBX.style.background = + THIS.pointerBorderColor; + p.crossBY.style.width = + p.crossBX.style.height = + (2 * THIS.pointerBorderWidth + THIS.pointerThickness) + 'px'; + p.crossBY.style.height = + p.crossBX.style.width = + crossOuterSize + 'px'; + p.crossBY.style.left = + p.crossBX.style.top = + (Math.floor(crossOuterSize / 2) - Math.floor(THIS.pointerThickness / 2) - THIS.pointerBorderWidth) + 'px'; + p.crossBY.style.top = + p.crossBX.style.left = + '0'; + + // pad cross line Y and X + p.crossLY.style.position = + p.crossLX.style.position = + 'absolute'; + p.crossLY.style.background = + p.crossLX.style.background = + THIS.pointerColor; + p.crossLY.style.height = + p.crossLX.style.width = + (crossOuterSize - 2 * THIS.pointerBorderWidth) + 'px'; + p.crossLY.style.width = + p.crossLX.style.height = + THIS.pointerThickness + 'px'; + p.crossLY.style.left = + p.crossLX.style.top = + (Math.floor(crossOuterSize / 2) - Math.floor(THIS.pointerThickness / 2)) + 'px'; + p.crossLY.style.top = + p.crossLX.style.left = + THIS.pointerBorderWidth + 'px'; + + // slider + p.sld.style.overflow = 'hidden'; + p.sld.style.width = THIS.sliderSize + 'px'; + p.sld.style.height = THIS.height + 'px'; + + // slider gradient + p.sldGrad.draw(THIS.sliderSize, THIS.height, '#000', '#000'); + + // slider border + p.sldB.style.display = displaySlider ? 'block' : 'none'; + p.sldB.style.position = 'absolute'; + p.sldB.style.right = THIS.padding + 'px'; + p.sldB.style.top = THIS.padding + 'px'; + p.sldB.style.border = THIS.insetWidth + 'px solid'; + p.sldB.style.borderColor = THIS.insetColor; + + // slider mouse area + p.sldM._jscInstance = THIS; + p.sldM._jscControlName = 'sld'; + p.sldM.style.display = displaySlider ? 'block' : 'none'; + p.sldM.style.position = 'absolute'; + p.sldM.style.right = '0'; + p.sldM.style.top = '0'; + p.sldM.style.width = (THIS.sliderSize + padToSliderPadding / 2 + THIS.padding + 2 * THIS.insetWidth) + 'px'; + p.sldM.style.height = dims[1] + 'px'; + p.sldM.style.cursor = 'default'; + + // slider pointer inner and outer border + p.sldPtrIB.style.border = + p.sldPtrOB.style.border = + THIS.pointerBorderWidth + 'px solid ' + THIS.pointerBorderColor; + + // slider pointer outer border + p.sldPtrOB.style.position = 'absolute'; + p.sldPtrOB.style.left = -(2 * THIS.pointerBorderWidth + THIS.pointerThickness) + 'px'; + p.sldPtrOB.style.top = '0'; + + // slider pointer middle border + p.sldPtrMB.style.border = THIS.pointerThickness + 'px solid ' + THIS.pointerColor; + + // slider pointer spacer + p.sldPtrS.style.width = THIS.sliderSize + 'px'; + p.sldPtrS.style.height = sliderPtrSpace + 'px'; + + // the Close button + function setBtnBorder () { + var insetColors = THIS.insetColor.split(/\s+/); + var outsetColor = insetColors.length < 2 ? insetColors[0] : insetColors[1] + ' ' + insetColors[0] + ' ' + insetColors[0] + ' ' + insetColors[1]; + p.btn.style.borderColor = outsetColor; + } + p.btn.style.display = THIS.closable ? 'block' : 'none'; + p.btn.style.position = 'absolute'; + p.btn.style.left = THIS.padding + 'px'; + p.btn.style.bottom = THIS.padding + 'px'; + p.btn.style.padding = '0 15px'; + p.btn.style.height = THIS.buttonHeight + 'px'; + p.btn.style.border = THIS.insetWidth + 'px solid'; + setBtnBorder(); + p.btn.style.color = THIS.buttonColor; + p.btn.style.font = '12px sans-serif'; + p.btn.style.textAlign = 'center'; + try { + p.btn.style.cursor = 'pointer'; + } catch(eOldIE) { + p.btn.style.cursor = 'hand'; + } + p.btn.onmousedown = function () { + THIS.hide(); + }; + p.btnT.style.lineHeight = THIS.buttonHeight + 'px'; + p.btnT.innerHTML = ''; + p.btnT.appendChild(document.createTextNode(THIS.closeText)); + + // place pointers + redrawPad(); + redrawSld(); + + // If we are changing the owner without first closing the picker, + // make sure to first deal with the old owner + if (jsc.picker.owner && jsc.picker.owner !== THIS) { + jsc.unsetClass(jsc.picker.owner.targetElement, THIS.activeClass); + } + + // Set the new picker owner + jsc.picker.owner = THIS; + + // The redrawPosition() method needs picker.owner to be set, that's why we call it here, + // after setting the owner + if (jsc.isElementType(container, 'body')) { + jsc.redrawPosition(); + } else { + jsc._drawPosition(THIS, 0, 0, 'relative', false); + } + + if (p.wrap.parentNode != container) { + container.appendChild(p.wrap); + } + + jsc.setClass(THIS.targetElement, THIS.activeClass); + } + + + function redrawPad () { + // redraw the pad pointer + switch (jsc.getPadYComponent(THIS)) { + case 's': var yComponent = 1; break; + case 'v': var yComponent = 2; break; + } + var x = Math.round((THIS.hsv[0] / 360) * (THIS.width - 1)); + var y = Math.round((1 - THIS.hsv[yComponent] / 100) * (THIS.height - 1)); + var crossOuterSize = (2 * THIS.pointerBorderWidth + THIS.pointerThickness + 2 * THIS.crossSize); + var ofs = -Math.floor(crossOuterSize / 2); + jsc.picker.cross.style.left = (x + ofs) + 'px'; + jsc.picker.cross.style.top = (y + ofs) + 'px'; + + // redraw the slider + switch (jsc.getSliderComponent(THIS)) { + case 's': + var rgb1 = HSV_RGB(THIS.hsv[0], 100, THIS.hsv[2]); + var rgb2 = HSV_RGB(THIS.hsv[0], 0, THIS.hsv[2]); + var color1 = 'rgb(' + + Math.round(rgb1[0]) + ',' + + Math.round(rgb1[1]) + ',' + + Math.round(rgb1[2]) + ')'; + var color2 = 'rgb(' + + Math.round(rgb2[0]) + ',' + + Math.round(rgb2[1]) + ',' + + Math.round(rgb2[2]) + ')'; + jsc.picker.sldGrad.draw(THIS.sliderSize, THIS.height, color1, color2); + break; + case 'v': + var rgb = HSV_RGB(THIS.hsv[0], THIS.hsv[1], 100); + var color1 = 'rgb(' + + Math.round(rgb[0]) + ',' + + Math.round(rgb[1]) + ',' + + Math.round(rgb[2]) + ')'; + var color2 = '#000'; + jsc.picker.sldGrad.draw(THIS.sliderSize, THIS.height, color1, color2); + break; + } + } + + + function redrawSld () { + var sldComponent = jsc.getSliderComponent(THIS); + if (sldComponent) { + // redraw the slider pointer + switch (sldComponent) { + case 's': var yComponent = 1; break; + case 'v': var yComponent = 2; break; + } + var y = Math.round((1 - THIS.hsv[yComponent] / 100) * (THIS.height - 1)); + jsc.picker.sldPtrOB.style.top = (y - (2 * THIS.pointerBorderWidth + THIS.pointerThickness) - Math.floor(sliderPtrSpace / 2)) + 'px'; + } + } + + + function isPickerOwner () { + return jsc.picker && jsc.picker.owner === THIS; + } + + + function blurValue () { + THIS.importColor(); + } + + + // Find the target element + if (typeof targetElement === 'string') { + var id = targetElement; + var elm = document.getElementById(id); + if (elm) { + this.targetElement = elm; + } else { + jsc.warn('Could not find target element with ID \'' + id + '\''); + } + } else if (targetElement) { + this.targetElement = targetElement; + } else { + jsc.warn('Invalid target element: \'' + targetElement + '\''); + } + + if (this.targetElement._jscLinkedInstance) { + jsc.warn('Cannot link jscolor twice to the same element. Skipping.'); + return; + } + this.targetElement._jscLinkedInstance = this; + + // Find the value element + this.valueElement = jsc.fetchElement(this.valueElement); + // Find the style element + this.styleElement = jsc.fetchElement(this.styleElement); + + var THIS = this; + var container = + this.container ? + jsc.fetchElement(this.container) : + document.getElementsByTagName('body')[0]; + var sliderPtrSpace = 3; // px + + // For BUTTON elements it's important to stop them from sending the form when clicked + // (e.g. in Safari) + if (jsc.isElementType(this.targetElement, 'button')) { + if (this.targetElement.onclick) { + var origCallback = this.targetElement.onclick; + this.targetElement.onclick = function (evt) { + origCallback.call(this, evt); + return false; + }; + } else { + this.targetElement.onclick = function () { return false; }; + } + } + + /* + var elm = this.targetElement; + do { + // If the target element or one of its offsetParents has fixed position, + // then use fixed positioning instead + // + // Note: In Firefox, getComputedStyle returns null in a hidden iframe, + // that's why we need to check if the returned style object is non-empty + var currStyle = jsc.getStyle(elm); + if (currStyle && currStyle.position.toLowerCase() === 'fixed') { + this.fixed = true; + } + + if (elm !== this.targetElement) { + // attach onParentScroll so that we can recompute the picker position + // when one of the offsetParents is scrolled + if (!elm._jscEventsAttached) { + jsc.attachEvent(elm, 'scroll', jsc.onParentScroll); + elm._jscEventsAttached = true; + } + } + } while ((elm = elm.offsetParent) && !jsc.isElementType(elm, 'body')); + */ + + // valueElement + if (this.valueElement) { + if (jsc.isElementType(this.valueElement, 'input')) { + var updateField = function () { + THIS.fromString(THIS.valueElement.value, jsc.leaveValue); + jsc.dispatchFineChange(THIS); + }; + jsc.attachEvent(this.valueElement, 'keyup', updateField); + jsc.attachEvent(this.valueElement, 'input', updateField); + jsc.attachEvent(this.valueElement, 'blur', blurValue); + this.valueElement.setAttribute('autocomplete', 'off'); + } + } + + // styleElement + if (this.styleElement) { + this.styleElement._jscOrigStyle = { + backgroundImage : this.styleElement.style.backgroundImage, + backgroundColor : this.styleElement.style.backgroundColor, + color : this.styleElement.style.color + }; + } + + if (this.value) { + // Try to set the color from the .value option and if unsuccessful, + // export the current color + this.fromString(this.value) || this.exportColor(); + } else { + this.importColor(); + } + } + +}; + + +//================================ +// Public properties and methods +//================================ + + +// By default, search for all elements with class="jscolor" and install a color picker on them. +// +// You can change what class name will be looked for by setting the property jscolor.lookupClass +// anywhere in your HTML document. To completely disable the automatic lookup, set it to null. +// +jsc.jscolor.lookupClass = 'jscolor'; + + +jsc.jscolor.installByClassName = function (className) { + var inputElms = document.getElementsByTagName('input'); + var buttonElms = document.getElementsByTagName('button'); + + jsc.tryInstallOnElements(inputElms, className); + jsc.tryInstallOnElements(buttonElms, className); +}; + + +jsc.register(); + + +return jsc.jscolor; + + +})(); } From a647cbfffcbdacd97fae31f86627caae5c6c1de3 Mon Sep 17 00:00:00 2001 From: Rina Toyoshiba Date: Wed, 10 Jul 2019 20:55:44 -1000 Subject: [PATCH 2/2] opacity --- css/PixelPainter.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/css/PixelPainter.css b/css/PixelPainter.css index 108c53ca..ee81acdf 100644 --- a/css/PixelPainter.css +++ b/css/PixelPainter.css @@ -36,7 +36,7 @@ h1 { height: 98%; width: 20%; border-radius: 20px; - background-color: white; + background-color: rgba(255, 255, 255, 0.6); } #myGrid { @@ -49,6 +49,7 @@ h1 { height: 98%; width: 55%; border-radius: 20px; + background-color: rgba(255, 255, 255, 0.6); } .rows {