using System;
using System.Drawing;
// The 'windowHandle' parameter will contain the window handle for the:
// - Active window when run by hotkey
// - Trigger target when run by a Trigger rule
// - TitleBar Button owner when run by a TitleBar Button
// - Jump List owner when run from a Taskbar Jump List
// - Currently focused window if none of these match
public static class DisplayFusionFunction
{
public static void Run(IntPtr windowHandle)
{
IntPtr windowHandleParent = BFS.Window.GetOwner(windowHandle);
if (windowHandleParent == IntPtr.Zero)
{
BFS.Dialog.ShowTrayMessage("Window has no owner.");
return;
}
Rectangle rectChild = BFS.Window.GetBounds(windowHandle);
Rectangle rectParent = BFS.Window.GetBounds(windowHandleParent);
BFS.Window.SetLocation(
windowHandle,
rectParent.X + ((rectParent.Width - rectChild.Width) / 2),
rectParent.Y + ((rectParent.Height - rectChild.Height) / 2));
}
}