public void viewportRemoved()
 {
     if (ViewportRemoved != null)
     {
         ViewportRemoved.Invoke();
     }
 }
Example #2
0
        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();
        }
Example #3
0
        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();
        }