Browse Source
Merge pull request #8049 from AvaloniaUI/api-stability-attributes
Add attributes describing API stability.
pull/8158/head
Steven Kirk
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
175 changed files with
451 additions and
78 deletions
-
build/ApiCompatAttributeExcludeList.txt
-
src/Avalonia.Base/Animation/IAnimation.cs
-
src/Avalonia.Base/Animation/IAnimationSetter.cs
-
src/Avalonia.Base/Animation/IAnimator.cs
-
src/Avalonia.Base/Animation/IClock.cs
-
src/Avalonia.Base/Animation/IGlobalClock.cs
-
src/Avalonia.Base/Animation/ITransition.cs
-
src/Avalonia.Base/Controls/INameScope.cs
-
src/Avalonia.Base/Controls/IPseudoClasses.cs
-
src/Avalonia.Base/Controls/IResourceHost.cs
-
src/Avalonia.Base/Controls/IResourceNode.cs
-
src/Avalonia.Base/Controls/ISetInheritanceParent.cs
-
src/Avalonia.Base/Controls/ISetLogicalParent.cs
-
src/Avalonia.Base/Data/Core/IPropertyInfo.cs
-
src/Avalonia.Base/Data/IBinding.cs
-
src/Avalonia.Base/IAvaloniaObject.cs
-
src/Avalonia.Base/IDataContextProvider.cs
-
src/Avalonia.Base/IDirectPropertyAccessor.cs
-
src/Avalonia.Base/IDirectPropertyMetadata.cs
-
src/Avalonia.Base/IStyledElement.cs
-
src/Avalonia.Base/IStyledPropertyMetadata.cs
-
src/Avalonia.Base/Input/IAccessKeyHandler.cs
-
src/Avalonia.Base/Input/IFocusManager.cs
-
src/Avalonia.Base/Input/IInputDevice.cs
-
src/Avalonia.Base/Input/IInputElement.cs
-
src/Avalonia.Base/Input/IInputManager.cs
-
src/Avalonia.Base/Input/IInputRoot.cs
-
src/Avalonia.Base/Input/IKeyboardDevice.cs
-
src/Avalonia.Base/Input/IKeyboardNavigationHandler.cs
-
src/Avalonia.Base/Input/IMainMenu.cs
-
src/Avalonia.Base/Input/IMouseDevice.cs
-
src/Avalonia.Base/Input/IPointer.cs
-
src/Avalonia.Base/Input/IPointerDevice.cs
-
src/Avalonia.Base/Input/Platform/IClipboard.cs
-
src/Avalonia.Base/Input/Platform/IPlatformDragSource.cs
-
src/Avalonia.Base/Input/Raw/IDragDropDevice.cs
-
src/Avalonia.Base/Input/TextInput/ITextInputMethodImpl.cs
-
src/Avalonia.Base/Interactivity/IInteractive.cs
-
src/Avalonia.Base/Layout/ILayoutManager.cs
-
src/Avalonia.Base/Layout/ILayoutRoot.cs
-
src/Avalonia.Base/Layout/ILayoutable.cs
-
src/Avalonia.Base/LogicalTree/ILogical.cs
-
src/Avalonia.Base/LogicalTree/ILogicalRoot.cs
-
src/Avalonia.Base/Media/IBrush.cs
-
src/Avalonia.Base/Media/IConicGradientBrush.cs
-
src/Avalonia.Base/Media/IDashStyle.cs
-
src/Avalonia.Base/Media/IExperimentalAcrylicMaterial.cs
-
src/Avalonia.Base/Media/IGradientBrush.cs
-
src/Avalonia.Base/Media/IGradientStop.cs
-
src/Avalonia.Base/Media/IImageBrush.cs
-
src/Avalonia.Base/Media/ILinearGradientBrush.cs
-
src/Avalonia.Base/Media/IMutableBrush.cs
-
src/Avalonia.Base/Media/IMutableExperimentalAcrylicMaterial.cs
-
src/Avalonia.Base/Media/IMutableTransform.cs
-
src/Avalonia.Base/Media/IPen.cs
-
src/Avalonia.Base/Media/IRadialGradientBrush.cs
-
src/Avalonia.Base/Media/ISolidColorBrush.cs
-
src/Avalonia.Base/Media/ITileBrush.cs
-
src/Avalonia.Base/Media/IVisualBrush.cs
-
src/Avalonia.Base/Media/Imaging/IBitmap.cs
-
src/Avalonia.Base/Media/TextFormatting/ITextSource.cs
-
src/Avalonia.Base/Metadata/NotClientImplementableAttribute.cs
-
src/Avalonia.Base/Metadata/UnstableAttribute.cs
-
src/Avalonia.Base/Platform/IAssetLoader.cs
-
src/Avalonia.Base/Platform/IBitmapImpl.cs
-
src/Avalonia.Base/Platform/ICursorImpl.cs
-
src/Avalonia.Base/Platform/IDrawingContextImpl.cs
-
src/Avalonia.Base/Platform/IFontManagerImpl.cs
-
src/Avalonia.Base/Platform/IGeometryImpl.cs
-
src/Avalonia.Base/Platform/IGlyphRunImpl.cs
-
src/Avalonia.Base/Platform/IGlyphTypefaceImpl.cs
-
src/Avalonia.Base/Platform/IMacOSTopLevelPlatformHandle.cs
-
src/Avalonia.Base/Platform/IPlatformRenderInterface.cs
-
src/Avalonia.Base/Platform/IPlatformSettings.cs
-
src/Avalonia.Base/Platform/IPlatformThreadingInterface.cs
-
src/Avalonia.Base/Platform/IRenderTargetBitmapImpl.cs
-
src/Avalonia.Base/Platform/IRuntimePlatform.cs
-
src/Avalonia.Base/Platform/IStreamGeometryContextImpl.cs
-
src/Avalonia.Base/Platform/IStreamGeometryImpl.cs
-
src/Avalonia.Base/Platform/ITextShaperImpl.cs
-
src/Avalonia.Base/Platform/ITransformedGeometryImpl.cs
-
src/Avalonia.Base/Platform/IWriteableBitmapImpl.cs
-
src/Avalonia.Base/Platform/Interop/IDynamicLibraryLoader.cs
-
src/Avalonia.Base/Rendering/IDeferredRendererLock.cs
-
src/Avalonia.Base/Rendering/IRenderLoop.cs
-
src/Avalonia.Base/Rendering/IRenderRoot.cs
-
src/Avalonia.Base/Rendering/IRenderTimer.cs
-
src/Avalonia.Base/Rendering/IVisualBrushInitialize.cs
-
src/Avalonia.Base/Rendering/IVisualBrushRenderer.cs
-
src/Avalonia.Base/Styling/Activators/IStyleActivator.cs
-
src/Avalonia.Base/Styling/Activators/IStyleActivatorSink.cs
-
src/Avalonia.Base/Styling/IGlobalStyles.cs
-
src/Avalonia.Base/Styling/ISetter.cs
-
src/Avalonia.Base/Styling/ISetterInstance.cs
-
src/Avalonia.Base/Styling/IStyle.cs
-
src/Avalonia.Base/Styling/IStyleHost.cs
-
src/Avalonia.Base/Styling/IStyleInstance.cs
-
src/Avalonia.Base/Styling/IStyleable.cs
-
src/Avalonia.Base/Styling/ITemplatedControl.cs
-
src/Avalonia.Base/VisualTree/IVisual.cs
|
|
|
@ -0,0 +1,2 @@ |
|
|
|
T:Avalonia.Metadata.NotClientImplementableAttribute |
|
|
|
T:Avalonia.Metadata.UnstableAttribute |
|
|
|
@ -1,12 +1,14 @@ |
|
|
|
using System; |
|
|
|
using System.Threading; |
|
|
|
using System.Threading.Tasks; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Animation |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Interface for Animation objects
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IAnimation |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,5 +1,8 @@ |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Animation |
|
|
|
{ |
|
|
|
[NotClientImplementable] |
|
|
|
public interface IAnimationSetter |
|
|
|
{ |
|
|
|
AvaloniaProperty? Property { get; set; } |
|
|
|
|
|
|
|
@ -1,11 +1,13 @@ |
|
|
|
using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Animation |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Interface for Animator objects
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IAnimator : IList<AnimatorKeyFrame> |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,9 +1,9 @@ |
|
|
|
using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Text; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Animation |
|
|
|
{ |
|
|
|
[NotClientImplementable] |
|
|
|
public interface IClock : IObservable<TimeSpan> |
|
|
|
{ |
|
|
|
PlayState PlayState { get; set; } |
|
|
|
|
|
|
|
@ -1,9 +1,8 @@ |
|
|
|
using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Text; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Animation |
|
|
|
{ |
|
|
|
[NotClientImplementable] |
|
|
|
public interface IGlobalClock : IClock |
|
|
|
{ |
|
|
|
} |
|
|
|
|
|
|
|
@ -1,10 +1,12 @@ |
|
|
|
using System; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Animation |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Interface for Transition objects.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface ITransition |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,5 +1,4 @@ |
|
|
|
using System; |
|
|
|
using System.Threading.Tasks; |
|
|
|
using Avalonia.Metadata; |
|
|
|
using Avalonia.Utilities; |
|
|
|
|
|
|
|
namespace Avalonia.Controls |
|
|
|
@ -7,6 +6,7 @@ namespace Avalonia.Controls |
|
|
|
/// <summary>
|
|
|
|
/// Defines a name scope.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface INameScope |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,9 +1,11 @@ |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Controls |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Exposes an interface for setting pseudoclasses on a <see cref="Classes"/> collection.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IPseudoClasses |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,6 +1,5 @@ |
|
|
|
using System; |
|
|
|
|
|
|
|
#nullable enable |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Controls |
|
|
|
{ |
|
|
|
@ -10,6 +9,7 @@ namespace Avalonia.Controls |
|
|
|
/// <remarks>
|
|
|
|
/// This interface is implemented by <see cref="StyledElement"/> and `Application`.
|
|
|
|
/// </remarks>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IResourceHost : IResourceNode |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,6 +1,5 @@ |
|
|
|
using System; |
|
|
|
|
|
|
|
#nullable enable |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Controls |
|
|
|
{ |
|
|
|
@ -12,6 +11,7 @@ namespace Avalonia.Controls |
|
|
|
/// (<see cref="IResourceHost"/>) and resource providers such as <see cref="ResourceDictionary"/>
|
|
|
|
/// (see <see cref="IResourceProvider"/>).
|
|
|
|
/// </remarks>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IResourceNode |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,4 +1,4 @@ |
|
|
|
#nullable enable |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Controls |
|
|
|
{ |
|
|
|
@ -10,6 +10,7 @@ namespace Avalonia.Controls |
|
|
|
/// Additionally, <see cref="ISetLogicalParent"/> also sets the inheritance parent; this
|
|
|
|
/// interface is only needed where the logical and inheritance parents differ.
|
|
|
|
/// </remarks>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface ISetInheritanceParent |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,6 +1,5 @@ |
|
|
|
using Avalonia.LogicalTree; |
|
|
|
|
|
|
|
#nullable enable |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Controls |
|
|
|
{ |
|
|
|
@ -10,6 +9,7 @@ namespace Avalonia.Controls |
|
|
|
/// <remarks>
|
|
|
|
/// You should not usually need to use this interface - it is for advanced scenarios only.
|
|
|
|
/// </remarks>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface ISetLogicalParent |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,7 +1,9 @@ |
|
|
|
using System; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Data.Core |
|
|
|
{ |
|
|
|
[NotClientImplementable] |
|
|
|
public interface IPropertyInfo |
|
|
|
{ |
|
|
|
string Name { get; } |
|
|
|
|
|
|
|
@ -1,8 +1,11 @@ |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Data |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Holds a binding that can be applied to a property on an object.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IBinding |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,11 +1,13 @@ |
|
|
|
using System; |
|
|
|
using Avalonia.Data; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Interface for getting/setting <see cref="AvaloniaProperty"/> values on an object.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IAvaloniaObject |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,10 +1,11 @@ |
|
|
|
#nullable enable |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Defines an element with a data context that can be used for binding.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IDataContextProvider : IAvaloniaObject |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,4 +1,5 @@ |
|
|
|
using System; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia |
|
|
|
{ |
|
|
|
|
|
|
|
@ -1,8 +1,11 @@ |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Untyped interface to <see cref="DirectPropertyMetadata{TValue}"/>
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IDirectPropertyMetadata |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -2,12 +2,12 @@ |
|
|
|
using System.ComponentModel; |
|
|
|
using Avalonia.Controls; |
|
|
|
using Avalonia.LogicalTree; |
|
|
|
using Avalonia.Metadata; |
|
|
|
using Avalonia.Styling; |
|
|
|
|
|
|
|
#nullable enable |
|
|
|
|
|
|
|
namespace Avalonia |
|
|
|
{ |
|
|
|
[NotClientImplementable] |
|
|
|
public interface IStyledElement : |
|
|
|
IStyleable, |
|
|
|
IStyleHost, |
|
|
|
|
|
|
|
@ -1,8 +1,11 @@ |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Untyped interface to <see cref="StyledPropertyMetadata{TValue}"/>
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IStyledPropertyMetadata |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,8 +1,11 @@ |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Input |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Defines the interface for classes that handle access keys for a window.
|
|
|
|
/// </summary>
|
|
|
|
[Unstable] |
|
|
|
public interface IAccessKeyHandler |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,8 +1,11 @@ |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Input |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Manages focus for the application.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IFocusManager |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,7 +1,9 @@ |
|
|
|
using Avalonia.Input.Raw; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Input |
|
|
|
{ |
|
|
|
[NotClientImplementable] |
|
|
|
public interface IInputDevice |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,6 +1,7 @@ |
|
|
|
using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using Avalonia.Interactivity; |
|
|
|
using Avalonia.Metadata; |
|
|
|
using Avalonia.VisualTree; |
|
|
|
|
|
|
|
#nullable enable |
|
|
|
@ -10,6 +11,7 @@ namespace Avalonia.Input |
|
|
|
/// <summary>
|
|
|
|
/// Defines input-related functionality for a control.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IInputElement : IInteractive, IVisual |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,5 +1,6 @@ |
|
|
|
using System; |
|
|
|
using Avalonia.Input.Raw; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Input |
|
|
|
{ |
|
|
|
@ -7,6 +8,7 @@ namespace Avalonia.Input |
|
|
|
/// Receives input from the windowing subsystem and dispatches it to interested parties
|
|
|
|
/// for processing.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IInputManager |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,8 +1,11 @@ |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Input |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Defines the interface for top-level input elements.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IInputRoot : IInputElement |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,5 +1,6 @@ |
|
|
|
using System; |
|
|
|
using System.ComponentModel; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Input |
|
|
|
{ |
|
|
|
@ -50,6 +51,7 @@ namespace Avalonia.Input |
|
|
|
KeyboardMask = Alt | Control | Shift | Meta |
|
|
|
} |
|
|
|
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IKeyboardDevice : IInputDevice, INotifyPropertyChanged |
|
|
|
{ |
|
|
|
IInputElement? FocusedElement { get; } |
|
|
|
|
|
|
|
@ -1,8 +1,11 @@ |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Input |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Defines the interface for classes that handle keyboard navigation for a window.
|
|
|
|
/// </summary>
|
|
|
|
[Unstable] |
|
|
|
public interface IKeyboardNavigationHandler |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,5 +1,6 @@ |
|
|
|
using System; |
|
|
|
using Avalonia.Interactivity; |
|
|
|
using Avalonia.Metadata; |
|
|
|
using Avalonia.VisualTree; |
|
|
|
|
|
|
|
namespace Avalonia.Input |
|
|
|
@ -7,6 +8,7 @@ namespace Avalonia.Input |
|
|
|
/// <summary>
|
|
|
|
/// Defines the interface for a window's main menu.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IMainMenu : IVisual |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,10 +1,12 @@ |
|
|
|
using System; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Input |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Represents a mouse device.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IMouseDevice : IPointerDevice |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,5 +1,8 @@ |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Input |
|
|
|
{ |
|
|
|
[NotClientImplementable] |
|
|
|
public interface IPointer |
|
|
|
{ |
|
|
|
int Id { get; } |
|
|
|
|
|
|
|
@ -1,9 +1,11 @@ |
|
|
|
using System; |
|
|
|
using Avalonia.VisualTree; |
|
|
|
using Avalonia.Input.Raw; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Input |
|
|
|
{ |
|
|
|
[NotClientImplementable] |
|
|
|
public interface IPointerDevice : IInputDevice |
|
|
|
{ |
|
|
|
/// <inheritdoc cref="IPointer.Captured" />
|
|
|
|
|
|
|
|
@ -1,7 +1,9 @@ |
|
|
|
using System.Threading.Tasks; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Input.Platform |
|
|
|
{ |
|
|
|
[NotClientImplementable] |
|
|
|
public interface IClipboard |
|
|
|
{ |
|
|
|
Task<string> GetTextAsync(); |
|
|
|
|
|
|
|
@ -1,7 +1,9 @@ |
|
|
|
using System.Threading.Tasks; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Input.Platform |
|
|
|
{ |
|
|
|
[Unstable] |
|
|
|
public interface IPlatformDragSource |
|
|
|
{ |
|
|
|
Task<DragDropEffects> DoDragDrop(PointerEventArgs triggerEvent, IDataObject data, DragDropEffects allowedEffects); |
|
|
|
|
|
|
|
@ -1,5 +1,8 @@ |
|
|
|
namespace Avalonia.Input.Raw |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Input.Raw |
|
|
|
{ |
|
|
|
[NotClientImplementable] |
|
|
|
public interface IDragDropDevice : IInputDevice |
|
|
|
{ |
|
|
|
} |
|
|
|
|
|
|
|
@ -1,5 +1,8 @@ |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Input.TextInput |
|
|
|
{ |
|
|
|
[Unstable] |
|
|
|
public interface ITextInputMethodImpl |
|
|
|
{ |
|
|
|
void SetClient(ITextInputMethodClient? client); |
|
|
|
@ -8,6 +11,7 @@ namespace Avalonia.Input.TextInput |
|
|
|
void Reset(); |
|
|
|
} |
|
|
|
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface ITextInputMethodRoot : IInputRoot |
|
|
|
{ |
|
|
|
ITextInputMethodImpl? InputMethod { get; } |
|
|
|
|
|
|
|
@ -1,4 +1,5 @@ |
|
|
|
using System; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
#nullable enable |
|
|
|
|
|
|
|
@ -7,6 +8,7 @@ namespace Avalonia.Interactivity |
|
|
|
/// <summary>
|
|
|
|
/// Interface for objects that raise routed events.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IInteractive |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,12 +1,12 @@ |
|
|
|
using System; |
|
|
|
|
|
|
|
#nullable enable |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Layout |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Manages measuring and arranging of controls.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface ILayoutManager : IDisposable |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,8 +1,11 @@ |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Layout |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Defines the root of a layoutable tree.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface ILayoutRoot : ILayoutable |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,12 +1,12 @@ |
|
|
|
using Avalonia.Metadata; |
|
|
|
using Avalonia.VisualTree; |
|
|
|
|
|
|
|
#nullable enable |
|
|
|
|
|
|
|
namespace Avalonia.Layout |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Defines layout-related functionality for a control.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface ILayoutable : IVisual |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,12 +1,14 @@ |
|
|
|
using System; |
|
|
|
using Avalonia.Collections; |
|
|
|
using Avalonia.Controls; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.LogicalTree |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Represents a node in the logical tree.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface ILogical |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,8 +1,11 @@ |
|
|
|
namespace Avalonia.LogicalTree |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.LogicalTree |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Represents a root of a logical tree.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface ILogicalRoot : ILogical |
|
|
|
{ |
|
|
|
} |
|
|
|
|
|
|
|
@ -1,4 +1,5 @@ |
|
|
|
using System.ComponentModel; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Media |
|
|
|
{ |
|
|
|
@ -6,6 +7,7 @@ namespace Avalonia.Media |
|
|
|
/// Describes how an area is painted.
|
|
|
|
/// </summary>
|
|
|
|
[TypeConverter(typeof(BrushConverter))] |
|
|
|
[NotClientImplementable] |
|
|
|
public interface IBrush |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,8 +1,11 @@ |
|
|
|
namespace Avalonia.Media |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Media |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Paints an area with a conic gradient.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IConicGradientBrush : IGradientBrush |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,10 +1,12 @@ |
|
|
|
using System.Collections.Generic; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Media |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Represents the sequence of dashes and gaps that will be applied by a <see cref="Pen"/>.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IDashStyle |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,8 +1,11 @@ |
|
|
|
namespace Avalonia.Media |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Media |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Experimental Interface for producing Acrylic-like materials.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IExperimentalAcrylicMaterial |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,10 +1,12 @@ |
|
|
|
using System.Collections.Generic; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Media |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// A brush that draws with a gradient.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IGradientBrush : IBrush |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,8 +1,11 @@ |
|
|
|
namespace Avalonia.Media |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Media |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Describes the location and color of a transition point in a gradient.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IGradientStop |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,10 +1,12 @@ |
|
|
|
using Avalonia.Media.Imaging; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Media |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Paints an area with an <see cref="IBitmap"/>.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IImageBrush : ITileBrush |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
@ -12,4 +14,4 @@ namespace Avalonia.Media |
|
|
|
/// </summary>
|
|
|
|
IBitmap Source { get; } |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -1,8 +1,11 @@ |
|
|
|
namespace Avalonia.Media |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Media |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// A brush that draws with a linear gradient.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface ILinearGradientBrush : IGradientBrush |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
@ -15,4 +18,4 @@ |
|
|
|
/// </summary>
|
|
|
|
RelativePoint EndPoint { get; } |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -1,10 +1,12 @@ |
|
|
|
using System; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Media |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Represents a mutable brush which can return an immutable clone of itself.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IMutableBrush : IBrush, IAffectsRender |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,8 +1,11 @@ |
|
|
|
namespace Avalonia.Media |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Media |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Represents a mutable brush which can return an immutable clone of itself.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IMutableExperimentalAcrylicMaterial : IExperimentalAcrylicMaterial, IAffectsRender |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,4 +1,5 @@ |
|
|
|
using System; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Media |
|
|
|
{ |
|
|
|
|
|
|
|
@ -1,8 +1,11 @@ |
|
|
|
namespace Avalonia.Media |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Media |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Describes how a stroke is drawn.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IPen |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,8 +1,11 @@ |
|
|
|
namespace Avalonia.Media |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Media |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Paints an area with a radial gradient.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IRadialGradientBrush : IGradientBrush |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
@ -21,4 +24,4 @@ |
|
|
|
/// </summary>
|
|
|
|
double Radius { get; } |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -1,8 +1,11 @@ |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Media |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Fills an area with a solid color.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface ISolidColorBrush : IBrush |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
@ -10,4 +13,4 @@ namespace Avalonia.Media |
|
|
|
/// </summary>
|
|
|
|
Color Color { get; } |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -1,10 +1,12 @@ |
|
|
|
using Avalonia.Media.Imaging; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Media |
|
|
|
{ |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// A brush which displays a repeating image.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface ITileBrush : IBrush |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,10 +1,12 @@ |
|
|
|
using Avalonia.VisualTree; |
|
|
|
using Avalonia.Metadata; |
|
|
|
using Avalonia.VisualTree; |
|
|
|
|
|
|
|
namespace Avalonia.Media |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Paints an area with an <see cref="IVisual"/>.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IVisualBrush : ITileBrush |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
@ -12,4 +14,4 @@ namespace Avalonia.Media |
|
|
|
/// </summary>
|
|
|
|
IVisual Visual { get; } |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -1,5 +1,6 @@ |
|
|
|
using System; |
|
|
|
using System.IO; |
|
|
|
using Avalonia.Metadata; |
|
|
|
using Avalonia.Platform; |
|
|
|
using Avalonia.Utilities; |
|
|
|
|
|
|
|
@ -8,6 +9,7 @@ namespace Avalonia.Media.Imaging |
|
|
|
/// <summary>
|
|
|
|
/// Represents a bitmap image.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IBitmap : IImage, IDisposable |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,4 +1,6 @@ |
|
|
|
namespace Avalonia.Media.TextFormatting |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Media.TextFormatting |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Produces <see cref="TextRun"/> objects that are used by the <see cref="TextFormatter"/>.
|
|
|
|
|
|
|
|
@ -0,0 +1,17 @@ |
|
|
|
using System; |
|
|
|
|
|
|
|
namespace Avalonia.Metadata |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// This interface is not intended to be implemented outside of the core Avalonia framework as
|
|
|
|
/// its API may change without warning.
|
|
|
|
/// </summary>
|
|
|
|
/// <remarks>
|
|
|
|
/// This interface is stable for consumption by a client, but should not be implemented as members
|
|
|
|
/// may be added to its API.
|
|
|
|
/// </remarks>
|
|
|
|
[AttributeUsage(AttributeTargets.Interface)] |
|
|
|
public class NotClientImplementableAttribute : Attribute |
|
|
|
{ |
|
|
|
} |
|
|
|
} |
|
|
|
@ -0,0 +1,12 @@ |
|
|
|
using System; |
|
|
|
|
|
|
|
namespace Avalonia.Metadata |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// This API is unstable and is not covered by API compatibility guarantees between minor and
|
|
|
|
/// patch releases.
|
|
|
|
/// </summary>
|
|
|
|
public class UnstableAttribute : Attribute |
|
|
|
{ |
|
|
|
} |
|
|
|
} |
|
|
|
@ -2,12 +2,14 @@ using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.IO; |
|
|
|
using System.Reflection; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Platform |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Loads assets compiled into the application binary.
|
|
|
|
/// </summary>
|
|
|
|
[Unstable] |
|
|
|
public interface IAssetLoader |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,11 +1,13 @@ |
|
|
|
using System; |
|
|
|
using System.IO; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Platform |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Defines the platform-specific interface for a <see cref="Avalonia.Media.Imaging.Bitmap"/>.
|
|
|
|
/// </summary>
|
|
|
|
[Unstable] |
|
|
|
public interface IBitmapImpl : IDisposable |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,5 +1,6 @@ |
|
|
|
using System; |
|
|
|
using Avalonia.Input; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
#nullable enable |
|
|
|
|
|
|
|
@ -8,6 +9,7 @@ namespace Avalonia.Platform |
|
|
|
/// <summary>
|
|
|
|
/// Represents a platform implementation of a <see cref="Cursor"/>.
|
|
|
|
/// </summary>
|
|
|
|
[Unstable] |
|
|
|
public interface ICursorImpl : IDisposable |
|
|
|
{ |
|
|
|
} |
|
|
|
|
|
|
|
@ -3,12 +3,14 @@ using Avalonia.Media; |
|
|
|
using Avalonia.Rendering.SceneGraph; |
|
|
|
using Avalonia.Utilities; |
|
|
|
using Avalonia.Media.Imaging; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Platform |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Defines the interface through which drawing occurs.
|
|
|
|
/// </summary>
|
|
|
|
[Unstable] |
|
|
|
public interface IDrawingContextImpl : IDisposable |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,9 +1,11 @@ |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Globalization; |
|
|
|
using Avalonia.Media; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Platform |
|
|
|
{ |
|
|
|
[Unstable] |
|
|
|
public interface IFontManagerImpl |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,10 +1,12 @@ |
|
|
|
using Avalonia.Media; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Platform |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Defines the platform-specific interface for a <see cref="Geometry"/>.
|
|
|
|
/// </summary>
|
|
|
|
[Unstable] |
|
|
|
public interface IGeometryImpl |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,9 +1,11 @@ |
|
|
|
using System; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Platform |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Actual implementation of a glyph run that stores platform dependent resources.
|
|
|
|
/// </summary>
|
|
|
|
[Unstable] |
|
|
|
public interface IGlyphRunImpl : IDisposable { } |
|
|
|
} |
|
|
|
|
|
|
|
@ -1,7 +1,9 @@ |
|
|
|
using System; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Platform |
|
|
|
{ |
|
|
|
[Unstable] |
|
|
|
public interface IGlyphTypefaceImpl : IDisposable |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,7 +1,9 @@ |
|
|
|
using System; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Platform |
|
|
|
{ |
|
|
|
[Unstable] |
|
|
|
public interface IMacOSTopLevelPlatformHandle |
|
|
|
{ |
|
|
|
IntPtr NSView { get; } |
|
|
|
|
|
|
|
@ -3,12 +3,14 @@ using System.Collections.Generic; |
|
|
|
using System.IO; |
|
|
|
using Avalonia.Media; |
|
|
|
using Avalonia.Media.Imaging; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Platform |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Defines the main platform-specific interface for the rendering subsystem.
|
|
|
|
/// </summary>
|
|
|
|
[Unstable] |
|
|
|
public interface IPlatformRenderInterface |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,7 +1,9 @@ |
|
|
|
using System; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Platform |
|
|
|
{ |
|
|
|
[Unstable] |
|
|
|
public interface IPlatformSettings |
|
|
|
{ |
|
|
|
Size DoubleClickSize { get; } |
|
|
|
|
|
|
|
@ -1,5 +1,6 @@ |
|
|
|
using System; |
|
|
|
using System.Threading; |
|
|
|
using Avalonia.Metadata; |
|
|
|
using Avalonia.Threading; |
|
|
|
|
|
|
|
namespace Avalonia.Platform |
|
|
|
@ -7,6 +8,7 @@ namespace Avalonia.Platform |
|
|
|
/// <summary>
|
|
|
|
/// Provides platform-specific services relating to threading.
|
|
|
|
/// </summary>
|
|
|
|
[Unstable] |
|
|
|
public interface IPlatformThreadingInterface |
|
|
|
{ |
|
|
|
void RunLoop(CancellationToken cancellationToken); |
|
|
|
|
|
|
|
@ -1,3 +1,4 @@ |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Platform |
|
|
|
{ |
|
|
|
@ -5,6 +6,7 @@ namespace Avalonia.Platform |
|
|
|
/// Defines the platform-specific interface for a
|
|
|
|
/// <see cref="Avalonia.Media.Imaging.RenderTargetBitmap"/>.
|
|
|
|
/// </summary>
|
|
|
|
[Unstable] |
|
|
|
public interface IRenderTargetBitmapImpl : IBitmapImpl, IRenderTarget |
|
|
|
{ |
|
|
|
} |
|
|
|
|
|
|
|
@ -1,7 +1,9 @@ |
|
|
|
using System; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Platform |
|
|
|
{ |
|
|
|
[Unstable] |
|
|
|
public interface IRuntimePlatform |
|
|
|
{ |
|
|
|
IDisposable StartSystemTimer(TimeSpan interval, Action tick); |
|
|
|
@ -9,6 +11,7 @@ namespace Avalonia.Platform |
|
|
|
IUnmanagedBlob AllocBlob(int size); |
|
|
|
} |
|
|
|
|
|
|
|
[Unstable] |
|
|
|
public interface IUnmanagedBlob : IDisposable |
|
|
|
{ |
|
|
|
IntPtr Address { get; } |
|
|
|
@ -17,6 +20,7 @@ namespace Avalonia.Platform |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
[Unstable] |
|
|
|
public struct RuntimePlatformInfo |
|
|
|
{ |
|
|
|
public OperatingSystemType OperatingSystem { get; set; } |
|
|
|
@ -29,6 +33,7 @@ namespace Avalonia.Platform |
|
|
|
public bool IsUnix { get; set; } |
|
|
|
} |
|
|
|
|
|
|
|
[Unstable] |
|
|
|
public enum OperatingSystemType |
|
|
|
{ |
|
|
|
Unknown, |
|
|
|
|
|
|
|
@ -1,8 +1,11 @@ |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Platform |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Describes a geometry using drawing commands.
|
|
|
|
/// </summary>
|
|
|
|
[Unstable] |
|
|
|
public interface IStreamGeometryContextImpl : IGeometryContext |
|
|
|
{ |
|
|
|
} |
|
|
|
|
|
|
|
@ -1,8 +1,11 @@ |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Platform |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Defines the platform-specific interface for a <see cref="Avalonia.Media.StreamGeometry"/>.
|
|
|
|
/// </summary>
|
|
|
|
[Unstable] |
|
|
|
public interface IStreamGeometryImpl : IGeometryImpl |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,4 +1,5 @@ |
|
|
|
using Avalonia.Media.TextFormatting; |
|
|
|
using Avalonia.Metadata; |
|
|
|
using Avalonia.Utilities; |
|
|
|
|
|
|
|
namespace Avalonia.Platform |
|
|
|
@ -6,6 +7,7 @@ namespace Avalonia.Platform |
|
|
|
/// <summary>
|
|
|
|
/// An abstraction that is used produce shaped text.
|
|
|
|
/// </summary>
|
|
|
|
[Unstable] |
|
|
|
public interface ITextShaperImpl |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,4 +1,6 @@ |
|
|
|
namespace Avalonia.Platform |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Platform |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Represents a geometry with a transform applied.
|
|
|
|
@ -7,6 +9,7 @@ |
|
|
|
/// An <see cref="ITransformedGeometryImpl"/> transforms a geometry without transforming its
|
|
|
|
/// stroke thickness.
|
|
|
|
/// </remarks>
|
|
|
|
[Unstable] |
|
|
|
public interface ITransformedGeometryImpl : IGeometryImpl |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,8 +1,11 @@ |
|
|
|
namespace Avalonia.Platform |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Platform |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Defines the platform-specific interface for a <see cref="Avalonia.Media.Imaging.WriteableBitmap"/>.
|
|
|
|
/// </summary>
|
|
|
|
[Unstable] |
|
|
|
public interface IWriteableBitmapImpl : IBitmapImpl |
|
|
|
{ |
|
|
|
ILockedFramebuffer Lock(); |
|
|
|
|
|
|
|
@ -1,7 +1,9 @@ |
|
|
|
using System; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Platform.Interop |
|
|
|
{ |
|
|
|
[Unstable] |
|
|
|
public interface IDynamicLibraryLoader |
|
|
|
{ |
|
|
|
IntPtr LoadLibrary(string dll); |
|
|
|
|
|
|
|
@ -1,7 +1,9 @@ |
|
|
|
using System; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Rendering |
|
|
|
{ |
|
|
|
[Unstable] |
|
|
|
public interface IDeferredRendererLock |
|
|
|
{ |
|
|
|
IDisposable? TryLock(); |
|
|
|
|
|
|
|
@ -1,4 +1,6 @@ |
|
|
|
namespace Avalonia.Rendering |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Rendering |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// The application render loop.
|
|
|
|
@ -7,6 +9,7 @@ |
|
|
|
/// The render loop is responsible for advancing the animation timer and updating the scene
|
|
|
|
/// graph for visible windows.
|
|
|
|
/// </remarks>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IRenderLoop |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,3 +1,4 @@ |
|
|
|
using Avalonia.Metadata; |
|
|
|
using Avalonia.Platform; |
|
|
|
using Avalonia.VisualTree; |
|
|
|
|
|
|
|
@ -6,6 +7,7 @@ namespace Avalonia.Rendering |
|
|
|
/// <summary>
|
|
|
|
/// Represents the root of a renderable tree.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IRenderRoot : IVisual |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,11 +1,13 @@ |
|
|
|
using System; |
|
|
|
using System.Threading.Tasks; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Rendering |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Defines the interface implemented by an application render timer.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IRenderTimer |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,4 +1,5 @@ |
|
|
|
using Avalonia.Media; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Rendering |
|
|
|
{ |
|
|
|
@ -6,6 +7,7 @@ namespace Avalonia.Rendering |
|
|
|
/// Internal interface for initializing controls that are to be used as the visual in a
|
|
|
|
/// <see cref="VisualBrush"/>.
|
|
|
|
/// </summary>
|
|
|
|
[Unstable] |
|
|
|
public interface IVisualBrushInitialize |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,4 +1,5 @@ |
|
|
|
using Avalonia.Media; |
|
|
|
using Avalonia.Metadata; |
|
|
|
using Avalonia.Platform; |
|
|
|
|
|
|
|
namespace Avalonia.Rendering |
|
|
|
@ -6,6 +7,7 @@ namespace Avalonia.Rendering |
|
|
|
/// <summary>
|
|
|
|
/// Defines a renderer used to render a visual brush to a bitmap.
|
|
|
|
/// </summary>
|
|
|
|
[Unstable] |
|
|
|
public interface IVisualBrushRenderer |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,6 +1,5 @@ |
|
|
|
#nullable enable |
|
|
|
|
|
|
|
using System; |
|
|
|
using System; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Styling.Activators |
|
|
|
{ |
|
|
|
@ -16,6 +15,7 @@ namespace Avalonia.Styling.Activators |
|
|
|
/// - The subscription can have a tag associated with it, allowing a subscriber to index
|
|
|
|
/// into a list of subscriptions without having to allocate additional objects.
|
|
|
|
/// </remarks>
|
|
|
|
[Unstable] |
|
|
|
public interface IStyleActivator : IDisposable |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,10 +1,11 @@ |
|
|
|
#nullable enable |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Styling.Activators |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Receives notifications from an <see cref="IStyleActivator"/>.
|
|
|
|
/// </summary>
|
|
|
|
[Unstable] |
|
|
|
public interface IStyleActivatorSink |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,13 +1,13 @@ |
|
|
|
using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
|
|
|
|
#nullable enable |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Styling |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Defines the style host that provides styles global to the application.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IGlobalStyles : IStyleHost |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,12 +1,12 @@ |
|
|
|
using System; |
|
|
|
|
|
|
|
#nullable enable |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Styling |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Represents a setter for a <see cref="Style"/>.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface ISetter |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,12 +1,12 @@ |
|
|
|
#nullable enable |
|
|
|
|
|
|
|
using System; |
|
|
|
using System; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Styling |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Represents a setter that has been instanced on a control.
|
|
|
|
/// </summary>
|
|
|
|
[Unstable] |
|
|
|
public interface ISetterInstance : IDisposable |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,13 +1,13 @@ |
|
|
|
using System.Collections.Generic; |
|
|
|
using Avalonia.Controls; |
|
|
|
|
|
|
|
#nullable enable |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Styling |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Defines the interface for styles.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IStyle : IResourceNode |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,5 +1,6 @@ |
|
|
|
|
|
|
|
using System.Collections.Generic; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
#nullable enable |
|
|
|
|
|
|
|
@ -8,6 +9,7 @@ namespace Avalonia.Styling |
|
|
|
/// <summary>
|
|
|
|
/// Defines an element that has a <see cref="Styles"/> collection.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IStyleHost |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,12 +1,12 @@ |
|
|
|
using System; |
|
|
|
|
|
|
|
#nullable enable |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Styling |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
/// Represents a style that has been instanced on a control.
|
|
|
|
/// </summary>
|
|
|
|
[Unstable] |
|
|
|
public interface IStyleInstance : IDisposable |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,6 +1,7 @@ |
|
|
|
using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using Avalonia.Collections; |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
#nullable enable |
|
|
|
|
|
|
|
@ -9,6 +10,7 @@ namespace Avalonia.Styling |
|
|
|
/// <summary>
|
|
|
|
/// Interface for styleable elements.
|
|
|
|
/// </summary>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IStyleable : IAvaloniaObject, INamed |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
@ -1,6 +1,8 @@ |
|
|
|
using Avalonia.Metadata; |
|
|
|
|
|
|
|
namespace Avalonia.Styling |
|
|
|
{ |
|
|
|
[NotClientImplementable] |
|
|
|
public interface ITemplatedControl : IAvaloniaObject |
|
|
|
{ |
|
|
|
} |
|
|
|
|
|
|
|
@ -1,10 +1,9 @@ |
|
|
|
using System; |
|
|
|
using Avalonia.Collections; |
|
|
|
using Avalonia.Media; |
|
|
|
using Avalonia.Metadata; |
|
|
|
using Avalonia.Rendering; |
|
|
|
|
|
|
|
#nullable enable |
|
|
|
|
|
|
|
namespace Avalonia.VisualTree |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
@ -18,6 +17,7 @@ namespace Avalonia.VisualTree |
|
|
|
/// implemented by <see cref="Visual"/>. It should not be necessary to implement it
|
|
|
|
/// anywhere else.
|
|
|
|
/// </remarks>
|
|
|
|
[NotClientImplementable] |
|
|
|
public interface IVisual |
|
|
|
{ |
|
|
|
/// <summary>
|
|
|
|
|