protected override void onCreate(Bundle savedInstanceState) { base.onCreate(savedInstanceState); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); //this.ToFullscreen(); var v = new RenderingContextView(this); var s = new PulsSurface(v); this.setContentView(v); //this.TryHideActionbar(v); this.ShowToast("http://my.jsc-solutions.net"); }
private void InitializeContent(IDefault page = null) { #region += Launched chrome.app.window dynamic self = Native.self; dynamic self_chrome = self.chrome; object self_chrome_socket = self_chrome.socket; if (self_chrome_socket != null) { if (!(Native.window.opener == null && Native.window.parent == Native.window.self)) { Console.WriteLine("chrome.app.window.create, is that you?"); // pass thru } else { // should jsc send a copresence udp message? chrome.runtime.UpdateAvailable += delegate { new chrome.Notification(title: "UpdateAvailable"); }; chrome.app.runtime.Launched += async delegate { // 0:12094ms chrome.app.window.create {{ href = chrome-extension://aemlnmcokphbneegoefdckonejmknohh/_generated_background_page.html }} Console.WriteLine("chrome.app.window.create " + new { Native.document.location.href }); new chrome.Notification(title: "ChromeUDPSendAsync"); var xappwindow = await chrome.app.window.create( Native.document.location.pathname, options : null ); //xappwindow.setAlwaysOnTop xappwindow.show(); await xappwindow.contentWindow.async.onload; Console.WriteLine("chrome.app.window loaded!"); }; return; } } #endregion var canvas = new IHTMLCanvas().AttachToDocument(); Native.Document.body.style.overflow = IStyle.OverflowEnum.hidden; canvas.style.SetLocation(0, 0); //http://www.khronos.org/webgl/public-mailing-list/archives/1002/msg00125.html var gl = (WebGLRenderingContext)canvas.getContext("experimental-webgl"); #region Dispose var IsDisposed = false; Dispose = delegate { if (IsDisposed) { return; } IsDisposed = true; canvas.Orphanize(); }; #endregion var s = new PulsSurface(this); this.onsurface(gl); #region AtResize Action AtResize = delegate { if (IsDisposed) { return; } canvas.width = Native.window.Width; canvas.height = Native.window.Height; this.onresize(Native.window.Width, Native.window.Height); Console.WriteLine("onresize"); }; AtResize(); Native.window.onresize += delegate { AtResize(); }; #endregion #region requestFullscreen Native.Document.body.ondblclick += delegate { if (IsDisposed) { return; } // http://tutorialzine.com/2012/02/enhance-your-website-fullscreen-api/ Native.Document.body.requestFullscreen(); }; #endregion #region loop Action loop = null; loop = delegate { if (IsDisposed) { return; } this.onframe(); Native.window.requestAnimationFrame += loop; }; Native.window.requestAnimationFrame += loop; #endregion }