1
0
mirror of https://github.com/chylex/TweetDuck.git synced 2025-09-15 13:32:09 +02:00

Compare commits

...

4 Commits

4 changed files with 21 additions and 4 deletions

View File

@@ -6,6 +6,6 @@ using TweetDuck;
namespace TweetDuck { namespace TweetDuck {
internal static class Version { internal static class Version {
public const string Tag = "1.25.2"; public const string Tag = "1.25.4";
} }
} }

View File

@@ -237,7 +237,7 @@ namespace TweetDuck.Video {
int maxWidth = Math.Min(DpiScaled(media.imageSourceWidth), ownerWidth * 3 / 4); int maxWidth = Math.Min(DpiScaled(media.imageSourceWidth), ownerWidth * 3 / 4);
int maxHeight = Math.Min(DpiScaled(media.imageSourceHeight), ownerHeight * 3 / 4); int maxHeight = Math.Min(DpiScaled(media.imageSourceHeight), ownerHeight * 3 / 4);
bool isCursorInside = ClientRectangle.Contains(PointToClient(Cursor.Position)); bool isCursorInside = ClientRectangle.Contains(PointToClient(Cursor.Position)) && Handle == NativeMethods.GetFormHandleAt(Cursor.Position);
Size newSize = new Size(Math.Max(minWidth + 2, maxWidth), Math.Max(minHeight + 2, maxHeight)); Size newSize = new Size(Math.Max(minWidth + 2, maxWidth), Math.Max(minHeight + 2, maxHeight));
Point newLocation = new Point(ownerLeft + (ownerWidth - newSize.Width) / 2, ownerTop + (ownerHeight - newSize.Height + SystemInformation.CaptionHeight) / 2); Point newLocation = new Point(ownerLeft + (ownerWidth - newSize.Width) / 2, ownerTop + (ownerHeight - newSize.Height + SystemInformation.CaptionHeight) / 2);

View File

@@ -1,11 +1,13 @@
#nullable enable #nullable enable
using System; using System;
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
using System.Drawing;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace TweetDuck.Video { namespace TweetDuck.Video {
[SuppressMessage("ReSharper", "InconsistentNaming")] [SuppressMessage("ReSharper", "InconsistentNaming")]
static class NativeMethods { static class NativeMethods {
private const int GA_ROOT = 2;
private const int GWL_HWNDPARENT = -8; private const int GWL_HWNDPARENT = -8;
[DllImport("user32.dll")] [DllImport("user32.dll")]
@@ -25,6 +27,12 @@ namespace TweetDuck.Video {
[DllImport("user32.dll")] [DllImport("user32.dll")]
public static extern IntPtr GetForegroundWindow(); public static extern IntPtr GetForegroundWindow();
[DllImport("user32.dll")]
private static extern IntPtr WindowFromPoint(Point point);
[DllImport("user32.dll")]
private static extern IntPtr GetAncestor(IntPtr hwnd, int flags);
[DllImport("user32.dll")] [DllImport("user32.dll")]
public static extern bool SetProcessDPIAware(); public static extern bool SetProcessDPIAware();
@@ -49,5 +57,10 @@ namespace TweetDuck.Video {
* ...so technically, this is following the documentation to the word. * ...so technically, this is following the documentation to the word.
*/ */
} }
public static IntPtr GetFormHandleAt(Point point) {
IntPtr window = WindowFromPoint(point);
return window == IntPtr.Zero ? IntPtr.Zero : GetAncestor(window, GA_ROOT);
}
} }
} }

View File

@@ -59,11 +59,15 @@ namespace TweetImpl.CefSharp.Component {
} }
private void OnFrameLoadStart(object? sender, FrameLoadStartEventArgs e) { private void OnFrameLoadStart(object? sender, FrameLoadStartEventArgs e) {
base.OnFrameLoadStart(e.Url, e.Frame); if (!string.IsNullOrEmpty(e.Url)) {
base.OnFrameLoadStart(e.Url, e.Frame);
}
} }
private void OnFrameLoadEnd(object? sender, FrameLoadEndEventArgs e) { private void OnFrameLoadEnd(object? sender, FrameLoadEndEventArgs e) {
base.OnFrameLoadEnd(e.Url, e.Frame); if (!string.IsNullOrEmpty(e.Url)) {
base.OnFrameLoadEnd(e.Url, e.Frame);
}
} }
} }
} }