Files
VRCX/VRForm.cs
2020-11-01 19:57:02 +09:00

82 lines
3.2 KiB
C#

// Copyright(c) 2019 pypy. All rights reserved.
//
// This work is licensed under the terms of the MIT license.
// For a copy, see <https://opensource.org/licenses/MIT>.
using System;
using System.IO;
using System.Windows.Forms;
using CefSharp;
using CefSharp.WinForms;
namespace VRCX
{
public partial class VRForm : Form
{
public static VRForm Instance { get; private set; }
public static ChromiumWebBrowser Browser1 { get; private set; }
public static ChromiumWebBrowser Browser2 { get; private set; }
public VRForm()
{
Instance = this;
InitializeComponent();
//
Browser1 = new ChromiumWebBrowser(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "html/vr.html?1"))
{
DragHandler = new NoopDragHandler(),
BrowserSettings =
{
// UniversalAccessFromFileUrls = CefState.Enabled,
DefaultEncoding = "UTF-8",
},
Dock = DockStyle.Fill,
};
Browser2 = new ChromiumWebBrowser(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "html/vr.html?2"))
{
DragHandler = new NoopDragHandler(),
BrowserSettings =
{
// UniversalAccessFromFileUrls = CefState.Enabled,
DefaultEncoding = "UTF-8",
},
Dock = DockStyle.Fill,
};
var options = new BindingOptions()
{
CamelCaseJavascriptNames = false
};
Browser1.JavascriptObjectRepository.Register("VRCX", VRCX.Instance, true, options);
Browser1.JavascriptObjectRepository.Register("SharedVariable", SharedVariable.Instance, true, options);
Browser1.JavascriptObjectRepository.Register("VRCXStorage", VRCXStorage.Instance, false, options);
Browser1.JavascriptObjectRepository.Register("SQLite", SQLite.Instance, true, options);
Browser2.JavascriptObjectRepository.Register("VRCX", VRCX.Instance, true, options);
Browser2.JavascriptObjectRepository.Register("SharedVariable", SharedVariable.Instance, true, options);
Browser2.JavascriptObjectRepository.Register("VRCXStorage", VRCXStorage.Instance, false, options);
Browser2.JavascriptObjectRepository.Register("SQLite", SQLite.Instance, true, options);
Browser1.IsBrowserInitializedChanged += (A, B) =>
{
// Browser1.ShowDevTools();
};
Browser2.IsBrowserInitializedChanged += (A, B) =>
{
// Browser2.ShowDevTools();
};
panel1.Controls.Add(Browser1);
panel2.Controls.Add(Browser2);
}
private void button_refresh_Click(object sender, System.EventArgs e)
{
Browser1.ExecuteScriptAsync("location.reload()");
Browser2.ExecuteScriptAsync("location.reload()");
VRCXVR.Refresh();
}
private void button_devtools_Click(object sender, System.EventArgs e)
{
Browser1.ShowDevTools();
Browser2.ShowDevTools();
}
}
}