Skip to main content

ferroui_base/media/imaging/
bitmap_encoder_options.rs

1use crate::media::imaging::{JpegBitmapEncoderOptions, PngBitmapEncoderOptions};
2
3/// Options that select and configure the encoder used to save a bitmap.
4///
5/// The set of encoders is closed: one variant per encoder options type.
6#[derive(Clone, Copy, Debug, PartialEq, Eq)]
7pub enum BitmapEncoderOptions {
8    /// Encodes as JPEG.
9    Jpeg(JpegBitmapEncoderOptions),
10    /// Encodes as PNG.
11    Png(PngBitmapEncoderOptions),
12}
13
14impl From<JpegBitmapEncoderOptions> for BitmapEncoderOptions {
15    fn from(value: JpegBitmapEncoderOptions) -> Self {
16        Self::Jpeg(value)
17    }
18}
19
20impl From<PngBitmapEncoderOptions> for BitmapEncoderOptions {
21    fn from(value: PngBitmapEncoderOptions) -> Self {
22        Self::Png(value)
23    }
24}