diff --git a/Terminal.Gui/Drawing/SixelSupportDetector.cs b/Terminal.Gui/Drawing/SixelSupportDetector.cs
index 48bc01849..54b7cd5c0 100644
--- a/Terminal.Gui/Drawing/SixelSupportDetector.cs
+++ b/Terminal.Gui/Drawing/SixelSupportDetector.cs
@@ -9,9 +9,9 @@ namespace Terminal.Gui;
///
public class SixelSupportDetector
{
- public SixelSupport Detect ()
+ public SixelSupportResult Detect ()
{
- var result = new SixelSupport ();
+ var result = new SixelSupportResult ();
result.IsSupported =
AnsiEscapeSequenceRequest.TryExecuteAnsiRequest (EscSeqUtils.CSI_SendDeviceAttributes, out AnsiEscapeSequenceResponse darResponse)
@@ -77,25 +77,4 @@ public class SixelSupportDetector
return result;
}
-}
-
-public class SixelSupport
-{
- ///
- /// Whether the current driver supports sixel graphic format.
- /// Defaults to false.
- ///
- public bool IsSupported { get; set; }
-
- ///
- /// The number of pixels of sixel that corresponds to each Col ()
- /// and each Row (. Defaults to 10x20.
- ///
- public Size Resolution { get; set; } = new (10, 20);
-
- ///
- /// The maximum number of colors that can be included in a sixel image. Defaults
- /// to 256.
- ///
- public int MaxPaletteColors { get; set; } = 256;
-}
+}
\ No newline at end of file
diff --git a/Terminal.Gui/Drawing/SixelSupportResult.cs b/Terminal.Gui/Drawing/SixelSupportResult.cs
new file mode 100644
index 000000000..d9b8eb03e
--- /dev/null
+++ b/Terminal.Gui/Drawing/SixelSupportResult.cs
@@ -0,0 +1,27 @@
+namespace Terminal.Gui;
+
+///
+/// Describes the discovered state of sixel support and ancillary information
+/// e.g. . You can use
+/// to discover this information.
+///
+public class SixelSupportResult
+{
+ ///
+ /// Whether the current driver supports sixel graphic format.
+ /// Defaults to false.
+ ///
+ public bool IsSupported { get; set; }
+
+ ///
+ /// The number of pixels of sixel that corresponds to each Col ()
+ /// and each Row (. Defaults to 10x20.
+ ///
+ public Size Resolution { get; set; } = new (10, 20);
+
+ ///
+ /// The maximum number of colors that can be included in a sixel image. Defaults
+ /// to 256.
+ ///
+ public int MaxPaletteColors { get; set; } = 256;
+}
diff --git a/UICatalog/Scenarios/Images.cs b/UICatalog/Scenarios/Images.cs
index 14bdf24dd..8d1fa1332 100644
--- a/UICatalog/Scenarios/Images.cs
+++ b/UICatalog/Scenarios/Images.cs
@@ -61,14 +61,14 @@ public class Images : Scenario
private RadioGroup _rgDistanceAlgorithm;
private NumericUpDown _popularityThreshold;
private SixelToRender _sixelImage;
- private SixelSupport _sixelSupport;
+ private SixelSupportResult _sixelSupportResult;
public override void Main ()
{
var sixelSupportDetector = new SixelSupportDetector ();
- _sixelSupport = sixelSupportDetector.Detect ();
+ _sixelSupportResult = sixelSupportDetector.Detect ();
- ConsoleDriver.SupportsSixel = _sixelSupport.IsSupported;
+ ConsoleDriver.SupportsSixel = _sixelSupportResult.IsSupported;
Application.Init ();
_win = new() { Title = $"{Application.QuitKey} to Quit - Scenario: {GetName ()}" };
@@ -166,7 +166,7 @@ public class Images : Scenario
_fire = new DoomFire (_win.Frame.Width * _pxX.Value, _win.Frame.Height * _pxY.Value);
_fireEncoder = new SixelEncoder ();
- _fireEncoder.Quantizer.MaxColors = Math.Min (_fireEncoder.Quantizer.MaxColors, _sixelSupport.MaxPaletteColors);
+ _fireEncoder.Quantizer.MaxColors = Math.Min (_fireEncoder.Quantizer.MaxColors, _sixelSupportResult.MaxPaletteColors);
_fireEncoder.Quantizer.PaletteBuildingAlgorithm = new ConstPalette (_fire.Palette);
_fireFrameCounter = 0;
@@ -344,7 +344,7 @@ public class Images : Scenario
{
X = Pos.Right (lblPxX),
Y = Pos.Bottom (btnStartFire) + 1,
- Value = _sixelSupport.Resolution.Width
+ Value = _sixelSupportResult.Resolution.Width
};
var lblPxY = new Label
@@ -358,7 +358,7 @@ public class Images : Scenario
{
X = Pos.Right (lblPxY),
Y = Pos.Bottom (_pxX),
- Value = _sixelSupport.Resolution.Height
+ Value = _sixelSupportResult.Resolution.Height
};
var l1 = new Label ()
@@ -507,7 +507,7 @@ public class Images : Scenario
)
{
var encoder = new SixelEncoder ();
- encoder.Quantizer.MaxColors = Math.Min (encoder.Quantizer.MaxColors, _sixelSupport.MaxPaletteColors);
+ encoder.Quantizer.MaxColors = Math.Min (encoder.Quantizer.MaxColors, _sixelSupportResult.MaxPaletteColors);
encoder.Quantizer.PaletteBuildingAlgorithm = GetPaletteBuilder ();
encoder.Quantizer.DistanceAlgorithm = GetDistanceAlgorithm ();