├── .gitattributes ├── .gitignore ├── Icons └── OxyPlot_128.png ├── LICENSE ├── README.md ├── Source ├── Directory.Build.props ├── Examples │ └── Avalonia │ │ ├── AvaloniaExamples │ │ ├── App.axaml │ │ ├── App.axaml.cs │ │ ├── AvaloniaExamples.csproj │ │ ├── AvaloniaExamples.csproj.DotSettings │ │ ├── DelegateCommand.cs │ │ ├── Example.cs │ │ ├── ExampleAttribute.cs │ │ ├── Examples │ │ │ ├── AlignedAxesDemo │ │ │ │ ├── MainWindow.xaml │ │ │ │ └── MainWindow.xaml.cs │ │ │ ├── AnimationsDemo │ │ │ │ ├── Controls │ │ │ │ │ ├── AnimationSettingsControl.axaml │ │ │ │ │ └── AnimationSettingsControl.axaml.cs │ │ │ │ ├── EasingFunctions │ │ │ │ │ ├── BackEase.cs │ │ │ │ │ ├── BounceEase.cs │ │ │ │ │ ├── CircleEase.cs │ │ │ │ │ ├── Interfaces │ │ │ │ │ │ └── IEasingFunction.cs │ │ │ │ │ ├── NoEase.cs │ │ │ │ │ ├── PowerEase.cs │ │ │ │ │ ├── QuadraticEase.cs │ │ │ │ │ ├── QuarticEase.cs │ │ │ │ │ ├── QuinticEase.cs │ │ │ │ │ └── SineEase.cs │ │ │ │ ├── Extensions │ │ │ │ │ ├── AnimationExtensions.cs │ │ │ │ │ ├── AnimationExtensions.datapointseries.cs │ │ │ │ │ ├── AnimationExtensions.linearbarseries.cs │ │ │ │ │ └── AnimationExtensions.lineseries.cs │ │ │ │ ├── MainWindow.axaml │ │ │ │ ├── MainWindow.axaml.cs │ │ │ │ ├── Models │ │ │ │ │ ├── AnimationFrame.cs │ │ │ │ │ ├── AnimationPoint.cs │ │ │ │ │ ├── AnimationSettings.cs │ │ │ │ │ ├── Interfaces │ │ │ │ │ │ └── IAnimatablePoint.cs │ │ │ │ │ └── Pnl.cs │ │ │ │ ├── ViewModels │ │ │ │ │ ├── AnimationViewModelBase.cs │ │ │ │ │ ├── AreaSeriesViewModel.cs │ │ │ │ │ ├── Interfaces │ │ │ │ │ │ └── IAnimationViewModel.cs │ │ │ │ │ ├── LineSeriesViewModel.cs │ │ │ │ │ └── LinearBarViewModel.cs │ │ │ │ └── Views │ │ │ │ │ ├── AreaSeriesView.axaml │ │ │ │ │ ├── AreaSeriesView.axaml.cs │ │ │ │ │ ├── LineSeriesView.axaml │ │ │ │ │ ├── LineSeriesView.axaml.cs │ │ │ │ │ ├── LinearBarView.axaml │ │ │ │ │ └── LinearBarView.axaml.cs │ │ │ ├── AnnotationDemo │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── AreaDemo │ │ │ │ ├── MainViewModel.cs │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── AxesDemo │ │ │ │ ├── MainViewModel.cs │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── BarSeriesDemo │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── BindingDemo │ │ │ │ ├── MainViewModel.cs │ │ │ │ ├── MainWindow.axaml │ │ │ │ ├── MainWindow.axaml.cs │ │ │ │ └── Measurement.cs │ │ │ ├── BindingObservableCollectionDemo │ │ │ │ ├── MainViewModel.cs │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── BoxPlotSeriesDemo │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── ColorBindingDemo │ │ │ │ ├── MainViewModel.cs │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── ContextMenuDemo │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── ContourDemo │ │ │ │ ├── MainViewModel.cs │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── ControllerDemo │ │ │ │ ├── CustomPlotController.cs │ │ │ │ ├── MainViewModel.cs │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── CoupledAxesDemo │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── CustomTrackerDemo │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── DataTemplateDemo │ │ │ │ ├── PlotViewDataTemplateWindow.axaml │ │ │ │ └── PlotViewDataTemplateWindow.axaml.cs │ │ │ ├── DateTimeDemo │ │ │ │ ├── MainWindow.axaml │ │ │ │ ├── MainWindow.axaml.cs │ │ │ │ └── Sun.cs │ │ │ ├── HeatMapDemo │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── LegendsDemo │ │ │ │ ├── MainViewModel.cs │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── LinearBarSeriesDemo │ │ │ │ ├── MainViewModel.cs │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── OverlayDemo │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── PerformanceDemo │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── PieDemo │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── PolarDemo │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── RealtimeDemo │ │ │ │ ├── MainViewModel.cs │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── ScatterDemo │ │ │ │ ├── Fern.cs │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── ScatterErrorSeriesDemo │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── ScrollViewerDemo │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── TaskDemo │ │ │ │ ├── MainViewModel.cs │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── ToolTipDemo │ │ │ │ ├── MainViewModel.cs │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ ├── TwoColorAreaDemo │ │ │ │ ├── MainViewModel.cs │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ │ └── UserControlDemo │ │ │ │ ├── MainWindow.axaml │ │ │ │ ├── MainWindow.axaml.cs │ │ │ │ ├── MainWindow2.axaml │ │ │ │ ├── MainWindow2.axaml.cs │ │ │ │ ├── MainWindow3.axaml │ │ │ │ ├── MainWindow3.axaml.cs │ │ │ │ ├── UserControl1.axaml │ │ │ │ ├── UserControl1.axaml.cs │ │ │ │ └── ViewModel.cs │ │ ├── Images │ │ │ ├── AlignedAxesDemo.png │ │ │ ├── AnimationsDemo.png │ │ │ ├── AnnotationDemo.png │ │ │ ├── AreaDemo.png │ │ │ ├── AxesDemo.png │ │ │ ├── BarSeriesDemo.png │ │ │ ├── BindingDemo.png │ │ │ ├── BindingObservableCollectionDemo.png │ │ │ ├── BoxPlotSeriesDemo.png │ │ │ ├── ColorBindingDemo.png │ │ │ ├── ColumnSeriesDemo.png │ │ │ ├── ContextMenuDemo.png │ │ │ ├── ContourDemo.png │ │ │ ├── ControllerDemo.png │ │ │ ├── CoupledAxesDemo.png │ │ │ ├── CsvDemo.png │ │ │ ├── CustomTrackerDemo.png │ │ │ ├── DataTemplateDemo.png │ │ │ ├── DateTimeDemo.png │ │ │ ├── HeatMapDemo.png │ │ │ ├── HistogramDemo.png │ │ │ ├── LegendsDemo.png │ │ │ ├── LinearBarSeriesDemo.png │ │ │ ├── OverlayDemo.png │ │ │ ├── PerformanceDemo.png │ │ │ ├── PieDemo.png │ │ │ ├── PlotModelAlreadyInUse.png │ │ │ ├── PolarDemo.png │ │ │ ├── RealtimeDemo.png │ │ │ ├── RefreshDemo.png │ │ │ ├── ResizeDemo.png │ │ │ ├── ScatterDemo.png │ │ │ ├── ScatterErrorSeriesDemo.png │ │ │ ├── ScrollViewerDemo.png │ │ │ ├── TaskDemo.png │ │ │ ├── ToolTipDemo.png │ │ │ ├── TwoColorAreaDemo.png │ │ │ └── UserControlDemo.png │ │ ├── MainWindow.axaml │ │ ├── MainWindow.axaml.cs │ │ ├── NotifyPropertyChangedBase.cs │ │ └── ReadMe.txt │ │ ├── ExampleBrowser │ │ ├── App.axaml │ │ ├── App.axaml.cs │ │ ├── ExampleBrowser.csproj │ │ ├── MainViewModel.cs │ │ ├── MainWindow.axaml │ │ ├── MainWindow.axaml.cs │ │ └── Program.cs │ │ ├── MemoryTest │ │ ├── App.axaml │ │ ├── App.axaml.cs │ │ ├── MainWindow.axaml │ │ ├── MainWindow.axaml.cs │ │ ├── MemoryTest.csproj │ │ ├── Window1.axaml │ │ ├── Window1.axaml.cs │ │ ├── Window2.axaml │ │ └── Window2.axaml.cs │ │ └── SimpleDemo │ │ ├── App.axaml │ │ ├── App.axaml.cs │ │ ├── MainViewModel.cs │ │ ├── MainWindow.axaml │ │ ├── MainWindow.axaml.cs │ │ └── SimpleDemo.csproj ├── OxyPlot.Avalonia.sln ├── OxyPlot.Avalonia.sln.DotSettings └── OxyPlot.Avalonia │ ├── Annotations │ ├── Annotation.cs │ ├── ArrowAnnotation.cs │ ├── EllipseAnnotation.cs │ ├── FunctionAnnotation.cs │ ├── LineAnnotation.cs │ ├── PathAnnotation.cs │ ├── PointAnnotation.cs │ ├── PolygonAnnotation.cs │ ├── PolylineAnnotation.cs │ ├── RectangleAnnotation.cs │ ├── ShapeAnnotation.cs │ ├── TextAnnotation.cs │ └── TextualAnnotation.cs │ ├── Axes │ ├── AngleAxis.cs │ ├── Axis.cs │ ├── CategoryAxis.cs │ ├── DateTimeAxis.cs │ ├── LinearAxis.cs │ ├── LinearColorAxis.cs │ ├── LogarithmicAxis.cs │ ├── MagnitudeAxis.cs │ └── TimeSpanAxis.cs │ ├── CanvasRenderContext.cs │ ├── Converters │ ├── OxyColorConverter.cs │ └── ThicknessConverter.cs │ ├── Extensions │ └── DataPointExtension.cs │ ├── IPlot.cs │ ├── Legends │ ├── Legend.Properties.cs │ └── Legend.cs │ ├── MoreColors.cs │ ├── NamespaceDoc.cs │ ├── OxyPlot.Avalonia.csproj │ ├── OxyPlot.Avalonia.csproj.DotSettings │ ├── OxyPlotModule.cs │ ├── Plot.Properties.cs │ ├── Plot.cs │ ├── PlotBase.Events.cs │ ├── PlotBase.Export.cs │ ├── PlotBase.Properties.cs │ ├── PlotBase.cs │ ├── PlotView.cs │ ├── PngExporter.cs │ ├── Series │ ├── AreaSeries.cs │ ├── BarSeries │ │ ├── BarSeries.cs │ │ ├── BarSeriesBase.cs │ │ ├── BarSeriesBase{T}.cs │ │ ├── CategorizedSeries.cs │ │ └── LinearBarSeries.cs │ ├── BoxPlotSeries.cs │ ├── DataPointSeries.cs │ ├── HeatMapSeries.cs │ ├── ItemsSeries.cs │ ├── LineSeries.cs │ ├── PieSeries.cs │ ├── ScatterErrorSeries.cs │ ├── ScatterSeries.cs │ ├── ScatterSeries{T}.cs │ ├── Series.cs │ ├── StairStepSeries.cs │ ├── ThreeColorLineSeries.cs │ ├── TwoColorAreaSeries.cs │ ├── TwoColorLineSeries.cs │ └── XYAxisSeries.cs │ ├── SvgExporter.cs │ ├── Themes │ └── Default.axaml │ ├── Tracker │ ├── TrackerControl.cs │ └── TrackerDefinition.cs │ └── Utilities │ └── ConverterExtensions.cs └── azure-pipelines.yml /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /Icons/OxyPlot_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oxyplot/oxyplot-avalonia/9913a97d79a75585abd0ee5b417739ac52bca4c6/Icons/OxyPlot_128.png -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 OxyPlot contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a 6 | copy of this software and associated documentation files (the 7 | "Software"), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included 14 | in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 17 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Source/Directory.Build.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11.0.0 4 | 2.1.2 5 | 6 | -------------------------------------------------------------------------------- /Source/Examples/Avalonia/AvaloniaExamples/App.axaml: -------------------------------------------------------------------------------- 1 |  4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Source/Examples/Avalonia/AvaloniaExamples/App.axaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Avalonia; 3 | using Avalonia.Controls; 4 | using Avalonia.Controls.ApplicationLifetimes; 5 | using Avalonia.Markup.Xaml; 6 | using OxyPlot.Avalonia; 7 | 8 | namespace AvaloniaExamples 9 | { 10 | public class App : Application 11 | { 12 | public override void Initialize() 13 | { 14 | AvaloniaXamlLoader.Load(this); 15 | base.Initialize(); 16 | } 17 | 18 | public override void OnFrameworkInitializationCompleted() 19 | { 20 | if (!(ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)) 21 | { 22 | throw new PlatformNotSupportedException(); 23 | } 24 | 25 | desktop.MainWindow = new MainWindow(); 26 | 27 | base.OnFrameworkInitializationCompleted(); 28 | } 29 | 30 | static void Main(string[] args) 31 | { 32 | OxyPlotModule.EnsureLoaded(); 33 | AppBuilder.Configure() 34 | .UsePlatformDetect() 35 | #if DEBUG 36 | .LogToTrace() 37 | #endif 38 | .StartWithClassicDesktopLifetime(args); 39 | } 40 | 41 | public static void AttachDevTools(Window window) 42 | { 43 | #if DEBUG 44 | DevToolsExtensions.AttachDevTools(window); 45 | #endif 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Source/Examples/Avalonia/AvaloniaExamples/AvaloniaExamples.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | net8.0 4 | WinExe 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Source/Examples/Avalonia/AvaloniaExamples/AvaloniaExamples.csproj.DotSettings: -------------------------------------------------------------------------------- 1 |  2 | True 3 | True -------------------------------------------------------------------------------- /Source/Examples/Avalonia/AvaloniaExamples/Example.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014 OxyPlot contributors 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | using System.Linq; 8 | using Avalonia; 9 | using Avalonia.Platform; 10 | 11 | namespace AvaloniaExamples 12 | { 13 | using Avalonia.Media.Imaging; 14 | using System; 15 | using System.Diagnostics; 16 | 17 | public class Example 18 | { 19 | public Example(Type mainWindowType, string title = null, string description = null) 20 | { 21 | this.MainWindowType = mainWindowType; 22 | this.Title = title ?? mainWindowType.Namespace.Split('.').Last(); 23 | this.Description = description; 24 | try 25 | { 26 | var uri = new Uri($"avares://{typeof(Example).Assembly.FullName}/Images/" + this.ThumbnailFileName); 27 | var stream = AssetLoader.Open(uri); 28 | this.Thumbnail = new Bitmap(stream); 29 | } 30 | catch (Exception e) 31 | { 32 | Debug.WriteLine(e); 33 | } 34 | } 35 | 36 | public string Title { get; } 37 | public string Description { get; set; } 38 | private Type MainWindowType { get; } 39 | 40 | public Bitmap Thumbnail { get; set; } 41 | 42 | public string ThumbnailFileName 43 | { 44 | get 45 | { 46 | return this.Title + ".png"; 47 | } 48 | } 49 | 50 | public override string ToString() 51 | { 52 | return this.Title; 53 | } 54 | 55 | public Avalonia.Controls.Window Create() 56 | { 57 | return Activator.CreateInstance(this.MainWindowType) as Avalonia.Controls.Window; 58 | } 59 | } 60 | } -------------------------------------------------------------------------------- /Source/Examples/Avalonia/AvaloniaExamples/ExampleAttribute.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014 OxyPlot contributors 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | namespace AvaloniaExamples 8 | { 9 | using System; 10 | 11 | public class ExampleAttribute : Attribute 12 | { 13 | public ExampleAttribute(string description) 14 | : this(null, description) 15 | { 16 | } 17 | 18 | public ExampleAttribute(string title, string description) 19 | { 20 | this.Title = title; 21 | this.Description = description; 22 | } 23 | 24 | public string Title { get; } 25 | 26 | public string Description { get; } 27 | } 28 | } -------------------------------------------------------------------------------- /Source/Examples/Avalonia/AvaloniaExamples/Examples/AlignedAxesDemo/MainWindow.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | 10 | 11 | 12 | 13 | The plot margins are undefined, and the vertical axes should be adjusted to have the same width. 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /Source/Examples/Avalonia/AvaloniaExamples/Examples/AlignedAxesDemo/MainWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // Copyright (c) 2014 OxyPlot contributors 4 | // 5 | // 6 | // Interaction logic for MainWindow.xaml 7 | // 8 | // -------------------------------------------------------------------------------------------------------------------- 9 | 10 | namespace AvaloniaExamples.Examples.AlignedAxesDemo 11 | { 12 | using System; 13 | 14 | using OxyPlot; 15 | using OxyPlot.Axes; 16 | using OxyPlot.Series; 17 | using Avalonia; 18 | using AvaloniaExamples; 19 | using Avalonia.Controls; 20 | 21 | /// 22 | /// Interaction logic for MainWindow.xaml 23 | /// 24 | [Example("Aligning plot margins from desired axis widths.")] 25 | public partial class MainWindow : Window 26 | { 27 | /// 28 | /// Initializes a new instance of the class. 29 | /// 30 | public MainWindow() 31 | { 32 | this.InitializeComponent(); 33 | var models = new { Model0 = CreatePlotModel(0, 10), Model1 = CreatePlotModel(0, 1e8) }; 34 | 35 | // TODO: align the vertical axis size without setting PlotMargins 36 | models.Model0.PlotMargins = models.Model1.PlotMargins = new OxyThickness(70, 40, 20, 20); 37 | 38 | this.DataContext = models; 39 | } 40 | 41 | private void InitializeComponent() 42 | { 43 | Avalonia.Markup.Xaml.AvaloniaXamlLoader.Load(this); 44 | } 45 | 46 | private static PlotModel CreatePlotModel(double min, double max) 47 | { 48 | var model = new PlotModel(); 49 | var verticalAxis = new LinearAxis { Position = AxisPosition.Left, Minimum = min, Maximum = max }; 50 | model.Axes.Add(verticalAxis); 51 | model.Axes.Add(new LinearAxis { Position = AxisPosition.Bottom }); 52 | model.Series.Add(new FunctionSeries(x => Math.Sin(x * Math.PI * 4) * Math.Sin(x * Math.PI * 4) * Math.Sqrt(x) * max, 0, 1, 1000)); 53 | return model; 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /Source/Examples/Avalonia/AvaloniaExamples/Examples/AnimationsDemo/Controls/AnimationSettingsControl.axaml: -------------------------------------------------------------------------------- 1 |  5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 |