ArgonUI 0.4.1-pre
dotnet add package ArgonUI --version 0.4.1-pre
NuGet\Install-Package ArgonUI -Version 0.4.1-pre
<PackageReference Include="ArgonUI" Version="0.4.1-pre" />
<PackageVersion Include="ArgonUI" Version="0.4.1-pre" />
<PackageReference Include="ArgonUI" />
paket add ArgonUI --version 0.4.1-pre
#r "nuget: ArgonUI, 0.4.1-pre"
#:package ArgonUI@0.4.1-pre
#addin nuget:?package=ArgonUI&version=0.4.1-pre&prerelease
#tool nuget:?package=ArgonUI&version=0.4.1-pre&prerelease
ArgonUI
<p align="center"> <img src="https://github.com/space928/ArgonUI/blob/main/QPlayer/Resources/IconM.png?raw=true" alt="ArgonUI Logo" width="128" height="128"> </p>
ArgonUI is a fast cross-platform UI framework for .NET. It aims to aims to provide a fast and flexible UI framework, without all of the boilerplate.
Features:
- A collection of common UI controls built in
- Windows/Linux/Mac support
- Support for multiple rendering backends
- Efficient OpenGL based rendering backend
- Event driven rendering, means elements or only rendered when they change
- Flexible control styling system
- Data binding
Usage
For most users, it's easiest to simply intall the NuGet package:
dotnet add package ArgonUI
Install a suitable rendering backend as well:
dotnet add package ArgonUI.Backends.OpenGL
Using ArgonUI is as simple as creating an ArgonManager
and a UIWindow
:
using ArgonUI;
using ArgonUI.UIElements;
using ArgonUI.Backends.OpenGL;
namespace ArgonUI.Examples.DemoApp;
public class Program
{
public static void Main(string[] args)
{
ArgonManager argon = new();
var wnd = argon.CreateOpenGLWindow();
// Wait for the window to exit before returning
wnd.Wait();
}
}
Adding UI elements and subscribing to events is equally simple:
ArgonManager argon = new();
var wnd = argon.CreateOpenGLWindow();
var rect = new Rectangle();
var label = new Label();
wnd.RootElement.AddChild(rect);
int counter = 0;
wnd.RootElement.BGColour = new(0, 0.5f, 1, 1);
rect.Width = 100;
rect.Height = 100;
rect.Rounding = 5;
rect.Colour = new(0, .8f, .25f, 1);
rect.OnMouseDown += () =>
{
label.Text = $"Hello World! {counter++}";
};
rect.OnMouseEnter += () =>
{
rect.Colour = new(1f, .5f, .1f, 1);
rect.Rounding = 20;
};
rect.OnMouseLeave += () =>
{
rect.Colour = new(0, .8f, .25f, 1);
rect.Rounding = 5;
};
wnd.RootElement.AddChild(label);
label.Text = "Hello World!";
wnd.Wait();
For more details see the Documentation.
Building
ArgonUI can be built with Visual Studio 2022 using the .NET SDK 8.
See the design_notes.md document for more details on the internal design of ArgonUI. (Note that this is a working document, and may not reflect the latest changes)
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- IndexRange (>= 1.0.3)
- Microsoft.Bcl.HashCode (>= 6.0.0)
- System.Collections.Immutable (>= 9.0.3)
- System.Numerics.Vectors (>= 4.6.1)
- System.Runtime.Numerics (>= 4.3.0)
-
net8.0
- IndexRange (>= 1.0.3)
- Microsoft.Bcl.HashCode (>= 6.0.0)
- System.Collections.Immutable (>= 9.0.3)
- System.Numerics.Vectors (>= 4.6.1)
- System.Runtime.Numerics (>= 4.3.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on ArgonUI:
Package | Downloads |
---|---|
ArgonUI.Backends.OpenGL
Package Description |
|
ArgonUI.Backends.Headless
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.