NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name pxls.space template
// @namespace http://tampermonkey.net/
// @version 0.6
// @description try to take over the world!
// @author LittleEndu
// @match http://*/*
// @grant http://pxls.space/
// ==/UserScript==
/**
* Created by Endrik on 04-Apr-17.
*/
(function () {
'use strict';
function toHtml(str) {
var htmlObject = document.createElement('div');
htmlObject.innerHTML = str;
return htmlObject.firstChild;
}
const params = (location.search || "?").substr(1).split("&").map(x => x.split("=").map(a => unescape(a))).reduce((o, [k, v]) => Object.assign(o, {[k]: v}), {});
var img = document.createElement("img");
img.src = params.template;
img.className = "place-canvas";
Object.assign(img.style, {
transform: `translate(${params.ox}px,${params.oy}px)`,
position: "absolute",
top: 0,
left: 0,
width: params.tw ? `${params.tw}px` : undefined,
pointerEvents: "none",
zIndex: 5,
opacity: 0.5,
});
if (params.oo){
img.style.opacity = params.oo;
}
try {
img.style.imageRendering = "pixelated";
if (!img.style.imageRendering || img.style.imageRendering == "none")
img.style.imageRendering = "-moz-crisp-edges";
if (!img.style.imageRendering || img.style.imageRendering == "none")
img.style.imageRendering = "grisp-edges";
}
catch (e) {
}
const v = document.querySelector(".board-mover");
if (!v) return;
v.appendChild(img);
const cb = document.querySelector("div#ui.ui");
var slider = document.createElement("input");
slider.setAttribute("id", "slider-control");
slider.setAttribute("type", "range");
slider.setAttribute("min", "0");
slider.setAttribute("max", "1");
slider.setAttribute("step", "0.01");
slider.setAttribute("value", img.style.opacity);
Object.assign(slider.style, {
right: "24px",
top: "10px",
position: "absolute",
});
cb.appendChild(slider);
var handleSliderEvent = function (event) {
img.style.opacity = event.target.value;
};
slider.addEventListener("change", handleSliderEvent);
slider.addEventListener("input", handleSliderEvent);
var checkbox = document.createElement("INPUT");
checkbox.setAttribute("type", "checkbox");
Object.assign(checkbox.style, {
right: "24px",
top: "30px",
position: "absolute",
});
cb.appendChild(checkbox);
var multiplier = 1;
var waitTimer = 0;
var changeOpacity = function () {
//console.log(img.style.opacity + ", " + multiplier + ", " + waitTimer);
if (checkbox.checked === true) {
if (+img.style.opacity === 1.0 || +img.style.opacity === 0.0) {
waitTimer = +waitTimer + 1;
if (waitTimer === 20) {
multiplier *= -1;
waitTimer = 0;
}
}
if (waitTimer === 0) {
slider.value = +slider.value + (0.02 * multiplier);
img.style.opacity = slider.value;
}
}
};
var changer = setInterval(function () {
changeOpacity();
}, 15);
console.log("/r/place template added");
})();