private bool IsPrimitiveSelected(Primitive2D p) { PrimitiveRenderData data = p.GetData <PrimitiveRenderData>(); if (data != null) { return(data.isSelected); } return(false); }
public static PrimitiveRenderData Get(Primitive2D p) { PrimitiveRenderData data = p.GetData <PrimitiveRenderData>(); if (data == null) { data = new PrimitiveRenderData(); p.SetData(data); } return(data); }
private void RebuildList(VectorImage img) { overlayPoints.Clear(); List <Vector2D> vertices = img.GetPrimitives <Vector2D>(); foreach (Vector2D v in vertices) { if (PrimitiveRenderData.Get(v).Text != "") { double dist = GetClosestDistance(v, vertices); overlayPoints.Add(new OverlayVector2D(v, dist)); } } overlayPoints.Sort((a, b) => b.distance.CompareTo(a.distance)); }
private Color GetColor(Primitive2D p, Colors.ColorPair defaultColors) { if (!isActive) { return(defaultColors.Inactive); } PrimitiveRenderData data = p.GetData <PrimitiveRenderData>(); if (data != null) { return(data.isSelected ? defaultColors.Selected : data.GetColor(defaultColors.Active)); } return(defaultColors.Active); }
private void DrawOverlay(RenderContext context) { for (int i = 0; i < overlayPoints.Count; i++) { if (overlayPoints[i].distance * context.DrawScale < 25.0f) { break; } string label = PrimitiveRenderData.Get(overlayPoints[i].v).Text; SolidBrush drawBrush = new SolidBrush(Colors.ScientificText); Font font = new Font("Arial", 10); Vector2D p = context.PointToScreen(overlayPoints[i].v); context.Graphics.DrawString(label, font, Colors.ScientificText, p); } }