using ElectronNET.API.Entities; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Newtonsoft.Json.Serialization; using System.Threading.Tasks; namespace ElectronNET.API { /// /// A BrowserView can be used to embed additional web content into a BrowserWindow. /// It is like a child window, except that it is positioned relative to its owning window. /// It is meant to be an alternative to the webview tag. /// public class BrowserView { /// /// Gets the identifier. /// /// /// The identifier. /// public int Id { get; internal set; } /// /// Render and control web pages. /// public WebContents WebContents { get; internal set; } /// /// Resizes and moves the view to the supplied bounds relative to the window. /// /// (experimental) /// public Task GetBoundsAsync() => BridgeConnector.OnResult("browserView-getBounds", "browserView-getBounds-reply" + Id, Id); /// /// Set the bounds of the current view inside the window /// /// public void SetBounds(Rectangle value) { BridgeConnector.Emit("browserView-setBounds", Id, value); } /// /// BrowserView /// internal BrowserView(int id) { Id = id; // Workaround: increase the Id so as not to conflict with BrowserWindow id // the backend detect about the value an BrowserView WebContents = new WebContents(id + 1000); } /// /// (experimental) /// /// public void SetAutoResize(AutoResizeOptions options) { BridgeConnector.Emit("browserView-setAutoResize", Id, options); } /// /// Color in #aarrggbb or #argb form. The alpha channel is optional. /// /// (experimental) /// /// Color in #aarrggbb or #argb form. The alpha channel is optional. public void SetBackgroundColor(string color) { BridgeConnector.Emit("browserView-setBackgroundColor", Id, color); } } }