Esempio n. 1
0
        internal ShadowVisual(IShadowVisualParent parent, Monitor monitor, HeliosVisual visual, bool recurse = true)
        {
            // create a shadow object
            _parent  = parent;
            Monitor  = monitor;
            Visual   = visual;
            Viewport = visual as IViewportExtent;
            if (IsViewport)
            {
                _parent.AddViewport(this);
            }

            // observe changes
            monitor.Moved   += Monitor_Modified;
            monitor.Resized += Monitor_Modified;
            visual.Moved    += Visual_Modified;
            visual.Resized  += Visual_Modified;
            visual.Children.CollectionChanged += Visual_Children_CollectionChanged;

            // NOTE: changes in monitor children tracked in ShadowMonitor

            if (recurse)
            {
                Instrument(monitor, visual);
            }
        }
Esempio n. 2
0
        internal ShadowMonitor(IShadowVisualParent parent, Monitor monitor)
            : base(parent, monitor, monitor, false)
        {
            Key = CreateKey(monitor);

            // read settings for monitors matching this geometry
            LoadSettings();
        }
Esempio n. 3
0
        private void Data_MonitorAdded(object sender, ShadowMonitorEventArgs e)
        {
            IShadowVisualParent parent = (IShadowVisualParent)sender;

            AddMonitor(e.Data, parent.GlobalOffset);
        }
Esempio n. 4
0
        private void Data_ViewportAdded(object sender, ShadowViewportEventArgs e)
        {
            IShadowVisualParent parent = (IShadowVisualParent)sender;

            AddViewport(e.Data, parent.GlobalOffset);
        }