mirror of https://github.com/axmolengine/axmol.git
182 lines
8.2 KiB
HTML
182 lines
8.2 KiB
HTML
<!doctype html>
|
||
<html lang="en-us">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||
<title>JS_APPLICATION generated by emscripten</title>
|
||
<style>
|
||
body {margin:0px; padding:0px;}
|
||
.emscripten { padding-right: 0; margin-left: auto; margin-right: auto; display: block; }
|
||
textarea.emscripten { font-family: monospace; width: 80%; }
|
||
div.emscripten { text-align: center; }
|
||
/* the canvas *must not* have any border or padding, or mouse coords will be wrong */
|
||
canvas.emscripten { border: 0px none; }
|
||
#home { position:absolute; width:100%; height:100%; background:#FFF; color: rgb(103, 116, 120); font-family: Tahoma,Arial,sans-serif;}
|
||
#home a{color: rgb(103, 116, 120);}
|
||
#home h1{ text-align:center; padding: 10px; border-radius: 5px 5px 5px 5px; border: 1px solid; background: none repeat scroll 0% 0% rgb(246, 253, 255); border-color: rgb(218, 239, 245); width:250px; margin:10px auto}
|
||
#home div{padding: 10px; border-radius: 5px 5px 5px 5px; border: 1px solid; background: none repeat scroll 0% 0% rgb(246, 253, 255); border-color: rgb(218, 239, 245); width:250px; margin:10px auto}
|
||
#home .error{display: none;}
|
||
#info, #options{padding: 10px; border-radius: 5px 5px 5px 5px; border: 1px solid; background: none repeat scroll 0% 0% rgb(246, 253, 255); border-color: rgb(218, 239, 245); width:600px; margin:10px auto}
|
||
#home img{ display: block; margin: 30px auto; }
|
||
#home h2{ font-size:24px; text-shadow: rgb(255, 255, 255) 0px 1px 0px; margin:0px;}
|
||
#home h3{ font-size:12px; text-shadow: rgb(255, 255, 255) 0px 1px 0px; margin:0px;}
|
||
#home a{ background:rgb(224, 248, 255); border:rgb(195, 242, 255) 1px solid; color:rgb(76, 116, 127); font-size:18px; margin:10px auto 0px auto; border-radius: 5px 5px 5px 5px; padding:3px; text-align:center; text-decoration:none;}
|
||
#home div.error{ border:rgb(255, 226, 195); background:rgb(255, 240, 224); }
|
||
#home .launchButton{ display:none; }
|
||
#home .launchButtonDisabled{ display:block; background:#DDD; border-color:#666; color:#666; }
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div id="home">
|
||
<img src="cocos2dx.png" alt="Cocos2d-x" />
|
||
<h1>JS_APPLICATION</h1>
|
||
<div class="emscripten">
|
||
<progress value="0" max="100" id="progress" hidden=1></progress><br />
|
||
<span id="status">Downloading...</span>
|
||
</div>
|
||
<div id="webglerror" class="error">
|
||
<h2>WebGL Error</h2>
|
||
<h3>WebGL is not supported by your browser.</h3>
|
||
</div>
|
||
<div id="highres" class="res">
|
||
<h2>IPad HD quality</h2>
|
||
<h3>2048×1536px</h3>
|
||
<a class="launchButtonDisabled">Not ready yet</a>
|
||
<a class="launchButton" href="#" onclick="runApplication(2048, 1536);">GO!</a>
|
||
</div>
|
||
<div id="medres" class="res">
|
||
<h2>IPad quality</h2>
|
||
<h3>1024×768px</h3>
|
||
<a class="launchButtonDisabled">Not ready yet</a>
|
||
<a class="launchButton" href="#" onclick="runApplication(1024, 768);">GO!</a>
|
||
</div>
|
||
<div id="lowres" class="res">
|
||
<h2>IPhone quality</h2>
|
||
<h3>480×320px</h3>
|
||
<a class="launchButtonDisabled">Not ready yet</a>
|
||
<a class="launchButton" href="#" onclick="runApplication(480, 320);">GO!</a>
|
||
</div>
|
||
<div id="resizeblock" class="res">
|
||
<input type="checkbox" id="resize" checked="checked" />
|
||
<label for="resize">Auto-resize</label>
|
||
</div>
|
||
</div>
|
||
<div class="emscripten_border">
|
||
<canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault()"></canvas>
|
||
</div>
|
||
<div class="emscripten" id="options">
|
||
<input type="checkbox" id="resize">Resize canvas
|
||
<input type="checkbox" id="pointerLock" checked>Lock/hide mouse pointer
|
||
|
||
<input type="button" value="Fullscreen" onclick="Module.requestFullScreen(document.getElementById('pointerLock').checked,
|
||
document.getElementById('resize').checked)">
|
||
</div>
|
||
|
||
<textarea class="emscripten" id="output" rows="8"></textarea>
|
||
<script type='text/javascript'>
|
||
// connect to canvas
|
||
var resWidth = 0;
|
||
var resHeight = 0;
|
||
var ratio = 1;
|
||
|
||
var Module = {
|
||
preRun: [],
|
||
postRun: [],
|
||
print: (function() {
|
||
var element = document.getElementById('output');
|
||
element.value = ''; // clear browser cache
|
||
return function(text) {
|
||
text = Array.prototype.slice.call(arguments).join(' ');
|
||
element.value += text + "\n";
|
||
element.scrollTop = 99999; // focus on bottom
|
||
};
|
||
})(),
|
||
printErr: function(text) {
|
||
text = Array.prototype.slice.call(arguments).join(' ');
|
||
if (0) { // XXX disabled for safety typeof dump == 'function') {
|
||
dump(text + '\n'); // fast, straight to the real console
|
||
} else {
|
||
console.log(text);
|
||
}
|
||
},
|
||
canvas: document.getElementById('canvas'),
|
||
setStatus: function(text) {
|
||
if (Module.setStatus.interval) clearInterval(Module.setStatus.interval);
|
||
var m = text.match(/([^(]+)\((\d+(\.\d+)?)\/(\d+)\)/);
|
||
var statusElement = document.getElementById('status');
|
||
var progressElement = document.getElementById('progress');
|
||
if (m) {
|
||
text = m[1];
|
||
progressElement.value = parseInt(m[2])*100;
|
||
progressElement.max = parseInt(m[4])*100;
|
||
progressElement.hidden = false;
|
||
} else {
|
||
progressElement.value = progressElement.max;
|
||
//progressElement.value = null;
|
||
//progressElement.max = null;
|
||
//progressElement.hidden = true;
|
||
//statusElement.hidden = true;
|
||
}
|
||
statusElement.innerHTML = text;
|
||
},
|
||
totalDependencies: 0,
|
||
monitorRunDependencies: function(left) {
|
||
this.totalDependencies = Math.max(this.totalDependencies, left);
|
||
if(left)
|
||
Module.setStatus('Preparing... (' + (this.totalDependencies-left) + '/' + this.totalDependencies + ')');
|
||
else if(this.totalDependencies > 1) {
|
||
Module.setStatus('All downloads completed');
|
||
onResourcesLoaded();
|
||
}
|
||
}
|
||
};
|
||
|
||
function loadScript(filename){
|
||
Module.setStatus('Downloading... ' + filename);
|
||
var fileref=document.createElement('script')
|
||
fileref.setAttribute("type","text/javascript")
|
||
fileref.setAttribute("src", filename);
|
||
if (typeof fileref != "undefined")
|
||
document.getElementsByTagName("head")[0].appendChild(fileref)
|
||
}
|
||
|
||
function runApplication(width, height){
|
||
var w = window,
|
||
d = document,
|
||
e = d.documentElement,
|
||
g = d.getElementsByTagName('body')[0],
|
||
ww = w.innerWidth || e.clientWidth || g.clientWidth,
|
||
wh = w.innerHeight|| e.clientHeight|| g.clientHeight;
|
||
if(width && height && (width > ww || height > wh) && document.getElementById("resize").checked)
|
||
ratio = Math.min(ww/width, wh/height);
|
||
|
||
resWidth = width;
|
||
resHeight = height;
|
||
document.getElementById('canvas').style.width = resWidth * ratio;
|
||
document.getElementById('canvas').style.height = resHeight * ratio;
|
||
document.getElementById('home').style.visibility = 'hidden';
|
||
Module.callMain([resWidth, resHeight, ratio]);
|
||
}
|
||
|
||
function onResourcesLoaded(){
|
||
var buttons = document.getElementsByClassName("launchButton");
|
||
Array.prototype.forEach.call(buttons, function(button) { button.style.display = 'block'; });
|
||
|
||
var buttonsDisabled = document.getElementsByClassName("launchButtonDisabled");
|
||
Array.prototype.forEach.call(buttonsDisabled, function(button) { button.style.display = 'none'; });
|
||
}
|
||
|
||
function onDocumentLoaded(){
|
||
if(!window.WebGLRenderingContext){
|
||
document.getElementById("webglerror").style.display = 'block';
|
||
return;
|
||
}
|
||
loadScript("JS_APPLICATION.js");
|
||
loadScript("JS_APPLICATION.data.js");
|
||
}
|
||
|
||
onDocumentLoaded();
|
||
</script>
|
||
</body>
|
||
</html>
|