/// The result of rendering a PDF page to a pixel buffer.
///
/// Contains raw RGBA pixel data. Each pixel is 4 bytes: `[R, G, B, A]`.
/// Rows are tightly packed with `stride` bytes per row (may include padding).
///
/// # Saving to a file
///
/// Use the `image` crate or any PNG encoder to write the pixel data:
///
/// ```ignore
/// // Using the `image` crate:
/// image::save_buffer("out.png", &result.data, result.width, result.height, image::ColorType::Rgba8);
/// ```
#[derive(Debug, Clone)]
pub struct RenderResult {
    /// Raw RGBA pixel data.
    pub data: Vec<u8>,

    /// Image width in pixels.
    pub width: u32,

    /// Image height in pixels.
    pub height: u32,

    /// Number of bytes per row (≥ width × 4). May include padding.
    pub stride: u32,
}
