/// <inheritdoc /> /// <summary> /// Initializes a new instance of the <see cref="T:GameOverlay.Windows.StickyOverlayWindow" /> class. /// </summary> /// <param name="parentWindowHandle">The parent window handle.</param> /// <param name="options">The options.</param> public StickyOverlayWindow(IntPtr parentWindowHandle, OverlayOptions options) : base(options) { if (parentWindowHandle == IntPtr.Zero) { throw new ArgumentNullException(nameof(parentWindowHandle)); } while (!IsInitialized) { Thread.Sleep(10); } ParentWindowHandle = parentWindowHandle; Install(); }
/// <summary> /// Initializes a new instance of the <see cref="OverlayWindow" /> class. /// </summary> /// <param name="options">The options.</param> public OverlayWindow(OverlayOptions options) { WindowTitle = options.WindowTitle; BypassTopmost = options.BypassTopmost; _windowThread = new Thread(() => WindowThreadProcedure(options.X, options.Y, options.Width, options.Height)) { IsBackground = true, Priority = ThreadPriority.BelowNormal }; _windowThread.Start(); while (!IsInitialized) { Thread.Sleep(10); } }