This repository has been archived on 2026-03-14. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Eco/VideoBrowser/Controls/CefSharpBrowser/Handlers/CefDisplayHandler.cs
2023-07-24 12:00:34 +02:00

171 lines
6.8 KiB
C#

namespace VideoBrowser.Controls.CefSharpBrowser.Handlers
{
using CefSharp;
using CefSharp.Structs;
using CefSharp.Wpf;
using System;
using System.Collections.Generic;
using System.Windows.Input;
using VideoBrowser.Helpers;
/// <summary>
/// Defines the <see cref="CefDisplayHandler" />.
/// </summary>
public class CefDisplayHandler : IDisplayHandler
{
#region Constructors
/// <summary>
/// Initializes a new instance of the <see cref="CefDisplayHandler"/> class.
/// </summary>
internal CefDisplayHandler()
{
}
#endregion Constructors
#region Properties
/// <summary>
/// Gets or sets the IsFullScreenCommand.
/// </summary>
internal ICommand IsFullScreenCommand { get; set; }
#endregion Properties
#region Methods
/// <summary>
/// The OnAutoResize.
/// </summary>
/// <param name="chromiumWebBrowser">The chromiumWebBrowser<see cref="IWebBrowser"/>.</param>
/// <param name="browser">The browser<see cref="IBrowser"/>.</param>
/// <param name="newSize">The newSize<see cref="Size"/>.</param>
/// <returns>The <see cref="bool"/>.</returns>
public bool OnAutoResize(IWebBrowser chromiumWebBrowser, IBrowser browser, Size newSize)
{
return true;
}
/// <summary>
/// The OnCursorChange.
/// </summary>
/// <param name="chromiumWebBrowser">The chromiumWebBrowser<see cref="IWebBrowser"/>.</param>
/// <param name="browser">The browser<see cref="IBrowser"/>.</param>
/// <param name="cursor">The cursor<see cref="IntPtr"/>.</param>
/// <param name="type">The type<see cref="CefSharp.Enums.CursorType"/>.</param>
/// <param name="customCursorInfo">The customCursorInfo<see cref="CursorInfo"/>.</param>
/// <returns>The <see cref="bool"/>.</returns>
public bool OnCursorChange(IWebBrowser chromiumWebBrowser, IBrowser browser, IntPtr cursor, CefSharp.Enums.CursorType type, CursorInfo customCursorInfo)
{
return false;
}
/// <summary>
/// The OnLoadingProgressChange.
/// </summary>
/// <param name="chromiumWebBrowser">The chromiumWebBrowser<see cref="IWebBrowser"/>.</param>
/// <param name="browser">The browser<see cref="IBrowser"/>.</param>
/// <param name="progress">The progress<see cref="double"/>.</param>
public void OnLoadingProgressChange(IWebBrowser chromiumWebBrowser, IBrowser browser, double progress)
{
}
/// <summary>
/// The OnTooltipChanged.
/// </summary>
/// <param name="chromiumWebBrowser">The chromiumWebBrowser<see cref="IWebBrowser"/>.</param>
/// <param name="text">The text<see cref="string"/>.</param>
/// <returns>The <see cref="bool"/>.</returns>
public bool OnTooltipChanged(IWebBrowser chromiumWebBrowser, ref string text)
{
return false;
}
/// <summary>
/// The OnAddressChanged.
/// </summary>
/// <param name="browserControl">The browserControl<see cref="IWebBrowser"/>.</param>
/// <param name="addressChangedArgs">The addressChangedArgs<see cref="AddressChangedEventArgs"/>.</param>
void IDisplayHandler.OnAddressChanged(IWebBrowser browserControl, AddressChangedEventArgs addressChangedArgs)
{
}
/// <summary>
/// The OnConsoleMessage.
/// </summary>
/// <param name="browserControl">The browserControl<see cref="IWebBrowser"/>.</param>
/// <param name="consoleMessageArgs">The consoleMessageArgs<see cref="ConsoleMessageEventArgs"/>.</param>
/// <returns>The <see cref="bool"/>.</returns>
bool IDisplayHandler.OnConsoleMessage(IWebBrowser browserControl, ConsoleMessageEventArgs consoleMessageArgs)
{
return false;
}
/// <summary>
/// The OnFaviconUrlChange.
/// </summary>
/// <param name="browserControl">The browserControl<see cref="IWebBrowser"/>.</param>
/// <param name="browser">The browser<see cref="IBrowser"/>.</param>
/// <param name="urls">The urls<see cref="IList{string}"/>.</param>
void IDisplayHandler.OnFaviconUrlChange(IWebBrowser browserControl, IBrowser browser, IList<string> urls)
{
}
/// <summary>
/// The OnFullscreenModeChange.
/// </summary>
/// <param name="browserControl">The browserControl<see cref="IWebBrowser"/>.</param>
/// <param name="browser">The browser<see cref="IBrowser"/>.</param>
/// <param name="fullscreen">The fullscreen<see cref="bool"/>.</param>
void IDisplayHandler.OnFullscreenModeChange(IWebBrowser browserControl, IBrowser browser, bool fullscreen)
{
var chromiumWebBrowser = (ChromiumWebBrowser)browserControl;
chromiumWebBrowser.Invoke(() =>
{
this.IsFullScreenCommand.Execute(fullscreen);
////if (fullscreen)
////{
//// parent = chromiumWebBrowser.Parent;
//// parent.Controls.Remove(chromiumWebBrowser);
//// fullScreenForm = new Form
//// {
//// FormBorderStyle = FormBorderStyle.None,
//// WindowState = FormWindowState.Maximized
//// };
//// fullScreenForm.Controls.Add(chromiumWebBrowser);
//// fullScreenForm.ShowDialog(parent.FindForm());
////}
////else
////{
//// fullScreenForm.Controls.Remove(chromiumWebBrowser);
//// parent.Controls.Add(chromiumWebBrowser);
//// fullScreenForm.Close();
//// fullScreenForm.Dispose();
//// fullScreenForm = null;
////}
});
}
/// <summary>
/// The OnStatusMessage.
/// </summary>
/// <param name="browserControl">The browserControl<see cref="IWebBrowser"/>.</param>
/// <param name="statusMessageArgs">The statusMessageArgs<see cref="StatusMessageEventArgs"/>.</param>
void IDisplayHandler.OnStatusMessage(IWebBrowser browserControl, StatusMessageEventArgs statusMessageArgs)
{
}
/// <summary>
/// The OnTitleChanged.
/// </summary>
/// <param name="browserControl">The browserControl<see cref="IWebBrowser"/>.</param>
/// <param name="titleChangedArgs">The titleChangedArgs<see cref="TitleChangedEventArgs"/>.</param>
void IDisplayHandler.OnTitleChanged(IWebBrowser browserControl, TitleChangedEventArgs titleChangedArgs)
{
}
#endregion Methods
}
}