public void viewportRemoved() { if (ViewportRemoved != null) { ViewportRemoved.Invoke(); } }
public void RemoveViewport(ShadowVisual shadowViewport) { shadowViewport.ViewportChanged -= Raw_ViewportChanged; _viewports.Remove(shadowViewport.Visual); ViewportRemoved?.Invoke(this, new ShadowViewportEventArgs(shadowViewport)); // update viewport count on hosting monitor ShadowMonitor monitor = _monitors[shadowViewport.Monitor]; monitor.RemoveViewport(); // recalculate, delayed ScheduleGeometryChange(); }
private void ClearShadowObjects() { // clean up shadow collections foreach (ShadowMonitor shadow in _monitors.Values) { shadow.Dispose(); MonitorRemoved?.Invoke(this, new ShadowMonitorEventArgs(shadow)); } foreach (ShadowVisual shadow in _viewports.Values) { shadow.Dispose(); ViewportRemoved?.Invoke(this, new ShadowViewportEventArgs(shadow)); } _monitors.Clear(); _viewports.Clear(); }