Skip to content

Commit f5bcd01

Browse files
committed
WPF - Add ExperimentalExtensions.UsePopupMouseTransform to allow for custom implementation
Issue #2820
1 parent 9115762 commit f5bcd01

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

CefSharp.Wpf/Experimental/ExperimentalExtensions.cs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,34 @@
22

33
namespace CefSharp.Wpf.Experimental
44
{
5+
/// <summary>
6+
/// Experimental Extensions
7+
/// </summary>
58
public static class ExperimentalExtensions
69
{
10+
/// <summary>
11+
/// Html dropdown goes off screen when near bottom of page by default
12+
/// Calling this method to use the <see cref="MousePositionTransform"/> implementation
13+
/// to reopsition Popups and mouse.
14+
///
15+
/// Issue https://github.com/cefsharp/CefSharp/issues/2820
16+
/// </summary>
17+
/// <param name="chromiumWebBrowser">browser</param>
718
public static void UsePopupMouseTransform(this ChromiumWebBrowser chromiumWebBrowser)
819
{
920
chromiumWebBrowser.MousePositionTransform = new MousePositionTransform();
1021
}
22+
23+
/// <summary>
24+
/// Use a custom <see cref="IMousePositionTransform"/> implemntation
25+
/// </summary>
26+
/// <param name="chromiumWebBrowser">browser</param>
27+
/// <param name="mousePositionTransform">custom implementation of <see cref="IMousePositionTransform"/>
28+
/// or defaults to <see cref="NoOpMousePositionTransform"/> if null.
29+
/// </param>
30+
public static void UsePopupMouseTransform(this ChromiumWebBrowser chromiumWebBrowser, IMousePositionTransform mousePositionTransform)
31+
{
32+
chromiumWebBrowser.MousePositionTransform = mousePositionTransform ?? new NoOpMousePositionTransform();
33+
}
1134
}
1235
}

0 commit comments

Comments
 (0)