Ejemplo n.º 1
0
 public static IMouseDataSource BindLocalDragger(
     this IMouseDataSource source, ILocalDragger <Point> dragger)
 {
     source.MouseMoved += dragger.NewPoint;
     dragger.NewPoint(MouseMessageType.Down, source.InitialPoint);
     return(source);
 }
Ejemplo n.º 2
0
 public KeySwitcherDragger(IKeyboardQuery keyboard, ModifierKeys activatingKeys,
                           ILocalDragger <T> pressedTarget, ILocalDragger <T> defaultTarget)
 {
     this.keyboard       = keyboard;
     this.pressedTarget  = pressedTarget;
     this.defaultTarget  = defaultTarget;
     this.activatingKeys = activatingKeys;
 }
Ejemplo n.º 3
0
 public static ILocalDragger <Point> RectToCircle(
     Point origin, ILocalDragger <CircularPoint> target) =>
 RectToCircle(origin, new Vector(1, 0), target);
Ejemplo n.º 4
0
 public MouseUpCircleSnapper(int numPoints, double width, ILocalDragger <CircularPoint> target) :
     base(numPoints, width, target)
 {
 }
Ejemplo n.º 5
0
 private static ILocalDragger <Point> FieldDragger(
     IKeyboardQuery keyboard, Point initialPoint, ILocalDragger <Point> target) =>
 InitialPoint(initialPoint,
              OnKey(keyboard, ModifierKeys.Shift, i => new RestrictToAxis(i),
                    OnKey(keyboard, ModifierKeys.Alt, i => GridSnapping(5, i), target)));
Ejemplo n.º 6
0
 private static ILocalDragger <Point> FieldDragger(Point initialPoint, ILocalDragger <Point> target) =>
 FieldDragger(new KeyboardQuery(), initialPoint, target);
Ejemplo n.º 7
0
 public static ILocalDragger <T> OnKey <T>(
     ModifierKeys modifier, Func <ILocalDragger <T>, ILocalDragger <T> > whenPressed,
     ILocalDragger <T> unpressed) where T : struct =>
 OnKey <T>(new KeyboardQuery(), modifier, whenPressed, unpressed);
Ejemplo n.º 8
0
 public static ILocalDragger <Point> InitialPoint(Point origin, ILocalDragger <Point> target) =>
 new InitialPointDragger(origin, target);
Ejemplo n.º 9
0
 public static ILocalDragger <Point> Delta(ILocalDragger <Point> target) =>
 new DeltaDragger(target);
Ejemplo n.º 10
0
 public InitialPointDragger(Point origin, ILocalDragger <Point> target)
 {
     this.origin = origin;
     this.target = target;
 }
Ejemplo n.º 11
0
 public RestrictToAxis(ILocalDragger <Point> target)
 {
     this.target = target;
 }
Ejemplo n.º 12
0
 public UndoDragger(IUndoEngine undo, ILocalDragger <T> effector)
 {
     this.undo     = undo;
     this.effector = effector;
 }
Ejemplo n.º 13
0
 public MinimumDragger(double radius, ILocalDragger <Point> effector)
 {
     radiusSquared = radius * radius;
     this.effector = effector;
 }
Ejemplo n.º 14
0
 public static ILocalDragger <Point> RectToCircle(
     Point origin, Vector zero, ILocalDragger <CircularPoint> target) =>
 Action((type, pt) => target.NewPoint(type, CircularPoint.FromVectors(zero, pt - origin)));
Ejemplo n.º 15
0
 public DeltaDragger(ILocalDragger <Point> target)
 {
     this.target = target;
 }
Ejemplo n.º 16
0
 public static ILocalDragger <CircularPoint> SnapMouseUpToAngle(
     int snapPoints, double width, ILocalDragger <CircularPoint> target) =>
 new MouseUpCircleSnapper(snapPoints, width, target);
Ejemplo n.º 17
0
 public static ILocalDragger <Point> ConstrainToUnitSquare(ILocalDragger <Point> target) =>
 Constrain(new Rect(0, 0, 1, 1), target);
Ejemplo n.º 18
0
 public static ILocalDragger <Point> InitialPoint(
     double iX, double iY, ILocalDragger <Point> target) => InitialPoint(new Point(iX, iY), target);
Ejemplo n.º 19
0
 public static ILocalDragger <Point> Constrain(Rect bounds, ILocalDragger <Point> target) =>
 Transform(pt => bounds.ApplyConstraint(pt), target);
Ejemplo n.º 20
0
 public static ILocalDragger <Point> GridSnapping(double snapSize, ILocalDragger <Point> target) =>
 Action((type, point) => target.NewPoint(type,
                                         new Point(SnapToGrid(snapSize, point.X), SnapToGrid(snapSize, point.Y))));
Ejemplo n.º 21
0
 public static ILocalDragger <T> Undo <T>(IUndoEngine undo, ILocalDragger <T> effector)
     where T : struct =>
 new UndoDragger <T>(undo, effector);
Ejemplo n.º 22
0
 public static ILocalDragger <T> OnKey <T>(IKeyboardQuery keyboard,
                                           ModifierKeys modifier, Func <ILocalDragger <T>, ILocalDragger <T> > whenPressed,
                                           ILocalDragger <T> unpressed) where T : struct =>
 new KeySwitcherDragger <T>(keyboard, modifier, whenPressed(unpressed), unpressed);
Ejemplo n.º 23
0
 public static ILocalDragger <Point> MinimumDrag(ILocalDragger <Point> effector) =>
 MinimumDrag(SystemParameters.MinimumVerticalDragDistance, effector);
Ejemplo n.º 24
0
 public static ILocalDragger <Point> FieldDragger(IKeyboardQuery keyboard,
                                                  double initialX, double initialY, ILocalDragger <Point> target) =>
 FieldDragger(keyboard, new Point(initialX, initialY), target);
Ejemplo n.º 25
0
 public static ILocalDragger <Point> MinimumDrag(double radius, ILocalDragger <Point> effector) =>
 new MinimumDragger(radius, effector);
Ejemplo n.º 26
0
 public static ILocalDragger <Point> Constrain(
     double minX, double maxX, double minY, double maxY, ILocalDragger <Point> target) =>
 Constrain(new Rect(new Point(minX, minY), new Point(maxX, maxY)), target);
Ejemplo n.º 27
0
 public CircleSnapper(int numPoints, double width, ILocalDragger <CircularPoint> target)
 {
     this.target = target;
     anchors     = ComputeAnchors(numPoints);
     halfWidth   = width / 2;
 }