public void AddToLayout(DPIWindow window, Point position)
 {
     window.Position = position;
     window.Parent   = ActiveWindow;
     ActiveWindow    = window;
     Windows.Add(window);
 }
        public void ExitWindow(DPIWindow window)
        {
            var windows = new List <DPIWindow>(Windows);

            windows.Remove(window);
            Windows = windows;
            if (window.Parent == null)
            {
                ActiveWindow = DPDefaultWindow;
            }
            else
            {
                ActiveWindow = window.Parent;
            }
        }
        public DistributedPowerInterface(float height, float width, MSTSLocomotive locomotive, Viewer viewer, CabViewControl control)
        {
            Viewer     = viewer;
            Locomotive = locomotive;
            Scale      = Math.Min(width / Width, height / Height);
            if (Scale < 0.5)
            {
                MipMapScale = 2;
            }
            else
            {
                MipMapScale = 1;
            }

            Shader                  = new DriverMachineInterfaceShader(Viewer.GraphicsDevice);
            DPDefaultWindow         = new DPDefaultWindow(this, control);
            DPDefaultWindow.Visible = true;

            AddToLayout(DPDefaultWindow, Point.Zero);
            ActiveWindow = DPDefaultWindow;
        }