예제 #1
0
        static void ContinueTiltEffect(FrameworkElement element, ManipulationDeltaEventArgs e)
#endif
        {
#if WINDOWS_STORE
            var container = element;
#elif WINDOWS_PHONE
            var container = e.ManipulationContainer as FrameworkElement;
#endif

            if (container == null || element == null)
            {
                return;
            }

#if WINDOWS_STORE
            var tiltTouchPoint = e.GetCurrentPoint(element).Position;
#elif WINDOWS_PHONE
            var tiltTouchPoint = container.TransformToVisual(element).Transform(e.ManipulationOrigin);
#endif

            // If touch moved outside bounds of element, then pause the tilt
            // (but don't cancel it)
            if (new Rect(0, 0, _currentTiltElement.ActualWidth, _currentTiltElement.ActualHeight).Contains(tiltTouchPoint) != true)
            {
                PauseTiltEffect();
            }
            else
            {
                // Apply the updated tilt effect
                ApplyTiltEffect(_currentTiltElement, tiltTouchPoint, _currentTiltElementCenter);
            }
        }