Merge "Update plotters-svg to 0.3.7" into main
diff --git a/crates/plotters-svg/.android-checksum.json b/crates/plotters-svg/.android-checksum.json
index f5f2cd4..3d9f156 100644
--- a/crates/plotters-svg/.android-checksum.json
+++ b/crates/plotters-svg/.android-checksum.json
@@ -1 +1 @@
-{"package":null,"files":{".cargo-checksum.json":"44d1884d1cf7a8ceae08a03e6f4f425d16da917032f644b2c21839ad75d3d35b","Android.bp":"d94294167fd456ec316105005b2b2c07e2eb4abfde0fc4967e14f7b095b7a862","Cargo.toml":"9387da863b0e5da2b032c4da78ea01b3d2d5231a8c9194ef8d3531b0b0de6e5f","LICENSE":"1c9a706701fabb4345eddbdf9e1b9b60668d05f9df8e0ec9bf4b6e08a15c4e33","METADATA":"775480ef3aebed6edfd89fdbcab3c7e8ed878bcd4fb393ca3d51017d5dcdacc0","MODULE_LICENSE_MIT":"0d6f8afa3940b7f06bebee651376d43bc8b0d5b437337be2696d30377451e93a","README.md":"59f48d8839e1d7a7cd8cc4ee76102ed16b1fbd0429d2bf741263dd13d54f34fa","TEST_MAPPING":"5df47f5b5b7533d10aa6a3ecb9189615e716a8060f002faa2bf4c893c12f33f9","cargo_embargo.json":"aa45a963da01d3f018be316cd5b7646a5b413ce2611c5218f2914d2e8a9efd0e","src/lib.rs":"54c158634510d88191c150e7ad8246e3478c79a1f8b60349d0195a744ebc96ef","src/svg.rs":"c808366edf35f74857e9a89ac0e55f01ca6c809a4ce4ea725a032759d5f23414"}}
\ No newline at end of file
+{"package":null,"files":{".cargo-checksum.json":"5d327beced46102ee4a9c21d30385f27d8e9c81b3ac5d6b84aa76f42a526e55f","Android.bp":"3a60a655985855540bfa049329c90748ab35578030d7a9bb557ec98eb10769b5","Cargo.toml":"4681e5b00a03c2551cd4fd096787be07b15f8718d284a0cebe1f245d2d0ec23a","LICENSE":"1c9a706701fabb4345eddbdf9e1b9b60668d05f9df8e0ec9bf4b6e08a15c4e33","METADATA":"515252a15a2ab43523b4d6de4ce2e56742162f384aad93c959c730b222fb58fd","MODULE_LICENSE_MIT":"0d6f8afa3940b7f06bebee651376d43bc8b0d5b437337be2696d30377451e93a","README.md":"59f48d8839e1d7a7cd8cc4ee76102ed16b1fbd0429d2bf741263dd13d54f34fa","TEST_MAPPING":"5df47f5b5b7533d10aa6a3ecb9189615e716a8060f002faa2bf4c893c12f33f9","cargo_embargo.json":"aa45a963da01d3f018be316cd5b7646a5b413ce2611c5218f2914d2e8a9efd0e","src/lib.rs":"54c158634510d88191c150e7ad8246e3478c79a1f8b60349d0195a744ebc96ef","src/svg.rs":"5f501e6217aca2af8c4835fa5db1a3653402049772233eea83c066ea0cea8ac7"}}
\ No newline at end of file
diff --git a/crates/plotters-svg/.cargo-checksum.json b/crates/plotters-svg/.cargo-checksum.json
index 6aaf347..0870d2a 100644
--- a/crates/plotters-svg/.cargo-checksum.json
+++ b/crates/plotters-svg/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"Cargo.toml":"ba1b45b6791e3e6579282ccb15918ac3a3e78f1c87f40916b3e4542f60590555","LICENSE":"1e881ecf2862d01e6e5bc2b861e46886d2a6fb01499c0c508a209a7271b13cf2","README.md":"4e8a1eb3407b1e7366fa6cb5ebfbc87b9e64bf67fcdc2dcf775c1c6ccec04a2d","src/lib.rs":"a16cb6c509cf49213b2955815679bc33db413f5fc17263470d601eb23deb648a","src/svg.rs":"5b7188891265c25b5cc496f30ac2e7ecc50b9c27d4a4262c6621e7154376d46b"},"package":"38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab"}
\ No newline at end of file
+{"files":{"Cargo.toml":"a6b978fc90b5e12521bc9ba9ac0e439e648f58cd36136942a21952f06f809034","LICENSE":"1e881ecf2862d01e6e5bc2b861e46886d2a6fb01499c0c508a209a7271b13cf2","README.md":"4e8a1eb3407b1e7366fa6cb5ebfbc87b9e64bf67fcdc2dcf775c1c6ccec04a2d","src/lib.rs":"a16cb6c509cf49213b2955815679bc33db413f5fc17263470d601eb23deb648a","src/svg.rs":"c9e183bbc76ca675f2e4f7b9eeebaa10c245db96fe94faffba1ed75201dfce50"},"package":"51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670"}
\ No newline at end of file
diff --git a/crates/plotters-svg/Android.bp b/crates/plotters-svg/Android.bp
index 1b24c16..125fd6e 100644
--- a/crates/plotters-svg/Android.bp
+++ b/crates/plotters-svg/Android.bp
@@ -18,7 +18,7 @@
     host_supported: true,
     crate_name: "plotters_svg",
     cargo_env_compat: true,
