private void AddHUDItem(ICollection <IHUDItem> container, System.Windows.Rect rect)
        {
            var item = new WidgetInfo(rect);

            item.Location = rect.Location;
            item.Bounds   = rect;

            container.Add(item);
        }
Exemplo n.º 2
0
        public void Enumerate(ICollection <IHUDItem> container)
        {
            var desktopBounds = HitaHint.UIAssistantAPI.Screen.Bounds;
            var results       = new List <IHUDItem>();

            HitaHint.UIAssistantAPI.WindowAPI.EnumerateWindows((window) =>
            {
                if (window.IsAltTabWindow())
                {
                    return(true);
                }

                var rect        = window.Bounds.ToClientCoordinate();
                WidgetInfo item = new WidgetInfo(": " + window.Title, rect);
                item.Window     = window;
                HitaHint.UIAssistantAPI.ViewAPI.UIDispatcher.Invoke(() => AdjustLocation(results, item, desktopBounds));
                results.Add(item);
                return(true);
            });
            // 重なり解消のため必要
            results.OrderBy(item => item.Bounds.X).ToList().ForEach(x => container.Add(x));
        }