Crate miniview[−][src]
MiniView is a small program which allows to show a single image in a graphical window. It supports both windowed mode and fullscreen mode and can be useful for debugging or testing programs dealing with images.
MiniView can be used both as a binary executable (usually miniview
or miniview.exe
),
or as a library.
If you want to use a miniview
binary, provide the --help
flag for information on its usage
and options. In addition, you could take a look at the readme
.
For library usage you may want to start by looking at the MiniView.show
method and
ConfigBuilder
struct, to respectively create a MiniView
window controlling instance and
conveniently create a configuration which is required for MiniView.show
.
Feel free to post questions, issues, suggestions and feedback at the issue tracker
.
Example usage:
use miniview::{ConfigBuilder, MiniView}; use std::time::Duration; let config = ConfigBuilder::from_path(concat!(env!("CARGO_MANIFEST_DIR"), "/resources/plant.jpg")) .set_fullscreen(true) .build(); let controls = MiniView::show(config).expect("unable to create miniview"); // do some important other work! std::thread::sleep(Duration::from_millis(1000)); let closed = controls.close(); assert!(closed.is_ok());
Backends
MiniView supports two backends: piston-window and pixels. You can switch between backends on compile time. This requires
setting Cargo features. The piston-window backend can be
enabled using the backend_piston_window
feature, and the pixels backend can be enabled using the backend_pixels
feature.
The default backend is pixels. This backend will be used if no-default-features is not specified.
The next sections provide examples, on how to enable each backend. Only one backend should be enabled at a time.
backend: piston-window
Platform support
Supported platforms:
- any platform supported by piston-window with Glutin, including:
- Linux
- MacOS
- Windows
Configuration examples
When building MiniView, the piston-window backend can be used by compiling with:
cargo run --no-default-features --features backend_piston_window
When using MiniView as a library, you can use:
[dependencies.miniview]
version = "*" # select the latest version here
default-features = false
features = ["backend_piston_window"]
or
[dependencies]
miniview = { version = "*", default-features = false, features = ["backend_piston_window"] }
backend: pixels
Platform support
Supported platforms:
- Linux
- Dragonfly
- FreeBSD
- NetBSD
- OpenBSD
- Windows
Note: MacOS is not yet supported for this backend.
Configuration examples
When building MiniView, the pixels backend can be used by compiling with:
cargo run --no-default-features --features backend_pixels
When using MiniView as a library, you can use:
[dependencies.miniview]
version = "*" # select the latest version here
default-features = false
features = ["backend_pixels"]
or
[dependencies]
miniview = { version = "*", default-features = false, features = ["backend_pixels"] }
Re-exports
pub use crate::config::ConfigBuilder; |
pub use crate::errors::MiniViewError; |
Modules
config | In order to display the miniview window, a configuration which defines how the view should be
presented is required. This |
errors | Errors which signal faulty behaviour. |
io | Convenience functions to load a bytestream representing a path to an image or the image itself from the stdin pipe. |
Structs
MiniView | Provides the controls to show and consecutively close a |
Enums
Source | The source of an image which will be shown by the view |
Type Definitions
MVResult | A convenience type alias which represents a regular |