From cb543cded7d45e25ebe1a8f89181865e56ab4bb7 Mon Sep 17 00:00:00 2001 From: "Sergey \"Shnatsel\" Davidoff" Date: Thu, 5 Mar 2026 11:58:18 +0000 Subject: [PATCH] Expose precise DEFLATE level controls --- src/encoder/compression/deflate.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/encoder/compression/deflate.rs b/src/encoder/compression/deflate.rs index 3e5d528..2559d53 100644 --- a/src/encoder/compression/deflate.rs +++ b/src/encoder/compression/deflate.rs @@ -31,6 +31,20 @@ impl Deflate { } } +impl Deflate { + /// Create a new deflate compressor an exact level of compression. + /// + /// `0` stands for uncompressed + /// `1` stands for light but fast compression + /// `6` is the recommended balanced default + /// `9` is maximum compression ratio at the cost of slow encoding + pub fn exact_level(level: u8) -> Self { + Self { + level: FlateCompression::new(level as u32), + } + } +} + impl Default for Deflate { fn default() -> Self { Self::with_level(DeflateLevel::default())