Commit 810245ff239c7f24fd05358838c10e94ece53b73
0 parents
Exists in
master
Pre-beta release
Showing
14 changed files
with
555 additions
and
0 deletions
Show diff stats
| 1 | +++ a/README.md | ||
| @@ -0,0 +1,46 @@ | @@ -0,0 +1,46 @@ | ||
| 1 | +VLibras Web | ||
| 2 | +=========== | ||
| 3 | + | ||
| 4 | +Instalação | ||
| 5 | +------------- | ||
| 6 | + | ||
| 7 | +1. Adicione o seguinte trecho HTML: | ||
| 8 | + | ||
| 9 | +```html | ||
| 10 | +<div class="vlibras-widget"> | ||
| 11 | + <img class="vw-btn-access" src="VLibrasWeb/Images/acessibilidade-ico.png" /> | ||
| 12 | + | ||
| 13 | + <div class="vw-player"> | ||
| 14 | + <div class="vw-topbar"> | ||
| 15 | + <span class="vw-btn-side"><</span> | ||
| 16 | + <span class="vw-btn-close">X</span> | ||
| 17 | + </div> | ||
| 18 | + | ||
| 19 | + <canvas class="vw-canvas emscripten"></canvas> | ||
| 20 | + </div> | ||
| 21 | +</div> | ||
| 22 | +``` | ||
| 23 | + | ||
| 24 | +2. Adicione os arquivos `.css` e `.js` na página: | ||
| 25 | + | ||
| 26 | +```html | ||
| 27 | +<head> | ||
| 28 | + <link rel="stylesheet" href="VLibrasWeb/vlibras-web.css" /> | ||
| 29 | +</head> | ||
| 30 | +<body> | ||
| 31 | + ... | ||
| 32 | + <script src="VLibrasWeb/vlibras-web.js"></script> | ||
| 33 | +</body> | ||
| 34 | +``` | ||
| 35 | + | ||
| 36 | +3. Finalmente, inicialize o VLibrasWeb | ||
| 37 | + | ||
| 38 | +```js | ||
| 39 | +// Default: Se a pasta VLibrasWeb estiver na mesma pasta do arquivo index | ||
| 40 | +VLibrasWeb.init(); | ||
| 41 | + | ||
| 42 | +// Custom: Passe o caminho da pasta VLibrasWeb | ||
| 43 | +VLibrasWeb.init('another/path'); | ||
| 44 | +``` | ||
| 45 | + | ||
| 46 | +** Enjoy ** | ||
| 0 | \ No newline at end of file | 47 | \ No newline at end of file |
11.2 KB
1.55 KB
683 Bytes
241 Bytes
250 Bytes
650 Bytes
385 Bytes
377 Bytes
| 1 | +++ a/VLibrasWeb/vlibras-player.js | ||
| @@ -0,0 +1,93 @@ | @@ -0,0 +1,93 @@ | ||
| 1 | +(function (window, document) { | ||
| 2 | + function VLibrasPlayer() { | ||
| 3 | + this.loaded = false; | ||
| 4 | + this.glosa = undefined; | ||
| 5 | + this.canvas = document.querySelector('#vlibras-canvas'); | ||
| 6 | + this.initialized = false; | ||
| 7 | + } | ||
| 8 | + | ||
| 9 | + VLibrasPlayer.prototype.translate = function (text) { | ||
| 10 | + var self = this; | ||
| 11 | + text = encodeURI(text); | ||
| 12 | + | ||
| 13 | + getGlosa('http://150.165.204.30/glosa?texto=' + text, | ||
| 14 | + function (status, response) { | ||
| 15 | + self.glosa = response || decodeURI(text).toUpperCase(); | ||
| 16 | + self.play(); | ||
| 17 | + }); | ||
| 18 | + }; | ||
| 19 | + | ||
| 20 | + VLibrasPlayer.prototype.play = function () { | ||
| 21 | + if (this.glosa !== undefined && this.loaded === true) { | ||
| 22 | + window.SendMessage('PlayerManager', 'catchGlosa', this.glosa); | ||
| 23 | + } | ||
| 24 | + }; | ||
| 25 | + | ||
| 26 | + VLibrasPlayer.prototype.setSpeed = function (speed) { | ||
| 27 | + window.SendMessage('PlayerManager', 'setSlider', speed); | ||
| 28 | + }; | ||
| 29 | + | ||
| 30 | + VLibrasPlayer.prototype.switchSubtitle = function () { | ||
| 31 | + window.SendMessage('PlayerManager', 'switchSubtitleStatus'); | ||
| 32 | + }; | ||
| 33 | + | ||
| 34 | + VLibrasPlayer.prototype.addProgressListener = function (callback) { | ||
| 35 | + this.onprogress = callback; | ||
| 36 | + }; | ||
| 37 | + | ||
| 38 | + VLibrasPlayer.prototype.load = function () { | ||
| 39 | + this.loaded = true; | ||
| 40 | + this.play(); | ||
| 41 | + }; | ||
| 42 | + | ||
| 43 | + VLibrasPlayer.prototype.getCanvasElement = function () { | ||
| 44 | + return this.canvas; | ||
| 45 | + }; | ||
| 46 | + | ||
| 47 | + VLibrasPlayer.prototype.getPath = function () { | ||
| 48 | + return this.path; | ||
| 49 | + }; | ||
| 50 | + | ||
| 51 | + VLibrasPlayer.prototype.initialize = function (path, canvas, callback) { | ||
| 52 | + var noop = function () {}; | ||
| 53 | + | ||
| 54 | + if (this.initialized) { | ||
| 55 | + (callback || noop)(); | ||
| 56 | + return; | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + this.canvas = canvas; | ||
| 60 | + this.path = path; | ||
| 61 | + | ||
| 62 | + var script = document.createElement('script'); | ||
| 63 | + script.src = path + '/Player/Release/Setup.js'; | ||
| 64 | + document.body.appendChild(script); | ||
| 65 | + | ||
| 66 | + script.onload = (callback || noop); | ||
| 67 | + | ||
| 68 | + this.initialized = true; | ||
| 69 | + }; | ||
| 70 | + | ||
| 71 | + window.onLoadPlayer = function () { | ||
| 72 | + this.VLibrasPlayer.load(); | ||
| 73 | + }; | ||
| 74 | + | ||
| 75 | + window.updateProgress = function (progress) { | ||
| 76 | + var noop = function () {}; | ||
| 77 | + (this.VLibrasPlayer.onprogress || noop)(progress); | ||
| 78 | + }; | ||
| 79 | + | ||
| 80 | + window.VLibrasPlayer = new VLibrasPlayer(); | ||
| 81 | + | ||
| 82 | + function getGlosa(url, callback) { | ||
| 83 | + var xhr = new XMLHttpRequest(); | ||
| 84 | + xhr.open('GET', url, true); | ||
| 85 | + | ||
| 86 | + xhr.onreadystatechange = function() { | ||
| 87 | + if (xhr.readyState != 4) return; | ||
| 88 | + callback(xhr.status, xhr.responseText); | ||
| 89 | + }; | ||
| 90 | + | ||
| 91 | + xhr.send(); | ||
| 92 | + }; | ||
| 93 | +})(window, document); | ||
| 0 | \ No newline at end of file | 94 | \ No newline at end of file |
| 1 | +++ a/VLibrasWeb/vlibras-web.css | ||
| @@ -0,0 +1,207 @@ | @@ -0,0 +1,207 @@ | ||
| 1 | +.vlibras-widget { | ||
| 2 | + position: fixed; | ||
| 3 | + right: 0; | ||
| 4 | + top: 50%; | ||
| 5 | + margin-top: -225px; | ||
| 6 | + z-index: 9999; | ||
| 7 | + display: none; | ||
| 8 | +} | ||
| 9 | + | ||
| 10 | +.vlibras-widget.active { | ||
| 11 | + display: block; | ||
| 12 | +} | ||
| 13 | + | ||
| 14 | +.vlibras-widget.maximize { | ||
| 15 | + bottom: 40px; | ||
| 16 | + margin-top 0; | ||
| 17 | + top: initial; | ||
| 18 | + right: 50%; | ||
| 19 | + margin-right: -275px; | ||
| 20 | +} | ||
| 21 | + | ||
| 22 | +.vlibras-widget.maximize .vw-player { | ||
| 23 | + height: 550px; | ||
| 24 | + width: 550px !important; | ||
| 25 | +} | ||
| 26 | + | ||
| 27 | +.vlibras-widget.maximize .vw-canvas-wrapper { | ||
| 28 | + height: 468px; | ||
| 29 | +} | ||
| 30 | + | ||
| 31 | +.vlibras-widget.left { | ||
| 32 | + left: 0; | ||
| 33 | + right: initial; | ||
| 34 | +} | ||
| 35 | + | ||
| 36 | +.vlibras-widget.left .vw-player { | ||
| 37 | + float: left; | ||
| 38 | +} | ||
| 39 | + | ||
| 40 | +.vlibras-widget .vw-btn-access { | ||
| 41 | + width: 70px; | ||
| 42 | + padding: 5px; | ||
| 43 | + text-align: center; | ||
| 44 | + | ||
| 45 | + -webkit-box-shadow: 0px 0px 9px 0px rgba(0,0,0,0.75); | ||
| 46 | + -moz-box-shadow: 0px 0px 9px 0px rgba(0,0,0,0.75); | ||
| 47 | + box-shadow: 0px 0px 9px 0px rgba(0,0,0,0.75); | ||
| 48 | +} | ||
| 49 | + | ||
| 50 | +.vw-btn-access img { | ||
| 51 | + margin-bottom: 5px; | ||
| 52 | + width: 70px; | ||
| 53 | + height: 70px; | ||
| 54 | +} | ||
| 55 | + | ||
| 56 | +.vw-btn-access span { | ||
| 57 | + font-size: 15px; | ||
| 58 | + color: #004088; | ||
| 59 | +} | ||
| 60 | + | ||
| 61 | +.vlibras-widget .vw-btn-access.inactive { | ||
| 62 | + display: none; | ||
| 63 | +} | ||
| 64 | + | ||
| 65 | +.vlibras-widget .vw-player { | ||
| 66 | + display: none; | ||
| 67 | + width: 0; | ||
| 68 | + height: 450px; | ||
| 69 | + float: right; | ||
| 70 | + | ||
| 71 | + -webkit-box-shadow: 0px 0px 9px 0px rgba(0,0,0,0.75); | ||
| 72 | + -moz-box-shadow: 0px 0px 9px 0px rgba(0,0,0,0.75); | ||
| 73 | + box-shadow: 0px 0px 9px 0px rgba(0,0,0,0.75); | ||
| 74 | +} | ||
| 75 | + | ||
| 76 | +.vlibras-widget .vw-player.active { | ||
| 77 | + width: 320px; | ||
| 78 | + display: block; | ||
| 79 | +} | ||
| 80 | + | ||
| 81 | +.vw-player .vw-canvas-wrapper { | ||
| 82 | + position: relative; | ||
| 83 | + width: 100%; | ||
| 84 | + height: 370px; | ||
| 85 | + background-color: #ebebeb; | ||
| 86 | +} | ||
| 87 | + | ||
| 88 | +.vw-canvas-wrapper .vw-subtitle { | ||
| 89 | + position: absolute; | ||
| 90 | + top: 15px; | ||
| 91 | + right: 15px; | ||
| 92 | +} | ||
| 93 | + | ||
| 94 | +.vw-subtitle .vw-subtitle-off, .vw-subtitle.active .vw-subtitle-on { | ||
| 95 | + display: block; | ||
| 96 | +} | ||
| 97 | + | ||
| 98 | +.vw-subtitle .vw-subtitle-on, .vw-subtitle.active .vw-subtitle-off { | ||
| 99 | + display: none; | ||
| 100 | +} | ||
| 101 | + | ||
| 102 | +.vw-canvas-wrapper .vw-canvas { | ||
| 103 | + width: 100%; | ||
| 104 | + height: 100%; | ||
| 105 | +} | ||
| 106 | + | ||
| 107 | +.vw-player .vw-topbar { | ||
| 108 | + padding: 8.5px 10px; | ||
| 109 | + height: 20px; | ||
| 110 | + background-color: #004088; | ||
| 111 | + color: #fff; | ||
| 112 | +} | ||
| 113 | + | ||
| 114 | +.vw-player .vw-btn-close { | ||
| 115 | + float: right; | ||
| 116 | + height: 100%; | ||
| 117 | +} | ||
| 118 | + | ||
| 119 | +.vw-player .vw-btn-side { | ||
| 120 | + float: left; | ||
| 121 | + border: 1px solid #fff; | ||
| 122 | + background-color: #fff; | ||
| 123 | + width: 2em; | ||
| 124 | + margin: 0; | ||
| 125 | +} | ||
| 126 | + | ||
| 127 | +.vw-btn-side .vw-arrow { | ||
| 128 | + background-color: #004088; | ||
| 129 | + float: right; | ||
| 130 | + width: 50%; | ||
| 131 | + text-align: center; | ||
| 132 | +} | ||
| 133 | + | ||
| 134 | +.vw-btn-side .vw-arrow:after { | ||
| 135 | + content: "<"; | ||
| 136 | +} | ||
| 137 | + | ||
| 138 | +.vlibras-widget.left .vw-arrow { | ||
| 139 | + float: left; | ||
| 140 | +} | ||
| 141 | + | ||
| 142 | +.vlibras-widget.left .vw-arrow:after { | ||
| 143 | + content: ">"; | ||
| 144 | +} | ||
| 145 | + | ||
| 146 | +.vlibras-widget .vw-controls { | ||
| 147 | + width: 100%; | ||
| 148 | + padding: 8.5px 10px; | ||
| 149 | + background-color: #fff; | ||
| 150 | + | ||
| 151 | + -webkit-box-sizing: border-box; | ||
| 152 | + -moz-box-sizing: border-box; | ||
| 153 | + box-sizing: border-box; | ||
| 154 | + | ||
| 155 | + display: -webkit-flex; | ||
| 156 | + display: flex; | ||
| 157 | + align-items: center; | ||
| 158 | +} | ||
| 159 | + | ||
| 160 | +.vw-controls .vw-play { | ||
| 161 | + height: 28px; | ||
| 162 | +} | ||
| 163 | + | ||
| 164 | +.vw-play img { | ||
| 165 | + height: 100%; | ||
| 166 | +} | ||
| 167 | + | ||
| 168 | +.vw-controls .vw-progressbar { | ||
| 169 | + margin: 0 13px; | ||
| 170 | + width: 100%; | ||
| 171 | + height: 3px; | ||
| 172 | + background-color: #000; | ||
| 173 | +} | ||
| 174 | + | ||
| 175 | +.vw-progressbar .vw-progress { | ||
| 176 | + background-color: #ff2323; | ||
| 177 | + width: 0; | ||
| 178 | + height: 100%; | ||
| 179 | +} | ||
| 180 | + | ||
| 181 | +.vw-controls .vw-speed { | ||
| 182 | + padding: 3px; | ||
| 183 | + margin-right: 10px; | ||
| 184 | + font-size: 19px; | ||
| 185 | + font-weight: bold; | ||
| 186 | + cursor: pointer; | ||
| 187 | +} | ||
| 188 | + | ||
| 189 | +.vw-controls .vw-speed:before { | ||
| 190 | + content: "x"; | ||
| 191 | +} | ||
| 192 | + | ||
| 193 | +.vw-controls .vw-window { | ||
| 194 | + height: 28px; | ||
| 195 | +} | ||
| 196 | + | ||
| 197 | +.vw-window .vw-maximize, .vw-window.active .vw-minimize { | ||
| 198 | + display: block; | ||
| 199 | +} | ||
| 200 | + | ||
| 201 | +.vw-window .vw-minimize, .vw-window.active .vw-maximize { | ||
| 202 | + display: none; | ||
| 203 | +} | ||
| 204 | + | ||
| 205 | +.wc-text:hover, .wc-text.active { | ||
| 206 | + background-color: rgba(255, 102, 0, 0.5); | ||
| 207 | +} | ||
| 0 | \ No newline at end of file | 208 | \ No newline at end of file |
| 1 | +++ a/VLibrasWeb/vlibras-web.js | ||
| @@ -0,0 +1,153 @@ | @@ -0,0 +1,153 @@ | ||
| 1 | +(function (window, document) { | ||
| 2 | + VLibrasWeb = { | ||
| 3 | + path: 'VLibrasWeb' | ||
| 4 | + }; | ||
| 5 | + | ||
| 6 | + VLibrasWeb.init = function (path) { | ||
| 7 | + if (path) this.path = path + '/VLibrasWeb'; | ||
| 8 | + | ||
| 9 | + var player = document.createElement('script'); | ||
| 10 | + player.src = this.path + '/vlibras-player.js'; | ||
| 11 | + | ||
| 12 | + player.onload = function () { | ||
| 13 | + document.querySelector('.vlibras-widget').classList.add('active'); | ||
| 14 | + VLibrasWeb.run(window.VLibrasPlayer); | ||
| 15 | + } | ||
| 16 | + | ||
| 17 | + document.body.appendChild(player); | ||
| 18 | + }; | ||
| 19 | + | ||
| 20 | + VLibrasWeb.loadPlayer = function (canvas, callback) { | ||
| 21 | + window.VLibrasPlayer.initialize(VLibrasWeb.path, canvas, callback); | ||
| 22 | + }; | ||
| 23 | + | ||
| 24 | + VLibrasWeb.run = function (VLibrasPlayer) { | ||
| 25 | + var vw = document.querySelector('.vlibras-widget'); | ||
| 26 | + var vwAccess = vw.querySelector('.vw-btn-access'); | ||
| 27 | + var vwPlayer = vw.querySelector('.vw-player'); | ||
| 28 | + | ||
| 29 | + var vwClose = vwPlayer.querySelector('.vw-btn-close'); | ||
| 30 | + var vwSide = vwPlayer.querySelector('.vw-btn-side'); | ||
| 31 | + var vwControls = vwPlayer.querySelector('.vw-controls'); | ||
| 32 | + var vwCanvas = vwPlayer.querySelector('.vw-canvas'); | ||
| 33 | + var vwSubtitle = vwPlayer.querySelector('.vw-subtitle'); | ||
| 34 | + | ||
| 35 | + var vwProgress = vwControls.querySelector('.vw-progress'); | ||
| 36 | + var vwSpeed = vwControls.querySelector('.vw-speed'); | ||
| 37 | + var vwWindow = vwControls.querySelector('.vw-window'); | ||
| 38 | + var vwPlay = vwControls.querySelector('.vw-play'); | ||
| 39 | + | ||
| 40 | + VLibrasPlayer.addProgressListener(function (progress) { | ||
| 41 | + if (progress >= 1) { | ||
| 42 | + document.querySelector('.wc-text.active').classList.remove('active'); | ||
| 43 | + progress = 0; | ||
| 44 | + } | ||
| 45 | + | ||
| 46 | + vwProgress.style.width = (progress * 100) + '%'; | ||
| 47 | + }); | ||
| 48 | + | ||
| 49 | + vwPlay.addEventListener('click', function (e) { | ||
| 50 | + e.preventDefault(); | ||
| 51 | + | ||
| 52 | + VLibrasPlayer.play(); | ||
| 53 | + }); | ||
| 54 | + | ||
| 55 | + vwSubtitle.addEventListener('click', function (e) { | ||
| 56 | + e.preventDefault(); | ||
| 57 | + | ||
| 58 | + vwSubtitle.classList.toggle('active'); | ||
| 59 | + VLibrasPlayer.switchSubtitle(); | ||
| 60 | + }) | ||
| 61 | + | ||
| 62 | + vwWindow.addEventListener('click', function (e) { | ||
| 63 | + e.preventDefault(); | ||
| 64 | + | ||
| 65 | + vw.classList.toggle('maximize'); | ||
| 66 | + vwWindow.classList.toggle('active'); | ||
| 67 | + }); | ||
| 68 | + | ||
| 69 | + vwSpeed.addEventListener('click', function (e) { | ||
| 70 | + e.preventDefault(); | ||
| 71 | + | ||
| 72 | + var actualSpeed = vwSpeed.innerText; | ||
| 73 | + var newSpeed = (actualSpeed % 4) + 1; | ||
| 74 | + | ||
| 75 | + VLibrasPlayer.setSpeed(newSpeed * 0.5); | ||
| 76 | + this.innerText = newSpeed; | ||
| 77 | + }); | ||
| 78 | + | ||
| 79 | + vwAccess.addEventListener('click', function () { | ||
| 80 | + vwPlayer.classList.add('active'); | ||
| 81 | + vwAccess.classList.add('inactive'); | ||
| 82 | + | ||
| 83 | + VLibrasWeb.loadPlayer(vwCanvas, function () { | ||
| 84 | + getAllNodeTexts(document.body, function (node) { | ||
| 85 | + if (vw.contains(node)) return; | ||
| 86 | + | ||
| 87 | + var span = document.createElement('span'); | ||
| 88 | + span.classList.add('wc-text'); | ||
| 89 | + var parent = node.parentNode; | ||
| 90 | + | ||
| 91 | + parent.insertBefore(span, node); | ||
| 92 | + parent.removeChild(node); | ||
| 93 | + span.appendChild(node); | ||
| 94 | + | ||
| 95 | + span.addEventListener('click', function (e) { | ||
| 96 | + e.preventDefault(); | ||
| 97 | + window.VLibrasPlayer.translate(this.textContent); | ||
| 98 | + | ||
| 99 | + var actives = document.querySelector('.wc-text.active'); | ||
| 100 | + if (actives) { | ||
| 101 | + actives.classList.remove('active'); | ||
| 102 | + } | ||
| 103 | + | ||
| 104 | + this.classList.add('active'); | ||
| 105 | + }); | ||
| 106 | + }); | ||
| 107 | + }); | ||
| 108 | + }); | ||
| 109 | + | ||
| 110 | + vwClose.addEventListener('click', function () { | ||
| 111 | + vwPlayer.classList.remove('active'); | ||
| 112 | + vwAccess.classList.remove('inactive'); | ||
| 113 | + vw.classList.remove('left'); | ||
| 114 | + | ||
| 115 | + minimize(); | ||
| 116 | + | ||
| 117 | + getAllNodeTexts(document.body, function (node) { | ||
| 118 | + if (vw.contains(node)) return; | ||
| 119 | + | ||
| 120 | + var span = node.parentNode; | ||
| 121 | + var parent = span.parentNode; | ||
| 122 | + | ||
| 123 | + span.removeChild(node); | ||
| 124 | + parent.insertBefore(node, span); | ||
| 125 | + parent.removeChild(span); | ||
| 126 | + }); | ||
| 127 | + }); | ||
| 128 | + | ||
| 129 | + vwSide.addEventListener('click', function () { | ||
| 130 | + vw.classList.toggle('left'); | ||
| 131 | + | ||
| 132 | + minimize(); | ||
| 133 | + }); | ||
| 134 | + | ||
| 135 | + function getAllNodeTexts(root, callback) { | ||
| 136 | + var noop = function () {}; | ||
| 137 | + var walk = document.createTreeWalker(root, NodeFilter.SHOW_TEXT, null, null); | ||
| 138 | + | ||
| 139 | + while (walk.nextNode()) { | ||
| 140 | + var node = walk.currentNode; | ||
| 141 | + | ||
| 142 | + if (node.textContent.trim().length > 0) { | ||
| 143 | + (callback || noop)(node); | ||
| 144 | + } | ||
| 145 | + } | ||
| 146 | + } | ||
| 147 | + | ||
| 148 | + function minimize() { | ||
| 149 | + vw.classList.remove('maximize'); | ||
| 150 | + vwWindow.classList.remove('active'); | ||
| 151 | + } | ||
| 152 | + }; | ||
| 153 | +})(window, document); |
| 1 | +++ a/index.html | ||
| @@ -0,0 +1,54 @@ | @@ -0,0 +1,54 @@ | ||
| 1 | +<html> | ||
| 2 | + <head> | ||
| 3 | + <link rel="stylesheet" href="VLibrasWeb/vlibras-web.css"> | ||
| 4 | + </head> | ||
| 5 | + <body> | ||
| 6 | + <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Explicabo odio ratione, numquam. Quisquam ex, nemo ea necessitatibus laudantium, rem natus officiis dignissimos a repudiandae, quam doloribus voluptatibus commodi sed aperiam.</p> | ||
| 7 | + <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolorum tempore error molestiae totam provident <a href="">incidunt</a> voluptates iste corrupti sed rerum alias id commodi, suscipit nobis eveniet, possimus consectetur a sapiente?</p> | ||
| 8 | + | ||
| 9 | + <div class="vlibras-widget"> | ||
| 10 | + <div class="vw-btn-access"> | ||
| 11 | + <img src="VLibrasWeb/Images/acessibilidade-ico.jpeg" /> | ||
| 12 | + <span class="vw-text-access"> | ||
| 13 | + Acessível em Libras | ||
| 14 | + </span> | ||
| 15 | + </div> | ||
| 16 | + <div class="vw-player"> | ||
| 17 | + <div class="vw-topbar"> | ||
| 18 | + <div class="vw-btn-side"> | ||
| 19 | + <span class="vw-arrow"></span> | ||
| 20 | + </div> | ||
| 21 | + | ||
| 22 | + <img class="vw-btn-close" src="VLibrasWeb/Images/close.png" /> | ||
| 23 | + </div> | ||
| 24 | + | ||
| 25 | + <div class="vw-canvas-wrapper"> | ||
| 26 | + <div class="vw-subtitle active"> | ||
| 27 | + <img class="vw-subtitle-on" src="VLibrasWeb/Images/subtitle.png" /> | ||
| 28 | + <img class="vw-subtitle-off" src="VLibrasWeb/Images/subtitle-inactive.png" /> | ||
| 29 | + </div> | ||
| 30 | + <canvas class="vw-canvas emscripten"></canvas> | ||
| 31 | + </div> | ||
| 32 | + | ||
| 33 | + <div class="vw-controls"> | ||
| 34 | + <div class="vw-play"> | ||
| 35 | + <img src="VLibrasWeb/Images/play.png" /> | ||
| 36 | + </div> | ||
| 37 | + <div class="vw-progressbar"> | ||
| 38 | + <div class="vw-progress"></div> | ||
| 39 | + </div> | ||
| 40 | + <span class="vw-speed">2</span> | ||
| 41 | + <span class="vw-window"> | ||
| 42 | + <img class="vw-maximize" src="VLibrasWeb/Images/fullscreen.png" /> | ||
| 43 | + <img class="vw-minimize" src="VLibrasWeb/Images/minimize.png" /> | ||
| 44 | + </span> | ||
| 45 | + </div> | ||
| 46 | + </div> | ||
| 47 | + </div> | ||
| 48 | + | ||
| 49 | + <script src="VLibrasWeb/vlibras-web.js"></script> | ||
| 50 | + <script> | ||
| 51 | + VLibrasWeb.init(); | ||
| 52 | + </script> | ||
| 53 | + </body> | ||
| 54 | +</html> | ||
| 0 | \ No newline at end of file | 55 | \ No newline at end of file |