private void DrawPreview() { System.Drawing.Graphics gr = System.Drawing.Graphics.FromHwnd(panelPreview.Handle); Rectangle rect = new Rectangle(0, 0, panelPreview.Width, panelPreview.Height); using (SolidBrush brush = new SolidBrush(Color.White)) { gr.FillRectangle(brush, rect); } using (Pen pen = new Pen(Color.Gray, 0)) { pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot; gr.DrawLine(pen, 0, rect.Height / 2, rect.Width, rect.Height / 2); gr.DrawLine(pen, rect.Width / 2, 0, rect.Width / 2, rect.Height); } if (_renderer.TextSymbol is ISymbol) { _renderer.TextSymbol.Text = "Label"; SymbolPreview.Draw(gr, rect, (ISymbol)_renderer.TextSymbol, false); } gr.Dispose(); gr = null; }
private void RendererBox_DrawItem(object sender, DrawItemEventArgs e) { if (e.Index >= RendererBox.Items.Count || e.Index < 0) { return; } object item = RendererBox.Items[e.Index]; if (item is RendererItem) { SolidBrush b, f; if ((e.State & DrawItemState.Selected) != 0) { b = (SolidBrush)Brushes.DarkBlue; f = (SolidBrush)Brushes.White; } else { b = (SolidBrush)Brushes.White; f = (SolidBrush)Brushes.Black; } using (System.Drawing.Font font = new Font("Arial", 10)) { e.Graphics.FillRectangle(b, e.Bounds); Rectangle rect = new Rectangle(e.Bounds.X + 20, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height); e.Graphics.DrawString(item.ToString(), font, f, rect); rect = new Rectangle(5, e.Bounds.Y + 2, 11, 11); e.Graphics.DrawImage( (((RendererItem)item).ShowLegend ? global::gView.Carto.Rendering.UI.Properties.Resources.CollapseIcon : global::gView.Carto.Rendering.UI.Properties.Resources.ExpandIcon), rect); } } else if (item is LegendItem) { Rectangle rect = new Rectangle(20, e.Bounds.Top, 30, 20); ILegendItem legendItem = ((LegendItem)item).Item; if (legendItem != null) { if (legendItem is ISymbol) { SymbolPreview.Draw(e.Graphics, rect, (ISymbol)legendItem); } if (legendItem.LegendLabel != String.Empty) { using (Font font = new Font("Arial", 9)) { e.Graphics.DrawString(legendItem.LegendLabel, font, Brushes.Black, 52, e.Bounds.Top + e.Bounds.Height / 2 - font.Height / 2); SizeF stringSize = e.Graphics.MeasureString(legendItem.LegendLabel, font); RendererBox.HorizontalExtent = (int)Math.Max(RendererBox.HorizontalExtent, 52 + stringSize.Width); } } } } }
public override void PaintValue(PaintValueEventArgs e) { if (!(e.Value is ISymbol)) { return; } SymbolPreview.Draw(e.Graphics, e.Bounds, (ISymbol)e.Value); }
private void btnTextSymbol_Paint(object sender, PaintEventArgs e) { if (_renderer == null) { return; } SymbolPreview.Draw( e.Graphics, new Rectangle(5, 5, btnTextSymbol.Width - 10, btnTextSymbol.Height - 10), ((DimensionRenderer)_renderer).TextSymbol, false); }
public void addSymbol(ISymbol symbol, string[] labels, object userObject) { Bitmap bm = new Bitmap(imageList1.ImageSize.Width, imageList1.ImageSize.Height); System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(bm); SymbolPreview.Draw(gr, new Rectangle(0, 0, bm.Width, bm.Height), symbol); gr.Dispose(); gr = null; imageList1.Images.Add(bm); list.Items.Add(new SymbolListViewItem(symbol, labels, imageList1.Images.Count - 1, userObject)); }
private void btnChooseLineSymbol_Paint(object sender, PaintEventArgs e) { if (_renderer == null) { return; } SymbolPreview.Draw( e.Graphics, new Rectangle(5, 5, btnChooseSymbol.Width - 10, btnChooseSymbol.Height - 10), _renderer[geometryType.Polyline], false); }
private void btnChooseSymbol_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { if (_renderer == null) { return; } SymbolPreview.Draw( e.Graphics, new Rectangle(5, 5, btnChooseSymbol.Width - 10, btnChooseSymbol.Height - 10), ((IFeatureRenderer2)_renderer).Symbol, false); }
private void btnChooseSwitchOffSymbol_Paint(object sender, PaintEventArgs e) { if (_renderer == null) { return; } ISymbol symbol = _renderer[NetworkRenderer.RendererType.SwitchesOff]; if (symbol != null) { SymbolPreview.Draw( e.Graphics, new Rectangle(5, 5, btnChooseSwitchOffSymbol.Width - 10, btnChooseSwitchOffSymbol.Height - 10), symbol, false); } }
private void lbSymbols_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e) { int index = 0; using (Font font = new Font("Arial", 9f)) { StringFormat format = new StringFormat(); format.Alignment = StringAlignment.Far; foreach (SymbolCollectionItem item in lbSymbols.Items) { try { if (e.Index == index) { e.Graphics.DrawString((index + 1).ToString() + ":", font, Brushes.Black, 20f, e.Bounds.Top + 3, format); e.Graphics.DrawImage( iList.Images[((item.Visible) ? 1 : 0)], 20, e.Bounds.Top + e.Bounds.Height / 2 - 10, 19, 20); Rectangle rect = new Rectangle( e.Bounds.X + 42, e.Bounds.Y, e.Bounds.Width - 43, e.Bounds.Height); if (item.Symbol == _selectedSymbol) { using (SolidBrush brush = new SolidBrush(Color.BlueViolet)) { e.Graphics.FillRectangle(brush, rect); } } using (Pen pen = new Pen(Color.Gray)) { e.Graphics.DrawRectangle(pen, rect); } rect.X += 1; rect.Y += 1; rect.Width -= 2; rect.Height -= 2; SymbolPreview.Draw(e.Graphics, rect, item.Symbol, false); } } catch { } index++; } } }
private void list_MouseDown(object sender, MouseEventArgs e) { ListViewItem item = list.GetItemAt(4, e.Y); if (!(item is SymbolListViewItem)) { return; } if (e.X < imageList1.ImageSize.Width) { ISymbol symbol = ((SymbolListViewItem)item).Symbol; if (OnSymbolClicked != null) { OnSymbolClicked(symbol); Image image = imageList1.Images[item.ImageIndex]; using (System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(image)) { SymbolPreview.Draw(gr, new Rectangle(0, 0, image.Width, image.Height), symbol, true); imageList1.Images[item.ImageIndex] = image; } list.Refresh(); } else { ISymbol s = (symbol is INullSymbol) ? RendererFunctions.CreateStandardSymbol(((INullSymbol)symbol).GeomtryType) : (ISymbol)symbol.Clone(); FormSymbol dlg = new FormSymbol(s); if (dlg.ShowDialog() == DialogResult.OK) { Image image = imageList1.Images[item.ImageIndex]; using (System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(image)) { SymbolPreview.Draw(gr, new Rectangle(0, 0, image.Width, image.Height), dlg.Symbol, true); imageList1.Images[item.ImageIndex] = image; if (OnSymbolChanged != null) { OnSymbolChanged(item.Text, dlg.Symbol); } } ((SymbolListViewItem)item).Symbol = dlg.Symbol; } } if (_box.Visible) { HideBox(); } } else { int w = 0; bool showBox = false; foreach (ColumnHeader col in list.Columns) { w += col.Width; if (e.X < w) { if (col.Index == 0 && OnKeyChanged == null) { break; } if (col.Index > 0 && OnLabelChanged == null) { break; } Rectangle rect = item.Bounds; rect.X = 3 + w - col.Width + ((col.Index == 0) ? imageList1.ImageSize.Width : 0); rect.Y = 3 + rect.Top + rect.Height / 2 - _box.Height / 2; rect.Width = col.Width - ((col.Index == 0) ? imageList1.ImageSize.Width : 0); rect.Height = _box.Height; if (_box.Visible == true) { HideBox(); } _box.Bounds = rect; _box.Text = item.SubItems[col.Index].Text; _box.Visible = true; _box.Focus(); _labelEditItem = (SymbolListViewItem)item; _labelEditIndex = col.Index; showBox = true; break; } } if (showBox == false && _box.Visible == true) { HideBox(); _labelEditIndex = 0; } } }
//private void btnMidSymbol_Paint(object sender, PaintEventArgs e) //{ // SymbolPreview.Draw(e.Graphics, // new Rectangle(0, 0, btnMidSymbol.Width, btnMidSymbol.Height), // _midSymbol); //} private void btnMaxSymbol_Paint(object sender, PaintEventArgs e) { SymbolPreview.Draw(e.Graphics, new Rectangle(0, 0, btnMaxSymbol.Width, btnMaxSymbol.Height), _maxSymbol); }