예제 #1
0
        public MouseStatistics(ActiveTime total, TimePerHour activityPerHour, double screenMapScale)
        {
            Stats = new MouseStats();
            Stats.ClicksPerHour     = new CountPerHour(activityPerHour);
            Stats.DistancePerHour   = new CountPerHour(activityPerHour);
            Stats.MouseActivity     = new ActiveTime(total);
            Stats.DoubleClickTime   = new Histogram(0.01);
            Stats.MovementSpeed     = new Histogram(50);
            Stats.MovementDirection = new Histogram(45);

            var w = (int)(SystemParameters.VirtualScreenWidth / screenMapScale);

            ClickMap       = new ScreenBitmap(w);
            DoubleClickMap = new ScreenBitmap(w);
            TraceMap       = new ScreenBitmap(w);
            DragTraceMap   = new ScreenBitmap(w);

            // Get the top left corner of the screen
            Point origin = new Point();

            foreach (System.Windows.Forms.Screen s in System.Windows.Forms.Screen.AllScreens)
            {
                origin.X = Math.Min(origin.X, s.Bounds.X);
                origin.Y = Math.Min(origin.Y, s.Bounds.Y);
            }

            Stats.Origin = origin;
        }
예제 #2
0
 public KeyboardStatistics(ActiveTime total, TimePerHour activityPerHour)
 {
     Stats                  = new KeyboardStats();
     Stats.KeyUsage         = new Dictionary <string, int>();
     Stats.KeyboardActivity = new ActiveTime(total);
     Stats.KeyCountPerHour  = new CountPerHour(activityPerHour);
     TypingSpeed            = new Histogram(25);
 }
예제 #3
0
 public Statistics(ActiveTime reference)
 {
     Activity = new ActiveTime(reference);
     ActivityPerHour = new TimePerHour();
     KeyboardStatistics = new KeyboardStatistics(Activity, ActivityPerHour);
     MouseStatistics = new MouseStatistics(Activity, ActivityPerHour, 1);
     InterruptionsPerHour = new CountPerHour();
     WindowSwitchesPerHour = new CountPerHour();
 }
예제 #4
0
 public Statistics(ActiveTime reference)
 {
     Stats                       = new GenericStats();
     Stats.Activity              = new ActiveTime(reference);
     Stats.ActivityPerHour       = new TimePerHour();
     KeyboardStatistics          = new KeyboardStatistics(Stats.Activity, Stats.ActivityPerHour);
     MouseStatistics             = new MouseStatistics(Stats.Activity, Stats.ActivityPerHour, SystemParameters.VirtualScreenWidth / SystemParameters.VirtualScreenHeight);
     Stats.InterruptionsPerHour  = new CountPerHour();
     Stats.WindowSwitchesPerHour = new CountPerHour();
 }
예제 #5
0
        public MouseStatistics(ActiveTime total, TimePerHour activityPerHour, double screenMapScale)
        {
            ClicksPerHour = new CountPerHour(activityPerHour);
            DistancePerHour = new CountPerHour(activityPerHour);
            MouseActivity = new ActiveTime(total);
            DoubleClickTime = new Histogram(0.01);
            MovementSpeed = new Histogram(50);
            MovementDirection = new Histogram(45);

            var w = (int)(SystemParameters.PrimaryScreenWidth / screenMapScale);
            ClickMap = new ScreenBitmap(w);
            DoubleClickMap = new ScreenBitmap(w);
            TraceMap = new ScreenBitmap(w);
            DragTraceMap = new ScreenBitmap(w);
        }
예제 #6
0
        public void InitStatistics()
        {
            lock (syncLock)
            {
                FirstActivity = new DateTime(0);

                RecordingStarted  = DateTime.Now;
                Recording         = new ActiveTime();
                Statistics        = new Statistics(Recording);
                CurrentStatistics = Statistics;

                ApplicationUsage = new Dictionary <string, Statistics>();

                AddApplications();

                lastPoint = WindowHelper.GetCursorPos();
            }
        }
예제 #7
0
        private void InitStatistics()
        {
            FirstActivity = new DateTime(0);

            RecordingStarted = DateTime.Now;
            Recording = new ActiveTime();
            Statistics = new Statistics(Recording);
            CurrentStatistics = Statistics;

            ApplicationUsage = new Dictionary<string, Statistics>();

            AddApplications();

            lastPoint = WindowHelper.GetCursorPos();
        }
예제 #8
0
 public ActiveTime(ActiveTime relativeTo)
     : this()
 {
     RelativeTo = relativeTo;
 }
예제 #9
0
 public ActiveTime(ActiveTime relativeTo)
     : this()
 {
     RelativeTo = relativeTo;
 }