public void ResetStrokeWatcher() { var _StrokeWatcher = StrokeWatcher; StrokeWatcher = NewStrokeWatcher(); Debug.Print("StrokeWatcher was reset; {0} -> {1}", _StrokeWatcher.GetHashCode(), StrokeWatcher.GetHashCode()); LowPriorityTaskFactory.StartNew(() => { _StrokeWatcher.Dispose(); }); }
public StateGlobal(Config.UserConfig userConfig) { this.StrokeWatcherScheduler = new Threading.SingleThreadScheduler(ThreadPriority.AboveNormal); this.LowPriorityScheduler = new Threading.SingleThreadScheduler(ThreadPriority.Lowest); this.UserActionScheduler = new Threading.SingleThreadScheduler(); this.StrokeWatcherTaskFactory = new TaskFactory(StrokeWatcherScheduler); this.LowPriorityTaskFactory = new TaskFactory(LowPriorityScheduler); this.UserActionTaskFactory = new TaskFactory(UserActionScheduler); this.Config = userConfig; this.StrokeWatcher = NewStrokeWatcher(); }