-    cargo_pkg_version: "0.3.5",
+    cargo_pkg_version: "0.3.7",
     crate_root: "src/lib.rs",
     edition: "2018",
     rustlibs: ["libplotters_backend"],
diff --git a/crates/plotters-svg/Cargo.toml b/crates/plotters-svg/Cargo.toml
index e659289..8965ded 100644
--- a/crates/plotters-svg/Cargo.toml
+++ b/crates/plotters-svg/Cargo.toml
@@ -12,14 +12,23 @@
 [package]
 edition = "2018"
 name = "plotters-svg"
-version = "0.3.5"
+version = "0.3.7"
 authors = ["Hao Hou <[email protected]>"]
+build = false
+autobins = false
+autoexamples = false
+autotests = false
+autobenches = false
 description = "Plotters SVG backend"
 homepage = "https://plotters-rs.github.io"
 readme = "README.md"
 license = "MIT"
 repository = "https://github.com/plotters-rs/plotters.git"
 
+[lib]
+name = "plotters_svg"
+path = "src/lib.rs"
+
 [dependencies.image]
 version = "0.24.2"
 features = [
@@ -31,7 +40,7 @@
 default-features = false
 
 [dependencies.plotters-backend]
-version = "0.3.5"
+version = "0.3.6"
 
 [dev-dependencies]
 
diff --git a/crates/plotters-svg/METADATA b/crates/plotters-svg/METADATA
index 10b9f73..f193b5c 100644
--- a/crates/plotters-svg/METADATA
+++ b/crates/plotters-svg/METADATA
@@ -1,17 +1,17 @@
 name: "plotters-svg"
 description: "Plotters SVG backend"
 third_party {
-  version: "0.3.5"
+  version: "0.3.7"
   license_type: NOTICE
   last_upgrade_date {
-    year: 2024
-    month: 2
-    day: 5
+    year: 2025
+    month: 1
+    day: 14
   }
   homepage: "https://crates.io/crates/plotters-svg"
   identifier {
     type: "Archive"
-    value: "https://static.crates.io/crates/plotters-svg/plotters-svg-0.3.5.crate"
-    version: "0.3.5"
+    value: "https://static.crates.io/crates/plotters-svg/plotters-svg-0.3.7.crate"
+    version: "0.3.7"
   }
 }
diff --git a/crates/plotters-svg/src/svg.rs b/crates/plotters-svg/src/svg.rs
index 7ea105d..ec549f8 100644
--- a/crates/plotters-svg/src/svg.rs
+++ b/crates/plotters-svg/src/svg.rs
@@ -17,21 +17,16 @@
 
 fn make_svg_color(color: BackendColor) -> String {
     let (r, g, b) = color.rgb;
-    return format!("#{:02X}{:02X}{:02X}", r, g, b);
+    format!("#{:02X}{:02X}{:02X}", r, g, b)
 }
 
 fn make_svg_opacity(color: BackendColor) -> String {
-    return format!("{}", color.alpha);
+    format!("{}", color.alpha)
 }
 
 enum Target<'a> {
     File(String, &'a Path),
     Buffer(&'a mut String),
-    // TODO: At this point we won't make the breaking change
-    // so the u8 buffer is still supported. But in 0.3, we definitely
-    // should get rid of this.
-    #[cfg(feature = "deprecated_items")]
-    U8Buffer(String, &'a mut Vec<u8>),
 }
 
 impl Target<'_> {
@@ -39,8 +34,6 @@
         match self {
             Target::File(ref mut buf, _) => buf,
             Target::Buffer(buf) => buf,
-            #[cfg(feature = "deprecated_items")]
-            Target::U8Buffer(ref mut buf, _) => buf,
         }
     }
 }
@@ -147,24 +140,6 @@
         ret
     }
 
