INNER CODE UNIT · Rust

display_scale

abenz1267/walker · src/preview/mod.rs:385

        let display_scale = target_width / width;

        let render_scale = (display_scale * 1.5).min(2.0);
        let render_width = ((width * render_scale) as i32).min(1600);
        let render_height = ((height * render_scale) as i32).min(2400);

        let estimated_size = (render_width * render_height * 4) as usize;
        if estimated_size > 10 * 1024 * 1024 {
            return Err("PDF page too large for preview".into());
        }

        let mut surface =
            cairo::ImageSurface::create(cairo::Format::ARgb32, render_width, render_height)?;

        let bytes = {
            let ctx = cairo::Context::new(&surface)?;

            ctx.set_antialias(cairo::Antialias::Best);

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…