aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.RemoteDesktop/BitmapComparerResult.cs
blob: 1ebd4a52966f7a853357efcbefff6b53673f1c8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Tango.RemoteDesktop
{
    /// <summary>
    /// Represents an <see cref="IBitmapComparer{TFrame}.CreateDifference(System.Drawing.Bitmap, System.Drawing.Bitmap)"/> result.
    /// </summary>
    /// <typeparam name="TFrame">The type of the frame.</typeparam>
    public class BitmapComparerResult<TFrame> where TFrame : IFrame
    {
        /// <summary>
        /// Gets or sets the difference frame.
        /// </summary>
        public TFrame Frame { get; set; }

        /// <summary>
        /// Gets or sets the number of differences.
        /// </summary>
        public uint DifferenceCount { get; set; }
    }
}
pan>public static class MouseController { [Flags] public enum MouseEventFlags { LeftDown = 0x00000002, LeftUp = 0x00000004, MiddleDown = 0x00000020, MiddleUp = 0x00000040, Move = 0x00000001, Absolute = 0x00008000, RightDown = 0x00000008, RightUp = 0x00000010 } [DllImport("user32.dll", EntryPoint = "SetCursorPos")] [return: MarshalAs(UnmanagedType.Bool)] private static extern bool SetCursorPos(int x, int y); [DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] private static extern bool GetCursorPos(out MousePoint lpMousePoint); [DllImport("user32.dll")] private static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, int dwExtraInfo); private static InputSimulator simulator; static MouseController() { simulator = new InputSimulator(); } public static void SetCursorPosition(int x, int y) { SetCursorPos(x, y); } public static void SetCursorPosition(MousePoint point) { SetCursorPos(point.X, point.Y); } public static MousePoint GetCursorPosition() { MousePoint currentMousePoint; var gotPoint = GetCursorPos(out currentMousePoint); if (!gotPoint) { currentMousePoint = new MousePoint(0, 0); } return currentMousePoint; } public static void MouseEvent(MouseEventFlags value) { MousePoint position = GetCursorPosition(); mouse_event ((int)value, position.X, position.Y, 0, 0) ; } public static void DoubleClick() { simulator.Mouse.LeftButtonDoubleClick(); } public static void Scroll(int delta) { simulator.Mouse.VerticalScroll(delta); } [StructLayout(LayoutKind.Sequential)] public struct MousePoint { public int X; public int Y; public MousePoint(int x, int y) { X = x; Y = y; } } } }