瀏覽代碼

AlignmentModes -> GenerateEnumExtensionMethods

Tig 1 年之前
父節點
當前提交
f6e5caf3a1
共有 3 個文件被更改,包括 7 次插入2 次删除
  1. 2 2
      Terminal.Gui/Drawing/Aligner.cs
  2. 4 0
      Terminal.Gui/Drawing/Alignment.cs
  3. 1 0
      Terminal.Gui/Drawing/AlignmentModes.cs

+ 2 - 2
Terminal.Gui/Drawing/Aligner.cs

@@ -88,12 +88,12 @@ public class Aligner : INotifyPropertyChanged
         }
 
         var sizesCopy = sizes;
-        if (alignmentMode.HasFlag (AlignmentModes.EndToStart))
+        if (alignmentMode.FastHasFlags (AlignmentModes.EndToStart))
         {
             sizesCopy = sizes.Reverse ().ToArray ();
         }
 
-        int maxSpaceBetweenItems = alignmentMode.HasFlag (AlignmentModes.AddSpaceBetweenItems) ? 1 : 0;
+        int maxSpaceBetweenItems = alignmentMode.FastHasFlags (AlignmentModes.AddSpaceBetweenItems) ? 1 : 0;
         int totalItemsSize = sizes.Sum ();
         int totalGaps = sizes.Length - 1; // total gaps between items
         int totalItemsAndSpaces = totalItemsSize + totalGaps * maxSpaceBetweenItems; // total size of items and spacesToGive if we had enough room

+ 4 - 0
Terminal.Gui/Drawing/Alignment.cs

@@ -1,8 +1,12 @@
+using Terminal.Gui.Analyzers.Internal.Attributes;
+
 namespace Terminal.Gui;
 
 /// <summary>
 ///     Determines the position of items when arranged in a container.
 /// </summary>
+[GenerateEnumExtensionMethods (FastHasFlags = true)]
+
 public enum Alignment
 {
     /// <summary>

+ 1 - 0
Terminal.Gui/Drawing/AlignmentModes.cs

@@ -6,6 +6,7 @@ namespace Terminal.Gui;
 ///     Determines alignment modes for <see cref="Alignment"/>.
 /// </summary>
 [Flags]
+[GenerateEnumExtensionMethods (FastHasFlags = true)]
 public enum AlignmentModes
 {
     /// <summary>