aboutsummaryrefslogtreecommitdiff
path: root/import/fallback_generator/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'import/fallback_generator/src/lib.rs')
-rw-r--r--import/fallback_generator/src/lib.rs14
1 files changed, 6 insertions, 8 deletions
diff --git a/import/fallback_generator/src/lib.rs b/import/fallback_generator/src/lib.rs
index 0fcfaa1..60b8cc5 100644
--- a/import/fallback_generator/src/lib.rs
+++ b/import/fallback_generator/src/lib.rs
@@ -3,12 +3,9 @@ use ab_glyph::{FontRef, PxScale};
use anyhow::Result;
use image::{DynamicImage, ImageBuffer, ImageEncoder, Rgba, codecs::qoi::QoiEncoder};
use imageproc::drawing::{draw_text_mut, text_size};
-use std::{
- hash::{Hash, Hasher},
- io::Write,
-};
+use std::hash::{Hash, Hasher};
-pub fn generate_fallback(name: &str, output: &mut dyn Write) -> Result<()> {
+pub fn generate_fallback(name: &str) -> Result<Vec<u8>> {
let width = 1024;
let height = (width * 1000) / 707;
@@ -65,13 +62,14 @@ pub fn generate_fallback(name: &str, output: &mut dyn Write) -> Result<()> {
let image = DynamicImage::from(image).to_rgb8();
- QoiEncoder::new(output).write_image(
+ let mut output = Vec::new();
+ QoiEncoder::new(&mut output).write_image(
image.as_raw(),
image.width(),
image.height(),
image::ExtendedColorType::Rgb8,
)?;
- Ok(())
+ Ok(output)
}
struct XorshiftHasher(u64);
@@ -104,5 +102,5 @@ fn random_accent(text: &str, y: f32) -> Rgba<f32> {
#[test]
fn generate_fallback_test() {
- generate_fallback("Hello world!", &mut Vec::new()).unwrap();
+ generate_fallback("Hello world!").unwrap();
}