html5; Fixing run loop problems due to new android fixes. Adding custom test command for server

This commit is contained in:
underscorediscovery
2013-09-12 19:44:51 -02:30
parent c0b88f64b0
commit 362c498763
4 changed files with 47 additions and 29 deletions

View File

@@ -283,9 +283,7 @@ class LiME {
}
return __updateNextWake();
return __updateNextWake();
} //on_lime_event
@@ -302,7 +300,7 @@ class LiME {
//Called when updated by the nme/sdl runtime
public function on_update(_event) {
_debug('on_update ' + Timer.stamp(), true, true);
_debug('on_update ' + Timer.stamp(), true, false);
#if lime_native
Timer.__checkTimers();
@@ -310,7 +308,11 @@ class LiME {
if(!has_shutdown) {
var do_update = __checkRender();
#if lime_native
var do_update = __checkRender();
#else
var do_update = true;
#end
if(do_update) {
@@ -330,11 +332,13 @@ class LiME {
public function perform_render() {
if (render_request_function != null) {
render_request_function();
} else {
render.render();
}
} //perform render
@:noCompletion private function __checkRender():Bool {
@@ -368,12 +372,19 @@ class LiME {
@:noCompletion public function __updateNextWake():Float {
var nextWake = haxe.Timer.__nextWake (315000000.0);
nextWake = __nextFrameDue( nextWake );
nme_stage_set_next_wake( view_handle, nextWake );
return nextWake;
#if lime_native
var nextWake = haxe.Timer.__nextWake (315000000.0);
nextWake = __nextFrameDue( nextWake );
nme_stage_set_next_wake( view_handle, nextWake );
return nextWake;
#else
return null;
#end
}

View File

@@ -206,31 +206,36 @@ class RenderHandler {
public function request_render() {
#if lime_native
trace('render.request_render');
nme_stage_request_render();
#end
}
public function render() {
public function render() : Bool {
if( !lib.window.active ) {
return;
return false;
}
#if lime_html5
// trace('render.render');
on_render();
_requestAnimFrame( lib.on_update );
return true;
#end
#end
#if lime_native
// trace("now doing render");
// nme_stage_request_render();
// trace('render.render');
nme_render_stage( lib.view_handle );
// nme_stage_request_render();
#end //lime_native
return true;
}
public function on_render() {
@@ -239,21 +244,8 @@ class RenderHandler {
lib.host.render();
}
// trace('render.on_render');
} //on_render
public function next_wake(f:Float = 0) {
if(lib.shutting_down) return;
#if lime_native
//todo - sleep a tiny amount to n ot use 100% cpu
// nme_stage_set_next_wake( lib.view_handle , 0.001 );
#end //lime_native
// trace('render.next_wake');
}
//nme functions
#if lime_native

BIN
run.n vendored

Binary file not shown.

View File

@@ -55,6 +55,7 @@ class RunScript {
//buildto
case "copy":
var target = data;
var dest = data2;
//lab copy html5 ~/Sven/Sites/out
@@ -70,6 +71,20 @@ class RunScript {
}
return true;
case "test":
if(data == 'html5') {
if(data2 == '-server') {
//check if the server note file exists
var args = ['server', '-p', '55555', '-h', 'localhost' ,'-d' , cwd + 'bin/html5/bin/'];
new sys.io.Process('nekotools', args);
new sys.io.Process('open', ['http://localhost:55555/']);
return true;
}
}
return false;
default:
return false;
}#end