LibSixel.xml

<?xml version="1.0"?>
<doc>
    <assembly>
        <name>LibSixel</name>
    </assembly>
    <members>
        <member name="T:LibSixel.DiffuseMethod">
            <summary>
            Error-diffusion (dithering) method used when mapping pixels to a palette.
            </summary>
        </member>
        <member name="F:LibSixel.DiffuseMethod.Auto">
            <summary>Select the method automatically.</summary>
        </member>
        <member name="F:LibSixel.DiffuseMethod.None">
            <summary>No diffusion — nearest palette colour only.</summary>
        </member>
        <member name="F:LibSixel.DiffuseMethod.Atkinson">
            <summary>Atkinson dithering.</summary>
        </member>
        <member name="F:LibSixel.DiffuseMethod.FloydSteinberg">
            <summary>Floyd-Steinberg error diffusion.</summary>
        </member>
        <member name="F:LibSixel.DiffuseMethod.JarvisJudiceNinke">
            <summary>Jarvis-Judice-Ninke error diffusion.</summary>
        </member>
        <member name="F:LibSixel.DiffuseMethod.Stucki">
            <summary>Stucki error diffusion.</summary>
        </member>
        <member name="F:LibSixel.DiffuseMethod.Burkes">
            <summary>Burkes error diffusion.</summary>
        </member>
        <member name="T:LibSixel.Internal.ColorQuantizer">
            <summary>
            Median-cut colour quantizer and palette-application helper.
            Ported from quant.c in the original libsixel C library.
            </summary>
        </member>
        <member name="M:LibSixel.Internal.ColorQuantizer.Quantize(System.ReadOnlySpan{System.Byte},System.Int32,System.Int32,System.Int32,System.Byte[]@)">
            <summary>
            Quantizes the colours in <paramref name="rgbPixels"/> using the median-cut algorithm
            and returns an array of paletted pixel indices.
            </summary>
            <param name="rgbPixels">Packed RGB24 bytes (R, G, B per pixel).</param>
            <param name="width">Image width.</param>
            <param name="height">Image height.</param>
            <param name="maxColors">Desired palette size (2–256).</param>
            <param name="palette">Receives the RGB24 palette (length = actual colour count × 3).</param>
            <returns>Array of palette indices, one per pixel (length = width × height).</returns>
        </member>
        <member name="M:LibSixel.Internal.ColorQuantizer.ApplyPalette(System.ReadOnlySpan{System.Byte},System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Maps each pixel in <paramref name="rgbPixels"/> to the nearest entry in
            <paramref name="palette"/>, optionally applying error diffusion.
            </summary>
            <param name="rgbPixels">Packed RGB24 source pixels.</param>
            <param name="width">Image width.</param>
            <param name="height">Image height.</param>
            <param name="palette">RGB24 palette.</param>
            <param name="ncolors">Number of palette entries.</param>
            <param name="diffuseMethod">Dithering method (see <see cref="F:LibSixel.SixelConstants.DiffuseNone"/> etc.).</param>
            <returns>Palette-indexed pixel array.</returns>
        </member>
        <member name="T:LibSixel.Internal.PixelConverter">
            <summary>
            Converts between different pixel-buffer layouts and RGB24.
            </summary>
        </member>
        <member name="M:LibSixel.Internal.PixelConverter.ToRgb24(System.ReadOnlySpan{System.Byte},System.Int32,System.Int32,LibSixel.PixelFormat)">
            <summary>
            Returns a new byte array containing the image data in packed RGB24 order (R, G, B per pixel).
            </summary>
        </member>
        <member name="T:LibSixel.Internal.SixelCore">
            <summary>
            Core SIXEL encoding algorithm, ported from <c>tosixel.c</c> in the original libsixel C library.
            </summary>
        </member>
        <member name="M:LibSixel.Internal.SixelCore.Encode(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,LibSixel.SixelOutput)">
            <summary>
            Encodes a palette-indexed image to SIXEL format and writes it to <paramref name="output"/>.
            </summary>
            <param name="palettedPixels">One palette-index byte per pixel, in row-major order.</param>
            <param name="width">Image width in pixels.</param>
            <param name="height">Image height in pixels.</param>
            <param name="palette">Flat RGB24 palette (length = ncolors × 3).</param>
            <param name="ncolors">Number of colours in the palette.</param>
            <param name="output">Output context to write into.</param>
        </member>
        <member name="M:LibSixel.Internal.SixelCore.WriteColorIntro(System.Int32,System.Byte[],LibSixel.SixelOutput)">
            <summary>
            Writes <c>#index;2;r;g;b</c> colour-introduction sequence.
            r, g, b values are scaled to 0–100 as required by the SIXEL spec.
            </summary>
        </member>
        <member name="M:LibSixel.Internal.SixelCore.WriteRle(System.Byte[],System.Int32,LibSixel.SixelOutput)">
            <summary>
            Writes <paramref name="sixels"/> using repeat encoding where beneficial
            (<c>!count char</c> when the same character repeats more than 3 times).
            </summary>
        </member>
        <member name="T:LibSixel.Internal.SixelDecodeResult">
            <summary>
            Decoded image produced by <see cref="T:LibSixel.Internal.SixelParser"/>.
            </summary>
        </member>
        <member name="P:LibSixel.Internal.SixelDecodeResult.Pixels">
            <summary>Palette-indexed pixel data, one byte per pixel.</summary>
        </member>
        <member name="P:LibSixel.Internal.SixelDecodeResult.Palette">
            <summary>Flat RGB24 palette (length = <see cref="P:LibSixel.Internal.SixelDecodeResult.NumColors"/> × 3).</summary>
        </member>
        <member name="P:LibSixel.Internal.SixelDecodeResult.NumColors">
            <summary>Number of colours defined in <see cref="P:LibSixel.Internal.SixelDecodeResult.Palette"/>.</summary>
        </member>
        <member name="P:LibSixel.Internal.SixelDecodeResult.Width">
            <summary>Image width in pixels.</summary>
        </member>
        <member name="P:LibSixel.Internal.SixelDecodeResult.Height">
            <summary>Image height in pixels.</summary>
        </member>
        <member name="M:LibSixel.Internal.SixelDecodeResult.ToRgba32">
            <summary>Converts the indexed image to RGBA32 (R, G, B, A per pixel, A = 255).</summary>
        </member>
        <member name="M:LibSixel.Internal.SixelDecodeResult.ToRgb24">
            <summary>Converts the indexed image to RGB24 (R, G, B per pixel).</summary>
        </member>
        <member name="T:LibSixel.Internal.SixelParser">
            <summary>
            SIXEL stream parser, ported from <c>fromsixel.c</c> in the original libsixel C library.
            </summary>
        </member>
        <member name="M:LibSixel.Internal.SixelParser.Decode(System.ReadOnlySpan{System.Byte})">
            <summary>Parses a SIXEL byte stream and returns the decoded image.</summary>
        </member>
        <member name="T:LibSixel.PixelFormat">
            <summary>
            Describes the memory layout of pixel data passed to the encoder.
            </summary>
        </member>
        <member name="F:LibSixel.PixelFormat.RGB888">
            <summary>3 bytes per pixel: Red, Green, Blue.</summary>
        </member>
        <member name="F:LibSixel.PixelFormat.RGBA8888">
            <summary>4 bytes per pixel: Red, Green, Blue, Alpha.</summary>
        </member>
        <member name="F:LibSixel.PixelFormat.BGR888">
            <summary>3 bytes per pixel: Blue, Green, Red.</summary>
        </member>
        <member name="F:LibSixel.PixelFormat.BGRA8888">
            <summary>4 bytes per pixel: Blue, Green, Red, Alpha.</summary>
        </member>
        <member name="F:LibSixel.PixelFormat.ARGB8888">
            <summary>4 bytes per pixel: Alpha, Red, Green, Blue.</summary>
        </member>
        <member name="F:LibSixel.PixelFormat.PAL8">
            <summary>1 byte per pixel — palette index.</summary>
        </member>
        <member name="T:LibSixel.SixelConstants">
            <summary>
            Constants mirroring the libsixel C library definitions.
            </summary>
        </member>
        <member name="F:LibSixel.SixelConstants.PaletteMin">
            <summary>Minimum palette size.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.PaletteMax">
            <summary>Maximum palette size.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.WidthLimit">
            <summary>Maximum image width in pixels.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.HeightLimit">
            <summary>Maximum image height in pixels.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.OK">
            <summary>Operation succeeded.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.False">
            <summary>False / condition not met (not an error).</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.BadAllocation">
            <summary>Memory allocation failure.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.BadArgument">
            <summary>Bad argument supplied.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.BadInput">
            <summary>Bad or malformed input data.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.NotImplemented">
            <summary>Feature not implemented.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.LargeAuto">
            <summary>Choose largest dimension automatically.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.LargeNorm">
            <summary>Choose the dimension with the largest variance.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.LargeLinf">
            <summary>Choose the dimension with the largest range.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.RepAuto">
            <summary>Choose representative color automatically.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.RepCenterBox">
            <summary>Use center of the box.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.RepAverageColors">
            <summary>Use average of all pixels in the box.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.RepAveragePixels">
            <summary>Use average weighted by pixel count.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.DiffuseAuto">
            <summary>Choose diffusion method automatically.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.DiffuseNone">
            <summary>No diffusion (nearest-color).</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.DiffuseAtkinson">
            <summary>Atkinson dithering.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.DiffuseFloydSteinberg">
            <summary>Floyd-Steinberg dithering.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.DiffuseJarvisJudiceNinke">
            <summary>Jarvis-Judice-Ninke dithering.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.DiffuseStucki">
            <summary>Stucki dithering.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.DiffuseBurkes">
            <summary>Burkes dithering.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.QualityAuto">
            <summary>Automatic quality selection.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.QualityHigh">
            <summary>High quality (slower).</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.QualityLow">
            <summary>Low quality (faster).</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.QualityFull">
            <summary>Full quality (slowest, most accurate).</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.QualityHighColor">
            <summary>Highest quality mode.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.BuiltinMonoDark">
            <summary>Monochrome (black background) palette.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.BuiltinMonoLight">
            <summary>Monochrome (white background) palette.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.BuiltinXterm16">
            <summary>xterm 16-color palette.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.BuiltinXterm256">
            <summary>xterm 256-color palette.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.BuiltinVT340Mono">
            <summary>VT340 16-color palette.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.BuiltinVT340Color">
            <summary>VT340 16-color color palette.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.BuiltinG1">
            <summary>1-bit grayscale palette.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.BuiltinG2">
            <summary>2-bit grayscale palette.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.BuiltinG4">
            <summary>4-bit grayscale palette.</summary>
        </member>
        <member name="F:LibSixel.SixelConstants.BuiltinG8">
            <summary>8-bit grayscale palette.</summary>
        </member>
        <member name="T:LibSixel.SixelDecoder">
            <summary>
            High-level SIXEL decoder.
            </summary>
        </member>
        <member name="M:LibSixel.SixelDecoder.Decode(System.Byte[])">
            <summary>
            Decodes a SIXEL byte array.
            </summary>
            <param name="sixelData">Raw SIXEL bytes, typically starting with <c>ESC P</c>.</param>
            <returns>Decoded image result.</returns>
        </member>
        <member name="M:LibSixel.SixelDecoder.Decode(System.String)">
            <summary>
            Decodes a SIXEL string.
            </summary>
            <param name="sixelString">SIXEL data as a string (Latin-1 / ISO-8859-1 encoding assumed).</param>
        </member>
        <member name="M:LibSixel.SixelDecoder.Decode(System.ReadOnlySpan{System.Byte})">
            <summary>
            Decodes a SIXEL byte span.
            </summary>
        </member>
        <member name="T:LibSixel.SixelDither">
            <summary>
            Holds palette and quantization settings used when encoding pixel data to SIXEL.
            </summary>
        </member>
        <member name="P:LibSixel.SixelDither.Palette">
            <summary>
            RGB palette as a flat byte array of length <see cref="P:LibSixel.SixelDither.NumColors"/> * 3.
            Each triplet is (R, G, B) in the range 0–255.
            </summary>
        </member>
        <member name="P:LibSixel.SixelDither.NumColors">
            <summary>Number of colours in <see cref="P:LibSixel.SixelDither.Palette"/>.</summary>
        </member>
        <member name="P:LibSixel.SixelDither.PixelFormat">
            <summary>Pixel format of the source image.</summary>
        </member>
        <member name="P:LibSixel.SixelDither.MethodForDiffuse">
            <summary>Error-diffusion method to use (see <see cref="F:LibSixel.SixelConstants.DiffuseNone"/> etc.).</summary>
        </member>
        <member name="P:LibSixel.SixelDither.MethodForLargest">
            <summary>Method used to choose which colour box to split next during quantization.</summary>
        </member>
        <member name="P:LibSixel.SixelDither.MethodForRep">
            <summary>Method used to pick the representative colour for each box.</summary>
        </member>
        <member name="P:LibSixel.SixelDither.QualityMode">
            <summary>Quality mode for quantization.</summary>
        </member>
        <member name="P:LibSixel.SixelDither.BodyOnly">
            <summary>When <see langword="true"/>, skip DCS header / footer.</summary>
        </member>
        <member name="P:LibSixel.SixelDither.Optimized">
            <summary>When <see langword="true"/>, apply palette-optimization passes.</summary>
        </member>
        <member name="P:LibSixel.SixelDither.OptimizePalette">
            <summary>When <see langword="true"/>, remove unused palette entries before encoding.</summary>
        </member>
        <member name="P:LibSixel.SixelDither.Complexion">
            <summary>Complexion score (1 = normal). Higher values bias the colour distance metric.</summary>
        </member>
        <member name="M:LibSixel.SixelDither.CreateMonoDark">
            <summary>Creates a 2-colour monochrome dither context with a black background.</summary>
        </member>
        <member name="M:LibSixel.SixelDither.CreateMonoLight">
            <summary>Creates a 2-colour monochrome dither context with a white background.</summary>
        </member>
        <member name="M:LibSixel.SixelDither.CreateXterm16">
            <summary>Creates a dither context using the standard xterm 16-colour palette.</summary>
        </member>
        <member name="M:LibSixel.SixelDither.CreateXterm256">
            <summary>Creates a dither context using the standard xterm 256-colour palette.</summary>
        </member>
        <member name="M:LibSixel.SixelDither.CreateGrayscale(System.Int32)">
            <summary>
            Creates a grayscale dither context with <c>2^<paramref name="bits"/></c> levels.
            </summary>
            <param name="bits">Number of bits (1–8). Results in 2, 4, 8, …, 256 grey levels.</param>
        </member>
        <member name="M:LibSixel.SixelDither.CreateFromImage(System.ReadOnlySpan{System.Byte},System.Int32,System.Int32,LibSixel.PixelFormat,System.Int32,System.Int32)">
            <summary>
            Quantizes the colours in <paramref name="pixels"/> and returns a dither context
            whose palette has at most <paramref name="ncolors"/> entries.
            </summary>
            <param name="pixels">Raw pixel bytes in the given <paramref name="format"/>.</param>
            <param name="width">Image width in pixels.</param>
            <param name="height">Image height in pixels.</param>
            <param name="format">Pixel memory layout.</param>
            <param name="ncolors">Desired number of palette colours (2–256).</param>
            <param name="qualityMode">Quantization quality (see <see cref="F:LibSixel.SixelConstants.QualityAuto"/> etc.).</param>
        </member>
        <member name="M:LibSixel.SixelDither.ApplyPalette(System.ReadOnlySpan{System.Byte},System.Int32,System.Int32)">
            <summary>
            Converts <paramref name="pixels"/> to a palette-indexed byte array.
            </summary>
        </member>
        <member name="M:LibSixel.SixelDither.Dispose">
            <inheritdoc/>
        </member>
        <member name="T:LibSixel.SixelEncoder">
            <summary>
            High-level SIXEL encoder.
            </summary>
        </member>
        <member name="M:LibSixel.SixelEncoder.EncodeToString(System.Byte[],System.Int32,System.Int32,LibSixel.PixelFormat,LibSixel.SixelDither)">
            <summary>
            Encodes <paramref name="pixels"/> to a SIXEL string.
            </summary>
            <param name="pixels">Raw pixel bytes.</param>
            <param name="width">Image width in pixels.</param>
            <param name="height">Image height in pixels.</param>
            <param name="format">Pixel memory layout.</param>
            <param name="dither">Colour palette / quantization settings.</param>
            <returns>SIXEL-encoded string starting with ESC P and ending with ESC \.</returns>
        </member>
        <member name="M:LibSixel.SixelEncoder.EncodeToBytes(System.Byte[],System.Int32,System.Int32,LibSixel.PixelFormat,LibSixel.SixelDither)">
            <summary>
            Encodes <paramref name="pixels"/> to a SIXEL byte array.
            </summary>
        </member>
        <member name="M:LibSixel.SixelEncoder.Encode(System.Byte[],System.Int32,System.Int32,LibSixel.PixelFormat,LibSixel.SixelDither,LibSixel.SixelOutput)">
            <summary>
            Encodes <paramref name="pixels"/> and writes the SIXEL data to <paramref name="output"/>.
            </summary>
            <param name="pixels">Raw pixel bytes.</param>
            <param name="width">Image width in pixels.</param>
            <param name="height">Image height in pixels.</param>
            <param name="format">Pixel memory layout.</param>
            <param name="dither">Colour palette / quantization settings.</param>
            <param name="output">Destination output context.</param>
        </member>
        <member name="M:LibSixel.SixelEncoder.Dispose">
            <inheritdoc/>
        </member>
        <member name="T:LibSixel.WriteDelegate">
            <summary>
            Callback invoked by <see cref="T:LibSixel.SixelOutput"/> when buffered data is ready to be written.
            </summary>
            <param name="data">The chunk of encoded bytes to write.</param>
        </member>
        <member name="T:LibSixel.SixelOutput">
            <summary>
            Buffered output context for SIXEL encoding.
            Accumulates encoded bytes and calls the user-supplied <see cref="T:LibSixel.WriteDelegate"/>
            whenever the internal 32 KB buffer is full or <see cref="M:LibSixel.SixelOutput.Flush"/> is called.
            </summary>
        </member>
        <member name="M:LibSixel.SixelOutput.Create(LibSixel.WriteDelegate)">
            <summary>
            Creates a new <see cref="T:LibSixel.SixelOutput"/> that sends data to <paramref name="writer"/>.
            </summary>
        </member>
        <member name="P:LibSixel.SixelOutput.PenetrateMultiplexer">
            <summary>
            When <see langword="true"/>, wrap the DCS string with the GNU Screen pass-through
            sequence so that SIXEL graphics reach the terminal from inside a multiplexer.
            </summary>
        </member>
        <member name="P:LibSixel.SixelOutput.Has8BitControls">
            <summary>
            When <see langword="true"/>, use 8-bit C1 control codes (0x9B / 0x9C) instead of
            the 7-bit ESC sequences (ESC P … ESC \).
            </summary>
        </member>
        <member name="P:LibSixel.SixelOutput.HasGriArgLimit">
            <summary>
            When <see langword="true"/>, limit repeat counts to 255 (VT240 compatibility).
            </summary>
        </member>
        <member name="P:LibSixel.SixelOutput.BodyOnly">
            <summary>
            When <see langword="true"/>, skip the DCS header and string terminator so that
            only the sixel body is emitted.
            </summary>
        </member>
        <member name="M:LibSixel.SixelOutput.WriteByte(System.Byte)">
            <summary>Writes a single byte into the output buffer.</summary>
        </member>
        <member name="M:LibSixel.SixelOutput.WriteBytes(System.ReadOnlySpan{System.Byte})">
            <summary>Writes a span of bytes into the output buffer.</summary>
        </member>
        <member name="M:LibSixel.SixelOutput.WriteRepeat(System.Byte,System.Int32)">
            <summary>
            Writes a repeat sequence <c>!count char</c> when <paramref name="count"/> &gt; 3,
            otherwise writes the byte <paramref name="pixel"/> <paramref name="count"/> times.
            </summary>
        </member>
        <member name="M:LibSixel.SixelOutput.WriteNumber(System.Int32)">
            <summary>Writes a non-negative integer as ASCII decimal digits.</summary>
        </member>
        <member name="M:LibSixel.SixelOutput.Flush">
            <summary>Flushes any remaining buffered bytes to the writer.</summary>
        </member>
        <member name="M:LibSixel.SixelOutput.Dispose">
            <inheritdoc/>
        </member>
    </members>
</doc>