Example #1
0
        public override bool HitTest(LeadPointD point, double hitTestBuffer)
        {
            bool hit = base.HitTest(point, hitTestBuffer);

            if (hit)
            {
                AnnPolylineObject line = new AnnPolylineObject();

                hit = false;

                int pointsCount = Points.Count / 2;
                for (int i = 0; i < pointsCount && !hit; ++i)
                {
                    line.Points.Add(Points[2 * i]);
                    line.Points.Add(Points[2 * i + 1]);
                    if (line.HitTest(point, hitTestBuffer))
                    {
                        hit = true;
                    }
                }
            }

            return(hit);
        }
Example #2
0
        private void CustomizeAutomationMenu()
        {
            AnnAutomationObject autoObj = _annAutomationManager.FindObjectById(AnnObject.LineObjectId);

            if (autoObj != null)
            {
                if (autoObj.ContextMenu != null)
                {
                    ObjectContextMenu menu = autoObj.ContextMenu as ObjectContextMenu;
                    if (menu != null)
                    {
                        menu.MenuItems.RemoveAt(13); //Unlock
                        menu.MenuItems.RemoveAt(12); //Lock
                        menu.MenuItems.RemoveAt(11); //Separator
                        menu.MenuItems.RemoveAt(10); //Reverse
                        menu.MenuItems.RemoveAt(9);  //Flip
                        menu.MenuItems.RemoveAt(8);  //Separator
                    }
                }

                autoObj = _annAutomationManager.FindObjectById(AnnObject.PolygonObjectId);
                if (autoObj != null && autoObj.ObjectTemplate != null)
                {
                    AnnPolylineObject polygon = autoObj.ObjectTemplate as AnnPolylineObject;
                    polygon.IsClosed = true;
                    polygon.FillRule = AnnFillRule.Nonzero;
                }

                autoObj = _annAutomationManager.FindObjectById(AnnObject.ClosedCurveObjectId);
                if (autoObj != null && autoObj.ObjectTemplate != null)
                {
                    AnnCurveObject closedCurve = autoObj.ObjectTemplate as AnnCurveObject;
                    closedCurve.IsClosed = true;
                    closedCurve.FillRule = AnnFillRule.Nonzero;
                }

                // Group
                autoObj = _annAutomationManager.FindObjectById(AnnObject.PolygonObjectId);
                if (autoObj != null && autoObj.ObjectTemplate != null)
                {
                    AnnPolylineObject polygon = autoObj.ObjectTemplate as AnnPolylineObject;
                    polygon.IsClosed = true;
                    polygon.FillRule = AnnFillRule.Nonzero;
                }

                autoObj = _annAutomationManager.FindObjectById(AnnObject.ClosedCurveObjectId);
                if (autoObj != null && autoObj.ObjectTemplate != null)
                {
                    AnnCurveObject closedCurve = autoObj.ObjectTemplate as AnnCurveObject;
                    closedCurve.IsClosed = true;
                    closedCurve.FillRule = AnnFillRule.Nonzero;
                }
                // Group
                autoObj = _annAutomationManager.FindObjectById(AnnObject.GroupObjectId);
                if (autoObj != null)
                {
                    ObjectContextMenu menu = new ObjectContextMenu();

                    menu = autoObj.ContextMenu as ObjectContextMenu;
                    if (menu != null)
                    {
                        menu.MenuItems.RemoveAt(16); //Ungroup
                        menu.MenuItems.RemoveAt(15); //Group
                        menu.MenuItems.RemoveAt(14); //Separator
                        menu.MenuItems.RemoveAt(13); //Unlock
                        menu.MenuItems.RemoveAt(12); //Lock
                        menu.MenuItems.RemoveAt(11); //Separator
                        menu.MenuItems.RemoveAt(10); //Reverse
                        menu.MenuItems.RemoveAt(9);  //Flip
                        menu.MenuItems.RemoveAt(8);  //Separator
                    }


                    if (menu != null)
                    {
                        // Remove the 'Control Points' item
                        menu.MenuItems.RemoveAt(8);
                        menu.MenuItems.RemoveAt(7);
                    }
                }
            }
        }