private void BtnMRAddSnapPoint_Click(object sender, RoutedEventArgs e) { try { double offset = Convert.ToDouble(txtMRSnapPointOffset.Text); double interval = Convert.ToDouble(txtMRSnapPointInterval.Text); double start = Convert.ToDouble(txtMRSnapPointStart.Text); double end = Convert.ToDouble(txtMRSnapPointEnd.Text); RepeatedScrollSnapPoint newSnapPoint = new RepeatedScrollSnapPoint(offset, interval, start, end, (ScrollSnapPointsAlignment)cmbMRSnapPointAlignment.SelectedIndex); Color fillColor = GetNewColor(); ScrollerTestHooks.SetSnapPointVisualizationColor(newSnapPoint, fillColor); markupScroller.VerticalSnapPoints.Add(newSnapPoint); double value = GetFirstRepeatedSnapPoint(offset, interval, start); List <double> values = new List <double>(); while (value <= end) { values.Add(value); value += interval; } FillSnapPoint(values, start, end, fillColor); FixConsolidatedView(); } catch (Exception ex) { this.fullLogs.Add(ex.ToString()); txtExceptionReport.Text = ex.ToString(); } }
private void BtnORAddSnapPoint_Click(object sender, RoutedEventArgs e) { try { double offset = Convert.ToDouble(txtORSnapPointOffset.Text); double interval = Convert.ToDouble(txtORSnapPointInterval.Text); double range = Convert.ToDouble(txtORApplicableRange.Text); double start = Convert.ToDouble(txtORSnapPointStart.Text); double end = Convert.ToDouble(txtORSnapPointEnd.Text); RepeatedScrollSnapPoint newSnapPoint = new RepeatedScrollSnapPoint(offset, interval, start, end, range, ScrollSnapPointsAlignment.Near); Color fillColor = GetNewColor(); ScrollerTestHooks.SetSnapPointVisualizationColor(newSnapPoint, fillColor); markupScroller.VerticalSnapPoints.Add(newSnapPoint); double value = GetFirstRepeatedSnapPoint(offset, interval, start); int minColumn = FillSnapPoint(new List <double>(), start, end, fillColor); while (value <= end) { FillSnapPoint(new List <double> { value }, Math.Max(start, value - range), Math.Min(end, value + range), fillColor, minColumn); value += interval; } FixConsolidatedView(); } catch (Exception ex) { this.fullLogs.Add(ex.ToString()); txtExceptionReport.Text = ex.ToString(); } }
private void ScrollerTestHooks_ContentLayoutOffsetYChanged(Scroller sender, object args) { float contentLayoutOffsetY = 0.0f; ScrollerTestHooks.GetContentLayoutOffsetY(sender, out contentLayoutOffsetY); txtScrollerContentLayoutOffsetY.Text = contentLayoutOffsetY.ToString(); }
private void Scroller_ScrollCompleted(Scroller sender, ScrollCompletedEventArgs args) { if (chkLogScrollerEvents.IsChecked == true) { ScrollerViewChangeResult result = ScrollerTestHooks.GetScrollCompletedResult(args); AppendAsyncEventMessage("ScrollCompleted OffsetsChangeId=" + args.ScrollInfo.OffsetsChangeId + ", Result=" + result); } }
private void Scroller_ZoomCompleted(Scroller sender, ZoomCompletedEventArgs args) { ScrollerViewChangeResult result = ScrollerTestHooks.GetZoomCompletedResult(args); this.fullLogs.Add(sender.Name + " ZoomCompleted ZoomFactorChangeId=" + args.ZoomInfo.ZoomFactorChangeId + ", Result=" + result); if (this.scroller52ZoomFactorChangeId == args.ZoomInfo.ZoomFactorChangeId) { this.txtResetStatus.Text = "Views reset"; } }
private void BtnSetZoomFactorChangeVelocityParameters_Click(object sender, RoutedEventArgs e) { try { ScrollerTestHooks.SetZoomFactorChangeVelocityParameters( Convert.ToInt32(txtZoomFactorChangeMillisecondsPerUnit.Text), Convert.ToInt32(txtZoomFactorChangeMinMilliseconds.Text), Convert.ToInt32(txtZoomFactorChangeMaxMilliseconds.Text)); } catch { } }
private void BtnSetOffsetsChangeVelocityParameters_Click(object sender, RoutedEventArgs e) { try { ScrollerTestHooks.SetOffsetsChangeVelocityParameters( Convert.ToInt32(txtOffsetsChangeMillisecondsPerUnit.Text), Convert.ToInt32(txtOffsetsChangeMinMilliseconds.Text), Convert.ToInt32(txtOffsetsChangeMaxMilliseconds.Text)); } catch (Exception ex) { tbException.Text = ex.ToString(); } }
private void Scroller_ScrollCompleted(Scroller sender, ScrollCompletedEventArgs args) { string senderId = "." + sender.Name; FrameworkElement parent = VisualTreeHelper.GetParent(sender) as FrameworkElement; if (parent != null) { senderId = parent.Name + senderId; } ScrollerViewChangeResult result = ScrollerTestHooks.GetScrollCompletedResult(args); this.fullLogs.Add(senderId + " ScrollCompleted. OffsetsChangeId=" + args.ScrollInfo.OffsetsChangeId + ", Result=" + result); }
private void FixConsolidatedView() { consolidatedView.Children.Clear(); foreach (ScrollSnapPointBase snapPoint in ScrollerTestHooks.GetConsolidatedVerticalScrollSnapPoints(markupScroller)) { Vector2 zone = ScrollerTestHooks.GetVerticalSnapPointActualApplicableZone(markupScroller, snapPoint); zone.X = Math.Max(0, zone.X); zone.Y = Math.Min(snapPointColumnHeight, zone.Y); Rectangle rangeRectangle = new Rectangle(); rangeRectangle.Width = snapPointColumnWidth - 1; rangeRectangle.Height = zone.Y - zone.X; rangeRectangle.Margin = new Thickness(0, zone.X, 0, 0); rangeRectangle.Fill = new SolidColorBrush(ScrollerTestHooks.GetSnapPointVisualizationColor(snapPoint)); rangeRectangle.VerticalAlignment = VerticalAlignment.Top; consolidatedView.Children.Add(rangeRectangle); } }
private void Scroller_ZoomCompleted(Scroller sender, ZoomCompletedEventArgs args) { string senderId = "." + sender.Name; FrameworkElement parent = VisualTreeHelper.GetParent(sender) as FrameworkElement; if (parent != null) { senderId = parent.Name + senderId; } ScrollerViewChangeResult result = ScrollerTestHooks.GetZoomCompletedResult(args); this.fullLogs.Add(senderId + " ZoomCompleted. ZoomFactorChangeId=" + args.ZoomInfo.ZoomFactorChangeId + ", Result=" + result); if (args.ZoomInfo.ZoomFactorChangeId == scrollViewer52ZoomFactorChangeId) { this.txtResetStatus.Text = "Views reset"; scrollViewer52ZoomFactorChangeId = -1; } }
private void BtnMIAddSnapPoint_Click(object sender, RoutedEventArgs e) { try { double value = Convert.ToDouble(txtMISnapPointValue.Text); ScrollSnapPoint newSnapPoint = new ScrollSnapPoint(value, (ScrollSnapPointsAlignment)cmbMISnapPointAlignment.SelectedIndex); Color fillColor = GetNewColor(); ScrollerTestHooks.SetSnapPointVisualizationColor(newSnapPoint, fillColor); markupScroller.VerticalSnapPoints.Add(newSnapPoint); FillSnapPoint(new List <double> { value }, value, value, fillColor); FixConsolidatedView(); } catch (Exception ex) { this.fullLogs.Add(ex.ToString()); txtExceptionReport.Text = ex.ToString(); } }
private void BtnOIAddSnapPoint_Click(object sender, RoutedEventArgs e) { try { double value = Convert.ToDouble(txtOISnapPointValue.Text); double range = Convert.ToDouble(txtOIApplicableRange.Text); ScrollerSnapPointBase newSnapPoint = new ScrollerSnapPointIrregular(value, range, ScrollerSnapPointAlignment.Near); Color fillColor = GetNewColor(); ScrollerTestHooks.SetSnapPointVisualizationColor(newSnapPoint, fillColor); markupScroller.VerticalSnapPoints.Add(newSnapPoint); FillSnapPoint(new List <double> { value }, (value - range), (value + range), fillColor); FixConsolidatedView(); } catch (Exception ex) { this.fullLogs.Add(ex.ToString()); txtExceptionReport.Text = ex.ToString(); } }
public ScrollerPage() { #if !BUILD_WINDOWS LogController.InitializeLogging(); #endif this.InitializeComponent(); navigateToSimpleContents.Click += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollersWithSimpleContentsPage), 0); }; navigateToDynamic.Click += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerDynamicPage), 0); }; navigateToExpressionAnimationSources.Click += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerExpressionAnimationSourcesPage), 0); }; navigateToChainingAndRailing.Click += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerChainingAndRailingPage), 0); }; navigateToStackPanelAnchoring.Click += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerStackPanelAnchoringPage), 0); }; navigateToRepeaterAnchoring.Click += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerRepeaterAnchoringPage), 0); }; navigateToSnapPoints.Click += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerSnapPointsPage), 0); }; navigateToBringIntoView.Click += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerBringIntoViewPage), 0); }; navigateToManipulationMode.Click += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerManipulationModePage), 0); }; navigateToAccessibility.Click += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerAccessibilityPage), 0); }; navigateToSimpleScrollControllers.Click += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerWithSimpleScrollControllersPage), 0); }; navigateToCompositionScrollControllers.Click += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerWithCompositionScrollControllersPage), 0); }; navigateToBiDirectionalScrollController.Click += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerWithBiDirectionalScrollControllerPage), 0); }; navigateToLeakDetection.Click += delegate { Frame.NavigateWithoutAnimation(typeof(ScrollerLeakDetectionPage), 0); }; try { int millisecondsPerUnit; int minMilliseconds; int maxMilliseconds; ScrollerTestHooks.GetOffsetsChangeVelocityParameters( out millisecondsPerUnit, out minMilliseconds, out maxMilliseconds); txtOffsetsChangeMillisecondsPerUnit.Text = millisecondsPerUnit.ToString(); txtOffsetsChangeMinMilliseconds.Text = minMilliseconds.ToString(); txtOffsetsChangeMaxMilliseconds.Text = maxMilliseconds.ToString(); ScrollerTestHooks.GetZoomFactorChangeVelocityParameters( out millisecondsPerUnit, out minMilliseconds, out maxMilliseconds); txtZoomFactorChangeMillisecondsPerUnit.Text = millisecondsPerUnit.ToString(); txtZoomFactorChangeMinMilliseconds.Text = minMilliseconds.ToString(); txtZoomFactorChangeMaxMilliseconds.Text = maxMilliseconds.ToString(); switch (ScrollerTestHooks.MouseWheelDeltaForVelocityUnit) { case 15: cmbMouseWheelDeltaForVelocityUnit.SelectedIndex = 0; break; case 30: cmbMouseWheelDeltaForVelocityUnit.SelectedIndex = 1; break; case 60: cmbMouseWheelDeltaForVelocityUnit.SelectedIndex = 2; break; case 90: cmbMouseWheelDeltaForVelocityUnit.SelectedIndex = 3; break; case 120: cmbMouseWheelDeltaForVelocityUnit.SelectedIndex = 4; break; } txtMouseWheelInertiaDecayRate.Text = ScrollerTestHooks.MouseWheelInertiaDecayRate.ToString(); txtMouseWheelScrollLines.Text = ScrollerTestHooks.MouseWheelScrollLines.ToString(); txtMouseWheelScrollChars.Text = ScrollerTestHooks.MouseWheelScrollChars.ToString(); chkIsInteractionTrackerPointerWheelRedirectionEnabled.IsChecked = ScrollerTestHooks.IsInteractionTrackerPointerWheelRedirectionEnabled; } catch (Exception ex) { tbException.Text = ex.ToString(); } }
public void CanShareSnapPointsInMultipleCollections() { Scroller scroller1 = null; Scroller scroller2 = null; Scroller scroller3 = null; ScrollSnapPoint scrollSnapPoint1 = null; ScrollSnapPoint scrollSnapPoint2 = null; ScrollSnapPoint scrollSnapPoint3 = null; RepeatedScrollSnapPoint repeatedScrollSnapPoint1 = null; RepeatedScrollSnapPoint repeatedScrollSnapPoint2 = null; RepeatedScrollSnapPoint repeatedScrollSnapPoint3 = null; ZoomSnapPoint zoomSnapPoint1 = null; ZoomSnapPoint zoomSnapPoint2 = null; ZoomSnapPoint zoomSnapPoint3 = null; RunOnUIThread.Execute(() => { scroller1 = new Scroller(); scroller2 = new Scroller(); scroller3 = new Scroller(); scrollSnapPoint1 = new ScrollSnapPoint(snapPointValue: 10, alignment: ScrollSnapPointsAlignment.Near); scrollSnapPoint2 = new ScrollSnapPoint(snapPointValue: 20, alignment: ScrollSnapPointsAlignment.Near); scrollSnapPoint3 = new ScrollSnapPoint(snapPointValue: 30, alignment: ScrollSnapPointsAlignment.Near); repeatedScrollSnapPoint1 = new RepeatedScrollSnapPoint(offset: 10, interval: 10, start: 10, end: 100, alignment: ScrollSnapPointsAlignment.Near); repeatedScrollSnapPoint2 = new RepeatedScrollSnapPoint(offset: 200, interval: 10, start: 110, end: 200, alignment: ScrollSnapPointsAlignment.Near); repeatedScrollSnapPoint3 = new RepeatedScrollSnapPoint(offset: 300, interval: 10, start: 210, end: 300, alignment: ScrollSnapPointsAlignment.Near); zoomSnapPoint1 = new ZoomSnapPoint(snapPointValue: 1); zoomSnapPoint2 = new ZoomSnapPoint(snapPointValue: 2); zoomSnapPoint3 = new ZoomSnapPoint(snapPointValue: 3); scroller1.HorizontalSnapPoints.Add(scrollSnapPoint1); scroller1.HorizontalSnapPoints.Add(scrollSnapPoint2); scroller1.VerticalSnapPoints.Add(scrollSnapPoint1); scroller1.VerticalSnapPoints.Add(scrollSnapPoint3); scroller2.HorizontalSnapPoints.Add(repeatedScrollSnapPoint1); scroller2.HorizontalSnapPoints.Add(repeatedScrollSnapPoint2); scroller2.VerticalSnapPoints.Add(repeatedScrollSnapPoint1); scroller2.VerticalSnapPoints.Add(repeatedScrollSnapPoint3); scroller1.ZoomSnapPoints.Add(zoomSnapPoint1); scroller1.ZoomSnapPoints.Add(zoomSnapPoint2); scroller2.ZoomSnapPoints.Add(zoomSnapPoint1); scroller2.ZoomSnapPoints.Add(zoomSnapPoint3); scroller3.HorizontalSnapPoints.Add(scrollSnapPoint1); scroller3.HorizontalSnapPoints.Add(scrollSnapPoint1); }); IdleSynchronizer.Wait(); RunOnUIThread.Execute(() => { Vector2 horizontalScrollSnapPoint11ApplicableZone = ScrollerTestHooks.GetHorizontalSnapPointActualApplicableZone(scroller1, scrollSnapPoint1); Vector2 verticalScrollSnapPoint11ApplicableZone = ScrollerTestHooks.GetVerticalSnapPointActualApplicableZone(scroller1, scrollSnapPoint1); Log.Comment("horizontalScrollSnapPoint11ApplicableZone=" + horizontalScrollSnapPoint11ApplicableZone.ToString()); Log.Comment("verticalScrollSnapPoint11ApplicableZone=" + verticalScrollSnapPoint11ApplicableZone.ToString()); Vector2 horizontalScrollSnapPoint21ApplicableZone = ScrollerTestHooks.GetHorizontalSnapPointActualApplicableZone(scroller2, repeatedScrollSnapPoint1); Vector2 verticalScrollSnapPoint21ApplicableZone = ScrollerTestHooks.GetVerticalSnapPointActualApplicableZone(scroller2, repeatedScrollSnapPoint1); Log.Comment("horizontalScrollSnapPoint21ApplicableZone=" + horizontalScrollSnapPoint21ApplicableZone.ToString()); Log.Comment("verticalScrollSnapPoint21ApplicableZone=" + verticalScrollSnapPoint21ApplicableZone.ToString()); Vector2 zoomSnapPoint11ApplicableZone = ScrollerTestHooks.GetZoomSnapPointActualApplicableZone(scroller1, zoomSnapPoint1); Vector2 zoomSnapPoint21ApplicableZone = ScrollerTestHooks.GetZoomSnapPointActualApplicableZone(scroller2, zoomSnapPoint1); Log.Comment("zoomSnapPoint11ApplicableZone=" + zoomSnapPoint11ApplicableZone.ToString()); Log.Comment("zoomSnapPoint21ApplicableZone=" + zoomSnapPoint21ApplicableZone.ToString()); int combinationCount11 = ScrollerTestHooks.GetHorizontalSnapPointCombinationCount(scroller1, scrollSnapPoint1); int combinationCount31 = ScrollerTestHooks.GetHorizontalSnapPointCombinationCount(scroller3, scrollSnapPoint1); Log.Comment("combinationCount11=" + combinationCount11); Log.Comment("combinationCount31=" + combinationCount31); Log.Comment("Expecting different applicable zones for ScrollSnapPoint in horizontal and vertical collections"); Verify.AreEqual <float>(15.0f, horizontalScrollSnapPoint11ApplicableZone.Y); Verify.AreEqual <float>(20.0f, verticalScrollSnapPoint11ApplicableZone.Y); Log.Comment("Expecting identical applicable zones for RepeatedScrollSnapPoint in horizontal and vertical collections"); Verify.AreEqual <float>(10.0f, horizontalScrollSnapPoint21ApplicableZone.X); Verify.AreEqual <float>(10.0f, verticalScrollSnapPoint21ApplicableZone.X); Verify.AreEqual <float>(100.0f, horizontalScrollSnapPoint21ApplicableZone.Y); Verify.AreEqual <float>(100.0f, verticalScrollSnapPoint21ApplicableZone.Y); Log.Comment("Expecting different applicable zones for ZoomSnapPoint in two zoom collections"); Verify.AreEqual <float>(1.5f, zoomSnapPoint11ApplicableZone.Y); Verify.AreEqual <float>(2.0f, zoomSnapPoint21ApplicableZone.Y); Log.Comment("Expecting different combination counts for ScrollSnapPoint in two horizontal collections"); Verify.AreEqual <int>(0, combinationCount11); Verify.AreEqual <int>(1, combinationCount31); }); }
private void Scroller_ScrollCompleted(Scroller sender, ScrollCompletedEventArgs args) { ScrollerViewChangeResult result = ScrollerTestHooks.GetScrollCompletedResult(args); AppendAsyncEventMessage("ScrollCompleted Scroller=" + sender.Name + ", OffsetsChangeId=" + args.ScrollInfo.OffsetsChangeId + ", Result=" + result); }
private void Scroller_ScrollCompleted(Scroller sender, ScrollCompletedEventArgs args) { ScrollerViewChangeResult result = ScrollerTestHooks.GetScrollCompletedResult(args); this.fullLogs.Add(sender.Name + " ScrollCompleted OffsetsChangeId=" + args.ScrollInfo.OffsetsChangeId + ", Result=" + result); }