public MonitorAdorner(HeliosVisualView adornedElement, string monitorLabel, Monitor monitor) : base(adornedElement) { _textFormat.VerticalAlignment = TextVerticalAlignment.Center; _label = monitorLabel; _monitor = monitor; }
public UIElement GetVisualFeedback(IDataObject obj) { HeliosVisual item = obj.GetData("Helios.Visual") as HeliosVisual; if (item == null) { return(null); } HeliosVisualView view = new HeliosVisualView(); view.Visual = item; view.Width = item.Width * _target.ZoomFactor; view.Height = item.Height * _target.ZoomFactor; return(view); }
public override void SetBindingFocus(HeliosObject bindingFoucsObject) { HeliosVisual visual = bindingFoucsObject as HeliosVisual; if (visual != null && Panel.Children.Contains(visual)) { PanelEditor.SelectedItems.Clear(); HeliosVisualView view = PanelEditor.GetViewerForVisual(visual); if (view != null) { PanelEditor.UpdateLayout(); PanelEditor.SelectedItems.Add((HeliosVisual)bindingFoucsObject); Dispatcher.BeginInvoke(new Action(view.BringIntoView)); } } }
public MonitorWindow(Monitor monitor, bool highQualityBitmapScaling, bool autoInvalidate) { _viewer = new HeliosVisualView(); _viewer.HighQualityBitmapScaling = highQualityBitmapScaling; _viewer.Visual = monitor; Content = _viewer; _display = monitor; _autoInvalidate = autoInvalidate; _needsDisplay = true; Top = _display.Top; Left = _display.Left; Width = _display.Width; Height = _display.Height; ShowInTaskbar = false; WindowStyle = System.Windows.WindowStyle.None; (Monitor.Renderer as MonitorRenderer).SkipFill = true; if (!Monitor.FillBackground) { ConfigManager.LogManager.LogDebug("Setting " + monitor.Name + " to transparent."); AllowsTransparency = true; Background = Brushes.Transparent; } else { if (Monitor.BackgroundColor.A != 255) { ConfigManager.LogManager.LogDebug("Setting " + monitor.Name + " to transparent."); AllowsTransparency = true; } Background = new SolidColorBrush(Monitor.BackgroundColor); } Focusable = false; if (Monitor.AlwaysOnTop) { Topmost = true; } ResizeMode = System.Windows.ResizeMode.NoResize; }
private void UpdateMonitors() { AdornerLayer layer = AdornerLayer.GetAdornerLayer(this); foreach (MonitorRectangle monitorRect in _monitorRectangles) { if (layer != null) { layer.Remove(monitorRect.Adorner); } _children.Remove(monitorRect.View); } _monitorRectangles.Clear(); if (Profile != null) { _setAdorners = true; int i = 1; foreach (Monitor monitor in Profile.Monitors) { HeliosVisualView monitorView = new HeliosVisualView(); monitorView.Visual = monitor; monitorView.Visibility = ShowPanels ? Visibility.Visible : Visibility.Hidden; _children.Add(monitorView); MonitorAdorner adorner = new MonitorAdorner(monitorView, i++.ToString(), monitor); MonitorRectangle monitorRect = new MonitorRectangle(); monitorRect.Monitor = monitor; monitorRect.View = monitorView; monitorRect.Adorner = adorner; _monitorRectangles.Add(monitorRect); } } InvalidateMeasure(); InvalidateArrange(); InvalidateVisual(); }