cursive-image 0.0.6

Image view for the Cursive TUI library
Documentation
use {
    cursive::{view::*, views::*, *},
    cursive_image::*,
};

// Here we'll demonstrate scrolling

// JPEG support requires the "jpeg" feature
// (note that loading large JPEGs is slow for dev builds)
const FILE: &str = "assets/media/sunrise.jpg";

fn main() {
    let mut cursive = default();

    cursive.add_layer(
        Panel::new(
            ImageView::default()
                .with_image(
                    // Note that RGBA is supported, too, if you need transparency
                    Image::new_stream_from_jpeg_file(FILE, ImageFormat::RGB).expect("new_stream_from_jpeg_file"),
                    // If you prefer to keep the image data in memory:
                    // Image::new_owned_from_jpeg_file(FILE, ImageFormat::RGB, true).expect("new_owned_from_jpeg_file"),
                )
                .with_sizing(Sizing::original())
                .scrollable()
                .scroll_x(true),
        )
        .fixed_size((50, 20)),
    );

    cursive.add_global_callback('q', |cursive| cursive.quit());

    cursive.run();
}