Browse Source
Adds two attributes which describe the stability of an API: - `UnstableAttribute` indicates that we provide no API stability guarantees for the class between minor/patch versions. This is mostly applied to `*Impl` interfaces which describe the interface between core Avalonia and platform implementations - `NotClientImplementableAttribute` indicates that an interface is stable for consumption by a client, but should not be implemented outside of Avalonia itself (either because custom implementations are not supported, or because as members may be added to its API)pull/8049/head
175 changed files with 452 additions and 79 deletions
@ -0,0 +1,2 @@ |
|||
T:Avalonia.Metadata.NotClientImplementableAttribute |
|||
T:Avalonia.Metadata.UnstableAttribute |
|||
@ -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 |
|||
{ |
|||
} |
|||
} |
|||
@ -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 { } |
|||
} |
|||
|
|||
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue