예제 #1
0
        private Point GetReferencePoint(ClickPositions position, PointInfo actionPoint)
        {
            Point referencePoint;

            switch (position)
            {
            case ClickPositions.LastUp:
                referencePoint = actionPoint.Points.Last().Last();
                break;

            case ClickPositions.LastDown:
                referencePoint = actionPoint.Points.Last().First();
                break;

            case ClickPositions.FirstUp:
                referencePoint = actionPoint.Points.First().Last();
                break;

            case ClickPositions.FirstDown:
                referencePoint = actionPoint.Points.First().First();
                break;

            default:
                referencePoint = Cursor.Position;
                break;
            }
            return(referencePoint);
        }
예제 #2
0
 private async Task RepeatEndlessRecording()
 {
     if (ClickPositions.Any())
     {
         while (IsRepeating)
         {
             await RepeatRecording();
         }
     }
 }
예제 #3
0
 public ClickerViewModell() : base("Clicky")
 {
     if (File.Exists("paks2.json"))
     {
         var jsonString = File.ReadAllText("paks2.json");
         foreach (var clicky in JsonConvert.DeserializeObject <List <ClickyThingy> >(jsonString))
         {
             ClickPositions.Add(clicky);
         }
     }
     Messenger.Default.Register <TaskEnum>(this, enu => App.Current.Dispatcher.Invoke(() => HandleMessenger(enu)));
 }
예제 #4
0
 private void mh_MouseDownEvent(object sender, MouseEventArgs e)
 {
     if (e.Button == MouseButtons.Left)
     {
         Stopwatch.Stop();
         ClickPositions.Add(new ClickyThingy()
         {
             Location = e.Location, Delay = (int)Stopwatch.ElapsedMilliseconds
         });
         Stopwatch.Reset();
         Stopwatch.Start();
     }
 }
예제 #5
0
 public async Task RepeatRecording()
 {
     if (recording)
     {
         UnHookMouse();
     }
     foreach (var click in ClickPositions.Where(w => w.Enabled))
     {
         if (click.Repeats == 0)
         {
             await MouseHook.ClickWithMouse(click);
         }
         else
         {
             foreach (var index in Enumerable.Range(0, click.Repeats - 1))
             {
                 await MouseHook.ClickWithMouse(click);
             }
         }
     }
 }
예제 #6
0
 private Point GetReferencePoint(ClickPositions position, PointInfo actionPoint)
 {
     Point referencePoint;
     switch (position)
     {
         case ClickPositions.LastUp:
             referencePoint = actionPoint.Points.Last().Last();
             break;
         case ClickPositions.LastDown:
             referencePoint = actionPoint.Points.Last().First();
             break;
         case ClickPositions.FirstUp:
             referencePoint = actionPoint.Points.First().Last();
             break;
         case ClickPositions.FirstDown:
             referencePoint = actionPoint.Points.First().First();
             break;
         default:
             referencePoint = Point.Empty;
             break;
     }
     return referencePoint;
 }
예제 #7
0
 private void ClearClicky()
 {
     ClickPositions.Clear();
     File.Delete("paks2.json");
 }