Select Git revision
divtools.js
iddewipe.js 7.42 KiB
// because lots of UI elements are call-and-response,
// I'm going to keep some top level values, and let them = null
// when they are stateless
let svg, wrapper
let menu = {
isLoaded: false,
isLoading: false
}
// this runs once everything has loaded
window.onload = function() {
svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg')
svg.style.position = 'absolute'
svg.style.left = 0
svg.style.top = 0
svg.style.zIndex = 0
svg.style.overflow = 'visible'
svg.setAttribute('width', 2)
svg.setAttribute('height', 2)
svg.setAttribute('id', 'svg')
svg.setAttribute('width', '100%')
svg.setAttribute('height', '100%')
document.body.appendChild(svg)
wrapper = document.createElement('div')
wrapper.id = 'wrapper'
document.body.append(wrapper)
nav = document.getElementById('nav')
}
document.body.style.overflow = 'hidden'
document.body.style.transform = 'scale(1) translate(0px, 0px)'
document.body.style.transformOrigin = '0px 0px'
function elementIsNotModule(element) {
if ((element.tagName == 'HTML') || (element.tagName == 'BODY') || (element.tagName == 'svg')) {
return true
} else {
return false
}
}
/* --------------------------- ---------------------------- */
/* ------------------------- USER EVENTS ------------------------- */
/* --------------------------- ---------------------------- */
/*
// don't appear to need this atm
// I believe it was here for right-clicking ... to ask for items
let lastpos = { x: 0, y: 0 }
onmousemove = function(evt) {
var cT = getCurrentTransform()
lastpos.x = cT.ox - cT.tx + (evt.pageX - cT.ox) / cT.s
lastpos.y = cT.oy - cT.ty + (evt.pageY - cT.oy) / cT.s
}
*/
onwheel = function(evt) {
var el = document.elementFromPoint(evt.pageX, evt.pageY)
if (elementIsNotModule(el)) {
var cT = DT.getCurrentTransform()
evt.preventDefault()
evt.stopPropagation()
if (evt.deltaY > 0) {
var scale = 1.05 * cT.s
} else {
var scale = 0.95 * cT.s