37 lines
789 B
Rust
37 lines
789 B
Rust
|
use std::{env, ops::Deref};
|
||
|
|
||
|
use image::{DynamicImage, EncodableLayout, ImageBuffer, PixelWithColorType};
|
||
|
use poise::serenity_prelude::Timestamp;
|
||
|
|
||
|
use crate::context::Error;
|
||
|
|
||
|
#[inline]
|
||
|
fn should_save_debug_images() -> bool {
|
||
|
env::var("SHIMMERING_DEBUG_IMGS")
|
||
|
.map(|s| s == "1")
|
||
|
.unwrap_or(false)
|
||
|
}
|
||
|
|
||
|
#[inline]
|
||
|
pub fn debug_image_log(image: &DynamicImage) -> Result<(), Error> {
|
||
|
if should_save_debug_images() {
|
||
|
image.save(format!("./logs/{}.png", Timestamp::now()))?;
|
||
|
}
|
||
|
|
||
|
Ok(())
|
||
|
}
|
||
|
|
||
|
#[inline]
|
||
|
pub fn debug_image_buffer_log<P, C>(image: &ImageBuffer<P, C>) -> Result<(), Error>
|
||
|
where
|
||
|
P: PixelWithColorType,
|
||
|
[P::Subpixel]: EncodableLayout,
|
||
|
C: Deref<Target = [P::Subpixel]>,
|
||
|
{
|
||
|
if should_save_debug_images() {
|
||
|
image.save(format!("./logs/{}.png", Timestamp::now()))?;
|
||
|
}
|
||
|
|
||
|
Ok(())
|
||
|
}
|