-    /// Create a new SVG drawing backend and store the document into a u8 vector
-    #[cfg(feature = "deprecated_items")]
-    #[deprecated(
-        note = "This will be replaced by `with_string`, consider use `with_string` to avoid breaking change in the future"
-    )]
-    pub fn with_buffer(buf: &'a mut Vec<u8>, size: (u32, u32)) -> Self {
-        let mut ret = Self {
-            target: Target::U8Buffer(String::default(), buf),
-            size,
-            tag_stack: vec![],
-            saved: false,
-        };
-
-        ret.init_svg_file(size);
-
-        ret
-    }
-
     /// Create a new SVG drawing backend and store the document into a String buffer
     pub fn with_string(buf: &'a mut String, size: (u32, u32)) -> Self {
         let mut ret = Self {
@@ -203,11 +178,6 @@
                         .map_err(DrawingErrorKind::DrawingError)?;
                 }
                 Target::Buffer(_) => {}
-                #[cfg(feature = "deprecated_items")]
-                Target::U8Buffer(ref actual, ref mut target) => {
-                    target.clear();
-                    target.extend_from_slice(actual.as_bytes());
-                }
             }
             self.saved = true;
         }
@@ -481,11 +451,11 @@
     }
 
     #[cfg(all(not(target_arch = "wasm32"), feature = "image"))]
-    fn blit_bitmap<'b>(
+    fn blit_bitmap(
         &mut self,
         pos: BackendCoord,
         (w, h): (u32, u32),
-        src: &'b [u8],
+        src: &[u8],
     ) -> Result<(), DrawingErrorKind<Self::ErrorType>> {
         use image::codecs::png::PngEncoder;
         use image::ImageEncoder;
@@ -508,9 +478,7 @@
         }
 
         let padding = (3 - data.len() % 3) % 3;
-        for _ in 0..padding {
-            data.push(0);
-        }
+        data.resize(data.len() + padding, 0);
 
         let mut rem_bits = 0;
         let mut rem_num = 0;
diff --git a/pseudo_crate/Cargo.lock b/pseudo_crate/Cargo.lock
index 4dde6c2..f0d27ae 100644
--- a/pseudo_crate/Cargo.lock
+++ b/pseudo_crate/Cargo.lock
@@ -3982,9 +3982,9 @@
 
 [[package]]
 name = "plotters-svg"
-version = "0.3.5"
+version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab"
+checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670"
 dependencies = [
  "plotters-backend",
 ]
diff --git a/pseudo_crate/Cargo.toml b/pseudo_crate/Cargo.toml
index fa33505..5964333 100644
--- a/pseudo_crate/Cargo.toml
+++ b/pseudo_crate/Cargo.toml
@@ -247,7 +247,7 @@
 pkcs8 = "=0.10.2"
 plotters = "=0.3.5"
 plotters-backend = "=0.3.7"
-plotters-svg = "=0.3.5"
+plotters-svg = "=0.3.7"
 poll_token_derive = "=0.1.0"
 ppv-lite86 = "=0.2.17"
 predicates = "=3.0.4"