Browse Source

Changed the way DispatcherPriority values are defined, added PreComposition priority

pull/9546/head
Nikita Tsukanov 3 years ago
parent
commit
141706f727
  1. 27
      src/Avalonia.Base/Threading/DispatcherPriority.cs

27
src/Avalonia.Base/Threading/DispatcherPriority.cs

@ -45,32 +45,37 @@ namespace Avalonia.Threading
/// <summary> /// <summary>
/// The job will be processed after other non-idle operations have completed. /// The job will be processed after other non-idle operations have completed.
/// </summary> /// </summary>
public static readonly DispatcherPriority Background = new(1); public static readonly DispatcherPriority Background = new(MinValue + 1);
/// <summary> /// <summary>
/// The job will be processed with the same priority as input. /// The job will be processed with the same priority as input.
/// </summary> /// </summary>
public static readonly DispatcherPriority Input = new(2); public static readonly DispatcherPriority Input = new(Background + 1);
/// <summary> /// <summary>
/// The job will be processed after layout and render but before input. /// The job will be processed after layout and render but before input.
/// </summary> /// </summary>
public static readonly DispatcherPriority Loaded = new(3); public static readonly DispatcherPriority Loaded = new(Input + 1);
/// <summary> /// <summary>
/// The job will be processed with the same priority as render. /// The job will be processed with the same priority as render.
/// </summary> /// </summary>
public static readonly DispatcherPriority Render = new(5); public static readonly DispatcherPriority Render = new(Loaded + 1);
/// <summary> /// <summary>
/// The job will be processed with the same priority as composition updates. /// The job will be processed with the same priority as composition updates.
/// </summary> /// </summary>
public static readonly DispatcherPriority Composition = new(6); public static readonly DispatcherPriority Composition = new(Render + 1);
/// <summary> /// <summary>
/// The job will be processed with the same priority as render. /// The job will be processed with the same priority as composition updates.
/// </summary>
public static readonly DispatcherPriority PreComposition = new(Composition + 1);
/// <summary>
/// The job will be processed with the same priority as layout.
/// </summary> /// </summary>
public static readonly DispatcherPriority Layout = new(7); public static readonly DispatcherPriority Layout = new(PreComposition + 1);
/// <summary> /// <summary>
/// The job will be processed with the same priority as data binding. /// The job will be processed with the same priority as data binding.
@ -80,7 +85,7 @@ namespace Avalonia.Threading
/// <summary> /// <summary>
/// The job will be processed before other asynchronous operations. /// The job will be processed before other asynchronous operations.
/// </summary> /// </summary>
public static readonly DispatcherPriority Send = new(8); public static readonly DispatcherPriority Send = new(Layout + 1);
/// <summary> /// <summary>
/// Maximum possible priority /// Maximum possible priority

Loading…
Cancel
Save