public static Image GetSymbol(MapPointShape shape, int size, System.Windows.Media.Color fill, bool drawOutline, System.Windows.Media.Color outline = default(System.Windows.Media.Color)) { Color fillColor = Color.FromArgb(fill.A, fill.R, fill.G, fill.B); if (outline == default(System.Windows.Media.Color)) { outline = System.Windows.Media.Colors.Black; } Color outlineColor = Color.FromArgb(outline.A, outline.R, outline.G, outline.B); Image img = null; switch (shape) { case MapPointShape.Circle: img = Circle(size, fillColor, drawOutline, outlineColor); break; case MapPointShape.Square: img = Square(size, fillColor, drawOutline, outlineColor); break; case MapPointShape.Triangle: img = Triangle(size, fillColor, drawOutline, outlineColor); break; } if (img != null) { var info = new SymbolInfo { Size = size, Color = fillColor, DrawOutline = drawOutline, Shape = shape }; img.Tag = info; } return img; }
public PointOptionsControl(SymbolInfo info) { init(info); }
private void init(SymbolInfo info) { InitializeComponent(); cmbShape.ItemsSource = _shapeModel; cmbShape.SelectionChanged += cmbShape_SelectionChanged; Loaded += PointOptionsControl_Loaded; if (info == null) { sizeSlider.Value = 7; cmbShape.SelectedIndex = 0; ctlColor.SelectedColor = Colors.Red; Shape = MapPointShape.Circle; chkDrawOutline.IsChecked = true; } else { sizeSlider.Value = info.Size; cmbShape.SelectedItem = _shapeModel.Find(vm => vm.Shape == info.Shape); ctlColor.SelectedColor = Color.FromArgb(info.Color.A, info.Color.R, info.Color.G, info.Color.B); Shape = info.Shape; chkDrawOutline.IsChecked = info.DrawOutline; } ctlColor.SelectedColorChanged += ctlColor_SelectedColorChanged; }