private void AnimatedIconTestHooks_LastAnimationSegmentChanged(AnimatedIcon sender, object args) { if (sender == GetAnimatedIcon()) { m_transitionTextBlock.Text = AnimatedIconTestHooks.GetLastAnimationSegment(sender); } }
private void AnimatedIconTestHooks_LastAnimationSegmentChanged(AnimatedIcon sender, object args) { var rootGrid = VisualTreeHelper.GetChild(LargeAnimatedCheckbox, 0); var grid = VisualTreeHelper.GetChild(rootGrid, 0); var CheckIcon = VisualTreeHelper.GetChild(grid, 1) as AnimatedIcon; if (sender == CheckIcon) { LastTransitionTextBlock.Text = AnimatedIconTestHooks.GetLastAnimationSegment(CheckIcon); } }
private void AnimatedIconPage_Loaded(object sender, RoutedEventArgs e) { AnimatedIconTestHooks.SetAnimationQueueBehavior(this.DropDownIcon_Cut.GetAnimatedIcon(), AnimatedIconAnimationQueueBehavior.Cut); AnimatedIconTestHooks.SetAnimationQueueBehavior(this.DropDownIcon_Queue.GetAnimatedIcon(), AnimatedIconAnimationQueueBehavior.QueueOne); AnimatedIconTestHooks.SetAnimationQueueBehavior(this.DropDownIcon_SpeedUpQueue.GetAnimatedIcon(), AnimatedIconAnimationQueueBehavior.SpeedUpQueueOne); AnimatedIconTestHooks.SetAnimationQueueBehavior(this.HamburgerIcon_Cut.GetAnimatedIcon(), AnimatedIconAnimationQueueBehavior.Cut); AnimatedIconTestHooks.SetAnimationQueueBehavior(this.HamburgerIcon_Queue.GetAnimatedIcon(), AnimatedIconAnimationQueueBehavior.QueueOne); AnimatedIconTestHooks.SetAnimationQueueBehavior(this.HamburgerIcon_SpeedUpQueue.GetAnimatedIcon(), AnimatedIconAnimationQueueBehavior.SpeedUpQueueOne); AnimatedIconTestHooks.SetAnimationQueueBehavior(this.SettingsIcon_Cut.GetAnimatedIcon(), AnimatedIconAnimationQueueBehavior.Cut); AnimatedIconTestHooks.SetAnimationQueueBehavior(this.SettingsIcon_Queue.GetAnimatedIcon(), AnimatedIconAnimationQueueBehavior.QueueOne); AnimatedIconTestHooks.SetAnimationQueueBehavior(this.SettingsIcon_SpeedUpQueue.GetAnimatedIcon(), AnimatedIconAnimationQueueBehavior.SpeedUpQueueOne); AnimatedIconTestHooks.SetAnimationQueueBehavior(this.BackIcon_Cut.GetAnimatedIcon(), AnimatedIconAnimationQueueBehavior.Cut); AnimatedIconTestHooks.SetAnimationQueueBehavior(this.BackIcon_Queue.GetAnimatedIcon(), AnimatedIconAnimationQueueBehavior.QueueOne); AnimatedIconTestHooks.SetAnimationQueueBehavior(this.BackIcon_SpeedUpQueue.GetAnimatedIcon(), AnimatedIconAnimationQueueBehavior.SpeedUpQueueOne); AnimatedIconTestHooks.SetAnimationQueueBehavior(this.SearchIcon_Cut.GetAnimatedIcon(), AnimatedIconAnimationQueueBehavior.Cut); AnimatedIconTestHooks.SetAnimationQueueBehavior(this.SearchIcon_Queue.GetAnimatedIcon(), AnimatedIconAnimationQueueBehavior.QueueOne); AnimatedIconTestHooks.SetAnimationQueueBehavior(this.SearchIcon_SpeedUpQueue.GetAnimatedIcon(), AnimatedIconAnimationQueueBehavior.SpeedUpQueueOne); }
private void Slider_ValueChanged(object sender, RangeBaseValueChangedEventArgs e) { if (this.DropDownIcon_Cut != null) { AnimatedIconTestHooks.SetDurationMultiplier(this.DropDownIcon_Cut.GetAnimatedIcon(), (float)e.NewValue); } if (this.DropDownIcon_Queue != null) { AnimatedIconTestHooks.SetDurationMultiplier(this.DropDownIcon_Queue.GetAnimatedIcon(), (float)e.NewValue); } if (this.DropDownIcon_SpeedUpQueue != null) { AnimatedIconTestHooks.SetDurationMultiplier(this.DropDownIcon_SpeedUpQueue.GetAnimatedIcon(), (float)e.NewValue); } if (this.DropDownIconNavView_Cut != null) { AnimatedIconTestHooks.SetDurationMultiplier(this.DropDownIconNavView_Cut.GetAnimatedIcon(), (float)e.NewValue); } if (this.DropDownIconNavView_Queue != null) { AnimatedIconTestHooks.SetDurationMultiplier(this.DropDownIconNavView_Queue.GetAnimatedIcon(), (float)e.NewValue); } if (this.DropDownIconNavView_SpeedUpQueue != null) { AnimatedIconTestHooks.SetDurationMultiplier(this.DropDownIconNavView_SpeedUpQueue.GetAnimatedIcon(), (float)e.NewValue); } if (this.SideChevron_Cut != null) { AnimatedIconTestHooks.SetDurationMultiplier(this.SideChevron_Cut.GetAnimatedIcon(), (float)e.NewValue); } if (this.SideChevron_Queue != null) { AnimatedIconTestHooks.SetDurationMultiplier(this.SideChevron_Queue.GetAnimatedIcon(), (float)e.NewValue); } if (this.SideChevron_SpeedUpQueue != null) { AnimatedIconTestHooks.SetDurationMultiplier(this.SideChevron_SpeedUpQueue.GetAnimatedIcon(), (float)e.NewValue); } if (this.HamburgerIcon_Cut != null) { AnimatedIconTestHooks.SetDurationMultiplier(this.HamburgerIcon_Cut.GetAnimatedIcon(), (float)e.NewValue); } if (this.HamburgerIcon_Queue != null) { AnimatedIconTestHooks.SetDurationMultiplier(this.HamburgerIcon_Queue.GetAnimatedIcon(), (float)e.NewValue); } if (this.HamburgerIcon_SpeedUpQueue != null) { AnimatedIconTestHooks.SetDurationMultiplier(this.HamburgerIcon_SpeedUpQueue.GetAnimatedIcon(), (float)e.NewValue); } if (this.SettingsIcon_Cut != null) { AnimatedIconTestHooks.SetDurationMultiplier(this.SettingsIcon_Cut.GetAnimatedIcon(), (float)e.NewValue); } if (this.SettingsIcon_Queue != null) { AnimatedIconTestHooks.SetDurationMultiplier(this.SettingsIcon_Queue.GetAnimatedIcon(), (float)e.NewValue); } if (this.SettingsIcon_SpeedUpQueue != null) { AnimatedIconTestHooks.SetDurationMultiplier(this.SettingsIcon_SpeedUpQueue.GetAnimatedIcon(), (float)e.NewValue); } if (this.BackIcon_Cut != null) { AnimatedIconTestHooks.SetDurationMultiplier(this.BackIcon_Cut.GetAnimatedIcon(), (float)e.NewValue); } if (this.BackIcon_Queue != null) { AnimatedIconTestHooks.SetDurationMultiplier(this.BackIcon_Queue.GetAnimatedIcon(), (float)e.NewValue); } if (this.BackIcon_SpeedUpQueue != null) { AnimatedIconTestHooks.SetDurationMultiplier(this.BackIcon_SpeedUpQueue.GetAnimatedIcon(), (float)e.NewValue); } if (this.SearchIcon_Cut != null) { AnimatedIconTestHooks.SetDurationMultiplier(this.SearchIcon_Cut.GetAnimatedIcon(), (float)e.NewValue); } if (this.SearchIcon_Queue != null) { AnimatedIconTestHooks.SetDurationMultiplier(this.SearchIcon_Queue.GetAnimatedIcon(), (float)e.NewValue); } if (this.SearchIcon_SpeedUpQueue != null) { AnimatedIconTestHooks.SetDurationMultiplier(this.SearchIcon_SpeedUpQueue.GetAnimatedIcon(), (float)e.NewValue); } if (this.AnimatedCheckbox != null) { var rootGrid = VisualTreeHelper.GetChild(AnimatedCheckbox, 0); var grid = VisualTreeHelper.GetChild(rootGrid, 0); var CheckIcon = VisualTreeHelper.GetChild(grid, 1) as AnimatedIcon; AnimatedIconTestHooks.SetDurationMultiplier(CheckIcon, (float)e.NewValue); } if (this.LargeAnimatedCheckbox != null) { var rootGrid = VisualTreeHelper.GetChild(LargeAnimatedCheckbox, 0); var grid = VisualTreeHelper.GetChild(rootGrid, 0); var CheckIcon = VisualTreeHelper.GetChild(grid, 1) as AnimatedIcon; AnimatedIconTestHooks.SetDurationMultiplier(CheckIcon, (float)e.NewValue); } }
public void TransitionFallbackLogic() { AnimatedIcon animatedIcon = null; var layoutUpdatedEvent = new AutoResetEvent(false); RunOnUIThread.Execute(() => { animatedIcon = new AnimatedIcon(); animatedIcon.Source = new MockIAnimatedIconSource2(); Content = animatedIcon; Content.UpdateLayout(); }); IdleSynchronizer.Wait(); RunOnUIThread.Execute(() => { animatedIcon.LayoutUpdated += AnimatedIcon_LayoutUpdated; AnimatedIcon.SetState(animatedIcon, "a"); Content.UpdateLayout(); }); IdleSynchronizer.Wait(); layoutUpdatedEvent.WaitOne(); RunOnUIThread.Execute(() => { layoutUpdatedEvent.Reset(); AnimatedIcon.SetState(animatedIcon, "b"); Content.UpdateLayout(); }); IdleSynchronizer.Wait(); layoutUpdatedEvent.WaitOne(); RunOnUIThread.Execute(() => { Verify.AreEqual("aTob_Start", AnimatedIconTestHooks.GetLastAnimationSegmentStart(animatedIcon)); Verify.AreEqual("aTob_End", AnimatedIconTestHooks.GetLastAnimationSegmentEnd(animatedIcon)); layoutUpdatedEvent.Reset(); AnimatedIcon.SetState(animatedIcon, "c"); Content.UpdateLayout(); }); IdleSynchronizer.Wait(); layoutUpdatedEvent.WaitOne(); RunOnUIThread.Execute(() => { Verify.AreEqual("bToc_Start", AnimatedIconTestHooks.GetLastAnimationSegmentStart(animatedIcon)); // bToc_End is undefined in MockIAnimatedIconSource2 Verify.AreEqual("", AnimatedIconTestHooks.GetLastAnimationSegmentEnd(animatedIcon)); layoutUpdatedEvent.Reset(); AnimatedIcon.SetState(animatedIcon, "d"); Content.UpdateLayout(); }); IdleSynchronizer.Wait(); layoutUpdatedEvent.WaitOne(); RunOnUIThread.Execute(() => { // cTod_Start is undefined in MockIAnimatedIconSource2 Verify.AreEqual("", AnimatedIconTestHooks.GetLastAnimationSegmentStart(animatedIcon)); Verify.AreEqual("cTod_End", AnimatedIconTestHooks.GetLastAnimationSegmentEnd(animatedIcon)); layoutUpdatedEvent.Reset(); AnimatedIcon.SetState(animatedIcon, "e"); Content.UpdateLayout(); }); IdleSynchronizer.Wait(); layoutUpdatedEvent.WaitOne(); RunOnUIThread.Execute(() => { // dToe_Start and dToe_End are undefined in MockIAnimatedIconSource2, the first backup is dToe Verify.AreEqual("", AnimatedIconTestHooks.GetLastAnimationSegmentStart(animatedIcon)); Verify.AreEqual("dToe", AnimatedIconTestHooks.GetLastAnimationSegmentEnd(animatedIcon)); layoutUpdatedEvent.Reset(); AnimatedIcon.SetState(animatedIcon, "f"); Content.UpdateLayout(); }); IdleSynchronizer.Wait(); layoutUpdatedEvent.WaitOne(); RunOnUIThread.Execute(() => { // eTof_Start, eTof_End, and eTof are undefined in MockIAnimatedIconSource2, the second backup is f Verify.AreEqual("", AnimatedIconTestHooks.GetLastAnimationSegmentStart(animatedIcon)); Verify.AreEqual("f", AnimatedIconTestHooks.GetLastAnimationSegmentEnd(animatedIcon)); layoutUpdatedEvent.Reset(); AnimatedIcon.SetState(animatedIcon, "b"); Content.UpdateLayout(); }); IdleSynchronizer.Wait(); layoutUpdatedEvent.WaitOne(); RunOnUIThread.Execute(() => { // fTob_Start, fTob_End, fTob and b are all undefined in MockIAnimatedIconSource2, the third backup is any // marker which ends with the string "Tob_End" Verify.AreEqual("", AnimatedIconTestHooks.GetLastAnimationSegmentStart(animatedIcon)); Verify.AreEqual("aTob_End", AnimatedIconTestHooks.GetLastAnimationSegmentEnd(animatedIcon)); layoutUpdatedEvent.Reset(); AnimatedIcon.SetState(animatedIcon, "0.12345"); Content.UpdateLayout(); }); IdleSynchronizer.Wait(); layoutUpdatedEvent.WaitOne(); RunOnUIThread.Execute(() => { // bTo0.12345_Start, bTo0.12345_End, bTo0.12345, and 0.12345 are all undefined in MockIAnimatedIconSource2, and // there are no markers which end with the string "To0.12345_End" so finally we attempt to interpret the state as // a float to get the position to animate to. Verify.AreEqual("", AnimatedIconTestHooks.GetLastAnimationSegmentStart(animatedIcon)); Verify.AreEqual("0.12345", AnimatedIconTestHooks.GetLastAnimationSegmentEnd(animatedIcon)); layoutUpdatedEvent.Reset(); AnimatedIcon.SetState(animatedIcon, "Failure"); Content.UpdateLayout(); }); IdleSynchronizer.Wait(); layoutUpdatedEvent.WaitOne(); RunOnUIThread.Execute(() => { // 0.12345ToFailure_Start, 0.12345ToFailure_End, 0.12345ToFailure, and Failure are all undefined in MockIAnimatedIconSource2, and // there are no markers which end with the string "ToFailure_End" and Failure is not a float, so we have failed to find a marker. Verify.AreEqual("", AnimatedIconTestHooks.GetLastAnimationSegmentStart(animatedIcon)); Verify.AreEqual("0.0", AnimatedIconTestHooks.GetLastAnimationSegmentEnd(animatedIcon)); }); void AnimatedIcon_LayoutUpdated(object sender, object e) { layoutUpdatedEvent.Set(); } }