Beispiel #1
0
        /// <summary>
        /// If Resizable and Reshapable, support individual triangle vertex
        /// resize handles.
        /// </summary>
        /// <param name="sel"></param>
        /// <param name="selectedObj"></param>
        public override void AddSelectionHandles(GoSelection sel, GoObject selectedObj)
        {
            if (!CanResize() || !CanReshape())
            {
                base.AddSelectionHandles(sel, selectedObj);
                return;
            }
            PointF pointF  = default(PointF);
            PointF pointF2 = default(PointF);
            PointF pointF3 = default(PointF);
            PointF pointF4 = default(PointF);
            bool   flag    = A.X <= B.X;
            bool   flag2   = A.Y <= D.Y;

            sel.RemoveHandles(this);
            if (flag && flag2)
            {
                pointF  = A;
                pointF2 = B;
                pointF3 = D;
                pointF4 = C;
            }
            else if (!flag && flag2)
            {
                pointF  = B;
                pointF2 = A;
                pointF3 = C;
                pointF4 = D;
            }
            else if (flag && !flag2)
            {
                pointF  = D;
                pointF2 = C;
                pointF3 = A;
                pointF4 = B;
            }
            else
            {
                pointF  = C;
                pointF2 = D;
                pointF3 = B;
                pointF4 = A;
            }
            PointF loc = new PointF((pointF.X + pointF3.X) / 2f, (pointF.Y + pointF3.Y) / 2f);

            sel.CreateResizeHandle(this, selectedObj, loc, 256, filled: true);
            loc = new PointF((pointF2.X + pointF4.X) / 2f, (pointF2.Y + pointF4.Y) / 2f);
            sel.CreateResizeHandle(this, selectedObj, loc, 64, filled: true);
            loc = new PointF((pointF.X + pointF2.X) / 2f, (pointF.Y + pointF2.Y) / 2f);
            sel.CreateResizeHandle(this, selectedObj, loc, 32, filled: true);
            loc = new PointF((pointF3.X + pointF4.X) / 2f, (pointF3.Y + pointF4.Y) / 2f);
            sel.CreateResizeHandle(this, selectedObj, loc, 128, filled: true);
            sel.CreateResizeHandle(this, selectedObj, A, 1034, filled: true);
            sel.CreateResizeHandle(this, selectedObj, B, 1035, filled: true);
            sel.CreateResizeHandle(this, selectedObj, C, 1036, filled: true);
            sel.CreateResizeHandle(this, selectedObj, D, 1037, filled: true);
        }
Beispiel #2
0
 /// <summary>
 /// If Resizable and Reshapable, support individual triangle vertex
 /// resize handles.
 /// </summary>
 /// <param name="sel"></param>
 /// <param name="selectedObj"></param>
 public override void AddSelectionHandles(GoSelection sel, GoObject selectedObj)
 {
     if (!CanResize() || !CanReshape())
     {
         base.AddSelectionHandles(sel, selectedObj);
         return;
     }
     sel.RemoveHandles(this);
     sel.CreateResizeHandle(this, selectedObj, A, 8192, filled: true);
     sel.CreateResizeHandle(this, selectedObj, B, 8193, filled: true);
     sel.CreateResizeHandle(this, selectedObj, C, 8194, filled: true);
 }
Beispiel #3
0
        /// <summary>
        /// Display the appropriate selected appearance, normally, resize selection handles
        /// at each point of the polygon.
        /// </summary>
        /// <param name="sel"></param>
        /// <param name="selectedObj"></param>
        /// <remarks>
        /// If this polygon is resizable and reshapable, we add resize selection
        /// handles at each polygon point, with handle IDs equal to
        /// <see cref="F:Northwoods.Go.GoObject.LastHandle" /> plus the index of the point.
        /// </remarks>
        public override void AddSelectionHandles(GoSelection sel, GoObject selectedObj)
        {
            GoView view  = sel.View;
            bool   flag  = view?.CanResizeObjects() ?? true;
            bool   flag2 = view?.CanReshapeObjects() ?? true;

            if (!(CanResize() && flag) || !(CanReshape() && flag2))
            {
                base.AddSelectionHandles(sel, selectedObj);
                return;
            }
            sel.RemoveHandles(this);
            checked
            {
                int num = PointsCount - 1;
                for (int i = 0; i <= num; i++)
                {
                    PointF point = GetPoint(i);
                    sel.CreateResizeHandle(this, selectedObj, point, 8192 + i, filled: true);
                }
            }
        }