Mercurial > hg > webaudioevaluationtool
comparison interfaces/horizontal-sliders.js @ 2381:5b23f2e05207
Fixes for #90. Edge should now be WAET compliant. Hacky temporary solution for #91.
author | Nicholas Jillings <nicholas.jillings@mail.bcu.ac.uk> |
---|---|
date | Fri, 20 May 2016 13:22:07 +0100 |
parents | a3099bdb056c |
children | dc13bd68ea34 |
comparison
equal
deleted
inserted
replaced
2380:ae6a9d3426f8 | 2381:5b23f2e05207 |
---|---|
90 // Global parent for the comment boxes on the page | 90 // Global parent for the comment boxes on the page |
91 var feedbackHolder = document.createElement('div'); | 91 var feedbackHolder = document.createElement('div'); |
92 feedbackHolder.id = 'feedbackHolder'; | 92 feedbackHolder.id = 'feedbackHolder'; |
93 | 93 |
94 testContent.style.zIndex = 1; | 94 testContent.style.zIndex = 1; |
95 interfaceContext.insertPoint.innerHTML = null; // Clear the current schema | 95 interfaceContext.insertPoint.innerHTML = ""; // Clear the current schema |
96 | 96 |
97 // Inject into HTML | 97 // Inject into HTML |
98 testContent.appendChild(title); // Insert the title | 98 testContent.appendChild(title); // Insert the title |
99 testContent.appendChild(pagetitle); | 99 testContent.appendChild(pagetitle); |
100 testContent.appendChild(interfaceButtons); | 100 testContent.appendChild(interfaceButtons); |
111 { | 111 { |
112 // Called each time a new test page is to be build. The page specification node is the only item passed in | 112 // Called each time a new test page is to be build. The page specification node is the only item passed in |
113 var id = page.id; | 113 var id = page.id; |
114 | 114 |
115 var feedbackHolder = document.getElementById('feedbackHolder'); | 115 var feedbackHolder = document.getElementById('feedbackHolder'); |
116 feedbackHolder.innerHTML = null; | 116 feedbackHolder.innerHTML = ""; |
117 | 117 |
118 var interfaceObj = page.interfaces; | 118 var interfaceObj = page.interfaces; |
119 if (interfaceObj.length > 1) | 119 if (interfaceObj.length > 1) |
120 { | 120 { |
121 console.log("WARNING - This interface only supports one <interface> node per page. Using first interface node"); | 121 console.log("WARNING - This interface only supports one <interface> node per page. Using first interface node"); |
169 if (outsideReferenceHolder != null) { | 169 if (outsideReferenceHolder != null) { |
170 document.getElementById('interface-buttons').removeChild(outsideReferenceHolder); | 170 document.getElementById('interface-buttons').removeChild(outsideReferenceHolder); |
171 } | 171 } |
172 | 172 |
173 var sliderBox = document.getElementById('slider-holder'); | 173 var sliderBox = document.getElementById('slider-holder'); |
174 sliderBox.innerHTML = null; | 174 sliderBox.innerHTML = ""; |
175 | 175 |
176 var commentBoxPrefix = "Comment on track"; | 176 var commentBoxPrefix = "Comment on track"; |
177 if (interfaceObj.commentBoxPrefix != undefined) { | 177 if (interfaceObj.commentBoxPrefix != undefined) { |
178 commentBoxPrefix = interfaceObj.commentBoxPrefix; | 178 commentBoxPrefix = interfaceObj.commentBoxPrefix; |
179 } | 179 } |
357 // Called on every window resize event, use this to scale your page properly | 357 // Called on every window resize event, use this to scale your page properly |
358 | 358 |
359 var numObj = document.getElementsByClassName('track-slider').length; | 359 var numObj = document.getElementsByClassName('track-slider').length; |
360 var totalHeight = (numObj * 125)-25; | 360 var totalHeight = (numObj * 125)-25; |
361 document.getElementById('scale-holder').style.width = window.innerWidth-220 + 'px'; | 361 document.getElementById('scale-holder').style.width = window.innerWidth-220 + 'px'; |
362 // Cheers edge for making me delete a canvas every resize. | |
362 var canvas = document.getElementById('scale-canvas'); | 363 var canvas = document.getElementById('scale-canvas'); |
363 canvas.width = window.innerWidth-420; | 364 var new_canvas = document.createElement("canvas"); |
364 canvas.height = totalHeight; | 365 new_canvas.id = 'scale-canvas'; |
366 new_canvas.style.marginLeft = "100px"; | |
367 canvas.parentElement.appendChild(new_canvas); | |
368 canvas.parentElement.removeChild(canvas); | |
369 new_canvas.width = window.innerWidth-420; | |
370 new_canvas.height = totalHeight; | |
365 for (var i in audioEngineContext.audioObjects) | 371 for (var i in audioEngineContext.audioObjects) |
366 { | 372 { |
367 if (audioEngineContext.audioObjects[i].specification.type != 'outside-reference'){ | 373 if (audioEngineContext.audioObjects[i].specification.type != 'outside-reference'){ |
368 audioEngineContext.audioObjects[i].interfaceDOM.resize(event); | 374 audioEngineContext.audioObjects[i].interfaceDOM.resize(event); |
369 } | 375 } |
382 var canvas = document.getElementById('scale-canvas'); | 388 var canvas = document.getElementById('scale-canvas'); |
383 var ctx = canvas.getContext("2d"); | 389 var ctx = canvas.getContext("2d"); |
384 var height = canvas.height; | 390 var height = canvas.height; |
385 var width = canvas.width; | 391 var width = canvas.width; |
386 var textHolder = document.getElementById('scale-text-holder'); | 392 var textHolder = document.getElementById('scale-text-holder'); |
387 textHolder.innerHTML = null; | 393 textHolder.innerHTML = ""; |
388 ctx.fillStyle = "#000000"; | 394 ctx.fillStyle = "#000000"; |
389 ctx.setLineDash([1,4]); | 395 ctx.setLineDash([1,4]); |
390 for (var scale of scales) | 396 for (var scale of scales) |
391 { | 397 { |
392 var posPercent = scale.position / 100.0; | 398 var posPercent = scale.position / 100.0; |