diff --git a/src/Avalonia.Native/AvaloniaNativePlatformExtensions.cs b/src/Avalonia.Native/AvaloniaNativePlatformExtensions.cs
index 76cb7a8057..eef765e7ec 100644
--- a/src/Avalonia.Native/AvaloniaNativePlatformExtensions.cs
+++ b/src/Avalonia.Native/AvaloniaNativePlatformExtensions.cs
@@ -26,19 +26,52 @@ namespace Avalonia
}
}
+ ///
+ /// OSX backend options.
+ ///
public class AvaloniaNativePlatformOptions
{
+ ///
+ /// Deferred renderer would be used when set to true. Immediate renderer when set to false. The default value is true.
+ ///
+ ///
+ /// Avalonia has two rendering modes: Immediate and Deferred rendering.
+ /// Immediate re-renders the whole scene when some element is changed on the scene. Deferred re-renders only changed elements.
+ ///
public bool UseDeferredRendering { get; set; } = true;
+
+ ///
+ /// Determines whether to use GPU for rendering in your project. The default value is true.
+ ///
public bool UseGpu { get; set; } = true;
+
+ ///
+ /// Embeds popups to the window when set to true. The default value is false.
+ ///
public bool OverlayPopups { get; set; }
+
+ ///
+ /// This property should be used in case you want to build Avalonia OSX native part by yourself
+ /// and make your Avalonia app run with it. The default value is null.
+ ///
public string AvaloniaNativeLibraryPath { get; set; }
}
// ReSharper disable once InconsistentNaming
+ ///
+ /// OSX front-end options.
+ ///
public class MacOSPlatformOptions
{
+ ///
+ /// Determines whether to show your application in the dock when it runs. The default value is true.
+ ///
public bool ShowInDock { get; set; } = true;
-
+
+ ///
+ /// By default, Avalonia adds items like Quit, Hide to the OSX Application Menu.
+ /// You can prevent Avalonia from adding those items to the OSX Application Menu with this property. The default value is false.
+ ///
public bool DisableDefaultApplicationMenuItems { get; set; }
}
}
diff --git a/src/Avalonia.X11/X11Platform.cs b/src/Avalonia.X11/X11Platform.cs
index 4561993279..3a919c8814 100644
--- a/src/Avalonia.X11/X11Platform.cs
+++ b/src/Avalonia.X11/X11Platform.cs
@@ -162,14 +162,49 @@ namespace Avalonia.X11
namespace Avalonia
{
-
+ ///
+ /// Platform-specific options which apply to Linux.
+ ///
public class X11PlatformOptions
{
+ ///
+ /// Enables native Linux EGL when set to true. The default value is false.
+ ///
public bool UseEGL { get; set; }
+
+ ///
+ /// Determines whether to use GPU for rendering in your project. The default value is true.
+ ///
public bool UseGpu { get; set; } = true;
+
+ ///
+ /// Embeds popups to the window when set to true. The default value is false.
+ ///
public bool OverlayPopups { get; set; }
+
+ ///
+ /// Enables global menu support on Linux desktop environments where it's supported (e. g. XFCE and MATE with plugin, KDE, etc).
+ /// The default value is false.
+ ///
public bool UseDBusMenu { get; set; }
+
+ ///
+ /// Deferred renderer would be used when set to true. Immediate renderer when set to false. The default value is true.
+ ///
+ ///
+ /// Avalonia has two rendering modes: Immediate and Deferred rendering.
+ /// Immediate re-renders the whole scene when some element is changed on the scene. Deferred re-renders only changed elements.
+ ///
public bool UseDeferredRendering { get; set; } = true;
+
+ ///
+ /// Determines whether to use IME.
+ /// IME would be enabled by default if the current user input language is one of the following: Mandarin, Japanese, Vietnamese or Korean.
+ ///
+ ///
+ /// Input method editor is a component that enables users to generate characters not natively available
+ /// on their input devices by using sequences of characters or mouse operations that are natively available on their input devices.
+ ///
public bool? EnableIme { get; set; }
public IList GlProfiles { get; set; } = new List
@@ -190,6 +225,13 @@ namespace Avalonia
"llvmpipe"
};
public string WmClass { get; set; } = Assembly.GetEntryAssembly()?.GetName()?.Name ?? "AvaloniaApplication";
+
+ ///
+ /// Enables multitouch support. The default value is true.
+ ///
+ ///
+ /// Multitouch allows a surface (a touchpad or touchscreen) to recognize the presence of more than one point of contact with the surface at the same time.
+ ///
public bool? EnableMultiTouch { get; set; } = true;
}
public static class AvaloniaX11PlatformExtensions
diff --git a/src/Windows/Avalonia.Win32/Win32Platform.cs b/src/Windows/Avalonia.Win32/Win32Platform.cs
index 8cfb910e4b..a881c45cd0 100644
--- a/src/Windows/Avalonia.Win32/Win32Platform.cs
+++ b/src/Windows/Avalonia.Win32/Win32Platform.cs
@@ -35,15 +35,46 @@ namespace Avalonia
}
}
+ ///
+ /// Platform-specific options which apply to Windows.
+ ///
public class Win32PlatformOptions
{
+ ///
+ /// Deferred renderer would be used when set to true. Immediate renderer when set to false. The default value is true.
+ ///
+ ///
+ /// Avalonia has two rendering modes: Immediate and Deferred rendering.
+ /// Immediate re-renders the whole scene when some element is changed on the scene. Deferred re-renders only changed elements.
+ ///
public bool UseDeferredRendering { get; set; } = true;
-
+
+ ///
+ /// Enables ANGLE for Windows. For every Windows version that is above Windows 7, the default is true otherwise it's false.
+ ///
+ ///
+ /// GPU rendering will not be enabled if this is set to false.
+ ///
public bool? AllowEglInitialization { get; set; }
+ ///
+ /// Enables multitouch support. The default value is true.
+ ///
+ ///
+ /// Multitouch allows a surface (a touchpad or touchscreen) to recognize the presence of more than one point of contact with the surface at the same time.
+ ///
public bool? EnableMultitouch { get; set; } = true;
+
+ ///
+ /// Embeds popups to the window when set to true. The default value is false.
+ ///
public bool OverlayPopups { get; set; }
+
+ ///
+ /// Avalonia would try to use native Widows OpenGL when set to true. The default value is false.
+ ///
public bool UseWgl { get; set; }
+
public IList WglProfiles { get; set; } = new List
{
new GlVersion(GlProfileType.OpenGL, 4, 0),