Ignore:
Timestamp:
Aug 5, 2010, 9:03:30 AM (11 years ago)
Author:
matkovic
Message:

-Style changes
-Images added
-Various changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/WorkspaceManager/View/VisualComponents/CryptoLineView/CryptoLineView.cs

    r1756 r1760  
    3030            private set { model = value; }
    3131        }
    32         private static double offset = 7.5;
     32        private static double offset = 6;
    3333
    3434        #endregion
     
    167167                if(isBetween(down.Y, up.Y, left.Y) && isBetween(left.X, right.X, up.X))
    168168                {
    169                     if (StartPoint.Y == StartPointSec.Y && StartPoint.X > StartPointSec.X)
     169                    if (StartPoint.Y == StartPointSec.Y
     170                        && (((StartPoint.X >= StartPointSec.X && StartPointSec.X >= EndPoint.X))
     171                        || ((StartPoint.X <= StartPointSec.X && StartPointSec.X <= EndPoint.X))))
    170172                    {
    171                         intersectPoint = new IntersectPoint(new Point(up.X, left.Y));
    172                         //intersectPoint.Mode = IntersectPointMode.InnerIntersect;
     173                        intersectPoint = new IntersectPoint(new Point(up.X, left.Y), IntersectPointMode.NormalIntersect);
    173174                    }
    174175                    else
    175176                    {
    176                         intersectPoint = new IntersectPoint(new Point(up.X, left.Y));
     177                        intersectPoint = new IntersectPoint(new Point(up.X, left.Y), IntersectPointMode.NormalIntersect);
    177178                    }
    178179                    return true;
     
    214215                    foreach (IntersectPoint interPoint in fromTo.Intersection)
    215216                    {
    216                         if (intersectPoint.Mode == IntersectPointMode.NormalIntersect)
     217                        switch (fromTo.DirSort)
    217218                        {
    218                             switch (fromTo.DirSort)
    219                             {
    220                                 case DirSort.X_ASC:
     219                            case DirSort.X_ASC:
     220                                if (intersectPoint.Mode == IntersectPointMode.NormalIntersect)
     221                                {
    221222                                    context.LineTo(new Point(interPoint.Point.X - offset, interPoint.Point.Y), true, true);
    222223                                    context.QuadraticBezierTo(new Point(interPoint.Point.X, interPoint.Point.Y - offset), new Point(interPoint.Point.X + offset, interPoint.Point.Y), true, true);
    223                                     break;
    224                                 case DirSort.X_DESC:
     224                                }
     225                                else if (intersectPoint.Mode == IntersectPointMode.InnerIntersect)
     226                                {
     227                                    context.LineTo(new Point(interPoint.Point.X - 4, interPoint.Point.Y), true, true);
     228                                    context.QuadraticBezierTo(new Point(interPoint.Point.X, interPoint.Point.Y - 5), new Point(interPoint.Point.X + 4, interPoint.Point.Y), true, true);
     229                                    context.QuadraticBezierTo(new Point(interPoint.Point.X, interPoint.Point.Y + 5), new Point(interPoint.Point.X - 4, interPoint.Point.Y), true, true);
     230                                }
     231                                break;
     232                            case DirSort.X_DESC:
     233                                if (intersectPoint.Mode == IntersectPointMode.NormalIntersect)
     234                                {
    225235                                    context.LineTo(new Point(interPoint.Point.X + offset, interPoint.Point.Y), true, true);
    226236                                    context.QuadraticBezierTo(new Point(interPoint.Point.X, interPoint.Point.Y - offset), new Point(interPoint.Point.X - offset, interPoint.Point.Y), true, true);
    227                                     break;
    228                                 //case DirSort.Y_ASC:
    229                                 //    context.LineTo(new Point(interPoint.X, interPoint.Y - offset), true, true);
    230                                 //    context.QuadraticBezierTo(new Point(interPoint.X + offset, interPoint.Y), new Point(interPoint.X, interPoint.Y + offset), true, true);
    231                                 //    break;
    232                                 //case DirSort.Y_DESC:
    233                                 //    context.LineTo(new Point(interPoint.X, interPoint.Y + offset), true, true);
    234                                 //    context.QuadraticBezierTo(new Point(interPoint.X + offset, interPoint.Y), new Point(interPoint.X, interPoint.Y - offset), true, true);
    235                                 //    break;
    236                             }
    237                         }
    238                         else if (intersectPoint.Mode == IntersectPointMode.InnerIntersect)
    239                         {
    240                             context.LineTo(new Point(interPoint.Point.X - offset, interPoint.Point.Y), true, true);
    241                             context.QuadraticBezierTo(new Point(interPoint.Point.X, interPoint.Point.Y - offset), new Point(interPoint.Point.X + offset, interPoint.Point.Y), true, true);
    242                             context.QuadraticBezierTo(new Point(interPoint.Point.X, interPoint.Point.Y - offset), new Point(interPoint.Point.X - offset, interPoint.Point.Y), true, true);
     237                                }
     238                                else if (intersectPoint.Mode == IntersectPointMode.InnerIntersect)
     239                                {
     240                                    context.LineTo(new Point(interPoint.Point.X + 4, interPoint.Point.Y), true, true);
     241                                    context.QuadraticBezierTo(new Point(interPoint.Point.X, interPoint.Point.Y - 5), new Point(interPoint.Point.X - 4, interPoint.Point.Y), true, true);
     242                                    context.QuadraticBezierTo(new Point(interPoint.Point.X, interPoint.Point.Y + 5), new Point(interPoint.Point.X + 4, interPoint.Point.Y), true, true);
     243                                }
     244                                break;
     245                            //case DirSort.Y_ASC:
     246                            //    context.LineTo(new Point(interPoint.X, interPoint.Y - offset), true, true);
     247                            //    context.QuadraticBezierTo(new Point(interPoint.X + offset, interPoint.Y), new Point(interPoint.X, interPoint.Y + offset), true, true);
     248                            //    break;
     249                            //case DirSort.Y_DESC:
     250                            //    context.LineTo(new Point(interPoint.X, interPoint.Y + offset), true, true);
     251                            //    context.QuadraticBezierTo(new Point(interPoint.X + offset, interPoint.Y), new Point(interPoint.X, interPoint.Y - offset), true, true);
     252                            //    break;
    243253                        }
    244254                    }
     
    283293
    284294        #endregion
     295
     296        internal void Reset()
     297        {
     298            Color color = ColorHelper.GetColor(Model.ConnectionType);
     299            Stroke = new SolidColorBrush(color);
     300        }
    285301    }
    286302}
Note: See TracChangeset for help on using the changeset viewer.