Пример #1
0
        /// <summary>
        /// Turns off auto-synchronize for the specified visualizer.
        /// </summary>
        /// <param name="visualizer"></param>
        private static void EndAutoSynchronize(TagVisualizer visualizer)
        {
            Debug.Assert(visualizer != null);
            Debug.Assert(visualizers.ContainsKey(visualizer), "Unknown visualizer");
            Debug.Assert(visualizers[visualizer], "Auto-synchronize was already turned off");
            Debug.Assert(autoSynchronizeCount > 0, "Auto-synchronize count is corrupt");

            // Make sure that this is the visualizer's thread, to be sure
            // to get the correct input manager
            visualizer.VerifyAccess();

            // Mark it as being un-tracked
            --autoSynchronizeCount;
            visualizers[visualizer] = false;

            // If it's the last one, stop tracking
            if (autoSynchronizeCount < 1)
            {
                InputManager.Current.HitTestInvalidatedAsync -= OnHitTestInvalidatedAsync;
            }
        }
Пример #2
0
        /// <summary>
        /// Turns on auto-synchronize for the specified visualizer.
        /// </summary>
        /// <param name="visualizer"></param>
        private static void BeginAutoSynchronize(TagVisualizer visualizer)
        {
            Debug.Assert(visualizer != null);
            Debug.Assert(visualizers.ContainsKey(visualizer), "Unknown visualizer");
            Debug.Assert(!visualizers[visualizer], "Auto-synchronize was already turned on");

            // Make sure that this is the visualizer's thread, to be sure
            // to get the correct input manager
            visualizer.VerifyAccess();

            // Mark it as being tracked
            ++autoSynchronizeCount;
            visualizers[visualizer] = true;

            // If it's the first one, activate tracking
            if (autoSynchronizeCount == 1)
            {
                InputManager.Current.HitTestInvalidatedAsync += OnHitTestInvalidatedAsync;
            }
        }