Crate miniview[−][src]
Expand description
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
In order to display the miniview window, a configuration which defines how the view should be
presented is required. This configuration
may be constructed manually, or by using the
ConfigBuilder
which leverages the builder pattern.
Errors which signal faulty behaviour.
Convenience functions to load a bytestream representing a path to an image or the image itself from the stdin pipe.
Structs
Provides the controls to show and consecutively close a miniview
window
Enums
The source of an image which will be shown by the view
Type Definitions
A convenience type alias which represents a regular Result
where the error type is
represented by the MiniViewError
, which is the top-level error type for this crate.