protected override void OnApplyTemplate() { base.OnApplyTemplate(); if (AllowShadows) { FrameworkElement tb = (FrameworkElement)this.GetTemplateChild("TitleBackground"); FrameworkElement cr = (FrameworkElement)this.GetTemplateChild("ContentRoot"); CompositionFactory.SetThemeShadow(cr, 40, tb); } if (this.GetTemplateChild("BtnClose") is Button close) { close.Click -= Close_Click; close.Click += Close_Click; } if (this.GetTemplateChild("TitleBackground") is FrameworkElement f && IsWindowRoot) { TitleBarHelper.SetTitleBar(f); CoreApplication.GetCurrentView().TitleBar.ExtendViewIntoTitleBar = true; } OnTitleContentChanged(); }
void CreateBlurLayer() { var sprite = _rootVisual.Compositor.CreateSpriteVisual().LinkSize(this); sprite.Brush = CompositionFactory.CreateBlurEffectBrush(_rootVisual.Compositor, 5f); ShadowHost.GetContainerVisual().Children.InsertAtTop(sprite); }
public static void Main(string[] args) { var container = new UnityContainer(); CompositionFactory.Compose(container); Proto.Core.CompositionFactory.Compose(container); new Application(Eto.Platforms.Wpf).Run(new MainForm(container.Resolve <IMainFormViewModel>(), container.Resolve <ILogViewerControlFactory>())); }
public static void Main(string[] args) { SpinMeStyles.Set(OS.Windows); var container = CompositionFactory.GetContainer(); CompositionFactory.Compose(container); new Application(Eto.Platforms.Wpf).Run(new MainForm(container.Resolve <IPanelFactory>(), container.Resolve <IMainFormViewModel>())); }
private async void Button_Click(object sender, RoutedEventArgs e) { for (int i = 0; i < 11; i++) { var panel = new StackPanel { Orientation = Orientation.Horizontal, VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Center }; var heartLeft = new Image { Height = 50, Width = 24, Source = (SvgImageSource)this.Resources["LeftHeart"] }; var heartRight = new Image { Height = 50, Width = 24, Source = (SvgImageSource)this.Resources["LeftHeart"], RenderTransformOrigin = new Point(0.5, 0.5), RenderTransform = new CompositeTransform { ScaleX = -1, ScaleY = 1 }, Margin = new Thickness(-1, 0, 0, 0) }; panel.Children.Add(heartLeft); panel.Children.Add(heartRight); Root.Children.Add(panel); var c = CompositionFactory.CreateCenteringExpression(1, 0.5); //var hl = heartLeft.EnableCompositionTranslation().GetVisual(); //hl.StartAnimation(c); //hl.StartAnimation(CreateFlap(heartLeft)); //var hr = heartRight.EnableCompositionTranslation().GetVisual(); //hr.StartAnimation(c); //hr.StartAnimation(CreateFlap(heartRight)); panel.EnableCompositionTranslation(); PlayDie(panel, _rand.Next(2, 30) / 100d); _ = Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async() => { await Task.Delay(1000); Root.Children.Remove(panel); }); } }
public SunsetView() { this.InitializeComponent(); // 1. Init resources _rootVisual = this.GetVisual(); _rand = new Random(); var c = _rootVisual.Compositor; // 2. Create Brushes _grad = c.CreateLinearGradientBrush(); _grad.ColorStops.Add(c.CreateColorGradientStop(0, MediaExtensions.FromHex("#E500780A"))); _grad.ColorStops.Add(c.CreateColorGradientStop(0.5f, MediaExtensions.FromHex("#E55D8200"))); _grad.ColorStops.Add(c.CreateColorGradientStop(1, MediaExtensions.FromHex("#E55D780A"))); _grad.StartPoint = new Vector2(0, 0); _grad.EndPoint = new Vector2(0, 0.5f); _shad = c.CreateColorBrush(); _shad.Color = Color.FromArgb(100, 0, 0, 0); // 3. Create grass geometry & resources _geom = c.CreateEllipseGeometry(); _geom.Radius = new Vector2(4, 150); _geom.Center = new Vector2(4, 150); _cent = CompositionFactory.CreateCenteringExpression(0.5, 0.5); _grassShape = c.CreateSpriteShape(_geom); _grassShape.FillBrush = _grad; _shadowShape = c.CreateSpriteShape(_geom); _shadowShape.FillBrush = _shad; _grassOffset = c.CreateExpressionAnimation() .SetTarget("Offset") .SetParameter("Root", _rootVisual) .SetExpression("Vector3(Root.Size.X * percent, Root.Size.Y - (this.Target.Size.Y * 0.5f), 0f)"); _shadowOffset = c.CreateExpressionAnimation() .SetTarget(nameof(Visual.Offset)) .SetExpression("Caster.Offset"); _shadowRotation = c.CreateExpressionAnimation() .SetTarget(nameof(Visual.RotationAngleInDegrees)) .SetExpression("Caster.RotationAngleInDegrees"); // 4. Create blades for (int i = 0; i < 250; i++) { PlantGrassSeed(); } // 5. Create blur for shadow CreateBlurLayer(); }
public ExportView(IPopoverPresenter presenter) { _presenter = presenter; _fontMap = presenter.GetFontMap(); TitleBarHeight = presenter.GetTitleBarHeight(); ViewModel = new ExportViewModel(_fontMap.ViewModel); this.InitializeComponent(); CompositionFactory.SetupOverlayPanelAnimation(this); LeakTrackingService.Register(this); }
public ScalarKeyFrameAnimation CreateTranslationX(FrameworkElement e) { var v = e.EnableCompositionTranslation().GetVisual(); var cin = CompositionFactory.GetEasingFunction(v.Compositor, PennerType.Exponential, PennerVariation.EaseOut); var ani = v.CreateScalarKeyFrameAnimation("Translation.X") .AddKeyFrame(0f, 0) .AddKeyFrame(1f, _rand.Next(-200, 200), cin) .SetDuration(1); return(ani); }
public ScalarKeyFrameAnimation CreateTranslationY(FrameworkElement e) { var v = e.EnableCompositionTranslation().GetVisual(); var t = _rand.Next(-100, 0); var cin = CompositionFactory.GetEasingFunction(v.Compositor, PennerType.Circle, PennerVariation.EaseIn); var cout = CompositionFactory.GetEasingFunction(v.Compositor, PennerType.Circle, PennerVariation.EaseIn); var ani = v.CreateScalarKeyFrameAnimation("Translation.Y") .AddKeyFrame(0f, 0) .AddKeyFrame(0.33f, t, cin) .AddKeyFrame(1f, _rand.Next(t, 10), cout) .SetDuration(1); return(ani); }
private void ViewModel_PropertyChanged(object sender, PropertyChangedEventArgs e) { switch (e.PropertyName) { case nameof(ViewModel.GroupedFontList): if (ViewModel.IsLoadingFonts) { return; } if (ViewModel.Settings.UseSelectionAnimations && !ViewModel.IsSearchResults) { CompositionFactory.PlayEntrance(LstFontFamily, 66, 100); CompositionFactory.PlayEntrance(GroupLabel, 0, 0, 80); if (InlineLabelCount.Visibility == Visibility.Visible) { CompositionFactory.PlayEntrance(InlineLabelCount, 83, 0, 80); } } break; case nameof(ViewModel.SelectedFont): if (ViewModel.SelectedFont != null) { LstFontFamily.SelectedItem = ViewModel.SelectedFont; FontMap.PlayFontChanged(); } break; case nameof(ViewModel.FontSearch): case nameof(ViewModel.IsSearchResults): // Required to prevent crash with SemanticZoom when there // are no items in the results list if (!FontsSemanticZoom.IsZoomedInViewActive) { FontsSemanticZoom.IsZoomedInViewActive = true; } break; case nameof(ViewModel.IsLoadingFonts): case nameof(ViewModel.IsLoadingFontsFailed): UpdateLoadingStates(); break; } }
private void PaneRoot_Loaded(object sender, RoutedEventArgs e) { var f = (UIElement)sender; ElementCompositionPreview.SetIsTranslationEnabled(f, true); Visual v = ElementCompositionPreview.GetElementVisual(f); ElementCompositionPreview.SetImplicitHideAnimation(f, CompositionFactory.CreateSlideOut(f, -256, 0)); var o2 = v.Compositor.CreateVector3KeyFrameAnimation(); o2.Target = "Translation"; o2.InsertExpressionKeyFrame(0, "this.StartingValue"); o2.InsertKeyFrame(1, new System.Numerics.Vector3(0, 0, 0)); o2.Duration = TimeSpan.FromSeconds(CompositionFactory.DefaultOffsetDuration); ElementCompositionPreview.SetImplicitShowAnimation(f, o2); }
private void UpdateLoadingStates() { TitleBar.TryUpdateMetrics(); if (ViewModel.IsLoadingFonts && !ViewModel.IsLoadingFontsFailed) { VisualStateManager.GoToState(this, nameof(FontsLoadingState), true); } else if (ViewModel.IsLoadingFontsFailed) { VisualStateManager.GoToState(this, nameof(FontsFailedState), true); } else { VisualStateManager.GoToState(this, nameof(FontsLoadedState), false); if (ViewModel.Settings.UseSelectionAnimations) { CompositionFactory.StartStartUpAnimation( new List <FrameworkElement> { OpenFontPaneButton, FontListFilter, OpenFontButton, FontMap.FontTitleBlock, FontMap.SearchBox, BtnSettings }, new List <UIElement> { FontListSearchBox, FontsSemanticZoom, FontMap.CharGridHeader, FontMap.SplitterContainer, FontMap.CharGrid, FontMap.PreviewGrid }); } } }
private void ViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { if (e.PropertyName == nameof(ViewModel.FontList)) { if (ViewStates.CurrentState != NormalState) { GoToNormalState(); } CompositionFactory.PlayEntrance(Repeater, 0, 80, 0); // ItemsRepeater is a bit rubbish, needs to be nudged back into life. // If we scroll straight to zero, we can often end up with a blank screen // until the user scrolls. So we need to manually hack in a scroll ourselves. //ListingScroller.ChangeView(null, 2, null, true); //_ = Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async () => //{ // await Task.Delay(16); // ListingScroller?.ChangeView(null, 0, null, false); //}); } else if (e.PropertyName == nameof(ViewModel.SelectedFont)) { if (ViewModel.SelectedFont is null) { GoToNormalState(); } else { DetailsFontTitle.Text = ""; VisualStateManager.GoToState(this, DetailsState.Name, true); } } else if (e.PropertyName == nameof(ViewModel.Text)) { UpdateText(ViewModel.Text); } }
private void StartShowAnimation() { if (!CompositionFactory.UISettings.AnimationsEnabled) { this.GetElementVisual().Opacity = 1; this.GetElementVisual().Properties.InsertVector3(CompositionFactory.TRANSLATION, Vector3.Zero); return; } List <UIElement> elements = new() { this }; elements.AddRange(OptionsPanel.Children); CompositionFactory.PlayEntrance(elements, 0, 200); elements.Clear(); elements.AddRange(PreviewOptions.Children); elements.Add(PreviewContainer); CompositionFactory.PlayEntrance(elements, 0, 200); elements.Clear(); elements.Add(BottomLabel); elements.AddRange(BottomButtonOptions.Children); CompositionFactory.PlayEntrance(elements, 0, 200); }
private void ContentRoot_Loaded(object sender, RoutedEventArgs e) { CompositionFactory.SetStandardReposition(sender, e); }
public static IComposition Composition() => CompositionFactory.Create(CompositionName);