mod local;
mod macros;
use local::{ImageRenderingDef, ShapeRenderingDef, SizeDef, TextRenderingDef};
use macros::{enum_def, options_def};
use resvg::usvg::{ImageRendering, Options, ShapeRendering, Size, TextRendering};
use serde::{Deserialize, Serialize};
options_def! {
#[non_exhaustive]
pub struct OptionsDef -> Options<'_> {
pub resources_dir: Option<std::path::PathBuf>,
pub dpi: f32,
pub font_family: String,
pub font_size: f32,
pub languages: Vec<String>,
#[serde(with = "ShapeRenderingDef")]
pub shape_rendering: ShapeRendering,
#[serde(with = "TextRenderingDef")]
pub text_rendering: TextRendering,
#[serde(with = "ImageRenderingDef")]
pub image_rendering: ImageRendering,
#[serde(with = "SizeDef")]
pub default_size: Size,
pub style_sheet: Option<String>,
}
}