public void destroyWindow(SceneViewWindow window) { if (WindowDestroyed != null) { WindowDestroyed.Invoke(window); } if (camerasCreated) { window.destroySceneView(); } if (window == cloneWindow) { cloneWindow = null; } else if (mdiWindows.Remove(window as MDISceneViewWindow)) { //On the last window, disable closing it. if (mdiWindows.Count == 1) { mdiWindows[0].AllowClose = false; } } else { textureWindows.Remove(window as TextureSceneView); } if (window == activeWindow) { ActiveWindow = mdiWindows.FirstOrDefault(); } window.Dispose(); }
public void createCloneWindow(NativeOSWindow parentWindow, WindowInfo windowInfo, bool floatOnParent) { if (cloneWindow == null) { CloneCamera cloneCamera = new CloneCamera(this, mainTimer); cloneWindow = new SingleViewCloneWindow(parentWindow, windowInfo, this, cloneCamera, "Clone", background, 0, floatOnParent); cloneWindow.Closed += new EventHandler(cloneWindow_Closed); if (WindowCreated != null) { WindowCreated.Invoke(cloneWindow); } if (camerasCreated) { cloneWindow.createSceneView(currentScene); } } }
void cloneWindow_Closed(object sender, EventArgs e) { cloneWindow = null; }