diff options
Diffstat (limited to 'www/js/api.js')
-rw-r--r-- | www/js/api.js | 71 |
1 files changed, 50 insertions, 21 deletions
diff --git a/www/js/api.js b/www/js/api.js index 14b6a97..768face 100644 --- a/www/js/api.js +++ b/www/js/api.js @@ -98,8 +98,11 @@ window.html5ks.api = new (function () { src = "dump/video/" + vid_src + "."; this.stop("all"); - this.speed("auto", false); - this.speed("skip", false); + clearInterval(html5ks._nextTimeout); + + if (html5ks.state.skip) { + return deferred.resolve(); + } var types = { "webm": "webm", @@ -187,9 +190,11 @@ window.html5ks.api = new (function () { window: function (action, transition) { var windw = html5ks.elements.window; switch (action) { + case true: case "show": windw.style.display = "block"; break; + case false: case "hide": windw.style.display = "none"; break; @@ -437,21 +442,32 @@ window.html5ks.api = new (function () { ptxt(true); } else { ctc.style.display = "none"; - if (html5ks.state.auto) { - setTimeout(html5ks.next, 3.5 * html5ks.persistent.autoModeDelay); - } deferred.resolve(); } html5ks._next = _next; + html5ks.api._setNextTimeout(str, true); }; - if (html5ks.state.skip || str.indexOf("{nw}") > -1) { - html5ks._next(); - setTimeout(html5ks._next, 50); + if (html5ks.persistent.textSpeed === "200") { + ptxt(true); } + + this._setNextTimeout(str, false); + return deferred.promise; }, + _setNextTimeout: function (str, done) { + if (done) { + if (html5ks.state.auto) { + setTimeout(html5ks.next, 3.5 * html5ks.persistent.autoModeDelay); + } + } else if (html5ks.state.skip || str.indexOf("{nw}") > -1) { + html5ks._next(); + html5ks._nextTimeout = setTimeout(html5ks._next, 50); + } + }, + extend: function (str) { return this.say(this._lastchar, str, true); }, @@ -467,17 +483,21 @@ window.html5ks.api = new (function () { nvl: function (action, transition) { var nvl = html5ks.elements.nvl; switch (action) { - case "show": - nvl.style.display = "block"; - break; - case "hide": - nvl.style.display = "none"; - break; - case "clear": - html5ks.elements.nvlsay.innerHTML = ""; - break; - default: - console.error("no such nvl action " + action); + case "status": + return nvl.style.display === "block"; + case true: + case "show": + nvl.style.display = "block"; + break; + case false: + case "hide": + nvl.style.display = "none"; + break; + case "clear": + html5ks.elements.nvlsay.innerHTML = ""; + break; + default: + console.error("no such nvl action " + action); } return when.defer().resolve(); }, @@ -490,6 +510,8 @@ window.html5ks.api = new (function () { centered.innerHTML = ""; deferred.resolve(); }; + this._setNextTimeout(text, false); + this._setNextTimeout(text, true); return deferred.promise; }, @@ -518,7 +540,14 @@ window.html5ks.api = new (function () { }, speed: function (type, status) { - html5ks.state[type] = status; - document.getElementById(type).style.display = status ? "block" : "none"; + switch (type) { + case "all": + this.speed("skip", status); + this.speed("auto", status); + break; + default: + html5ks.state[type] = status; + document.getElementById(type).style.display = status ? "block" : "none"; + } } };})(); |