Пример #1
0
        private bool IsPrimitiveSelected(Primitive2D p)
        {
            PrimitiveRenderData data = p.GetData <PrimitiveRenderData>();

            if (data != null)
            {
                return(data.isSelected);
            }
            return(false);
        }
Пример #2
0
        public static PrimitiveRenderData Get(Primitive2D p)
        {
            PrimitiveRenderData data = p.GetData <PrimitiveRenderData>();

            if (data == null)
            {
                data = new PrimitiveRenderData();
                p.SetData(data);
            }
            return(data);
        }
Пример #3
0
        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));
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
            }
        }