pub struct Image {
pub source: ImageSource,
pub format: ImageFormat,
pub size: Vec2,
/* private fields */
}Expand description
Image.
Fields§
§source: ImageSourceSource.
format: ImageFormatFormat.
size: Vec2Size (in pixels).
Implementations§
Source§impl Image
impl Image
Sourcepub fn new_owned<SizeT>(
data: Vec<u8>,
compressed: bool,
format: ImageFormat,
size: SizeT,
) -> Self
pub fn new_owned<SizeT>( data: Vec<u8>, compressed: bool, format: ImageFormat, size: SizeT, ) -> Self
Constructor.
Sourcepub fn new_file<PathT, SizeT>(
path: PathT,
compressed: bool,
format: ImageFormat,
size: SizeT,
) -> Self
pub fn new_file<PathT, SizeT>( path: PathT, compressed: bool, format: ImageFormat, size: SizeT, ) -> Self
Constructor.
Examples found in repository?
examples/simple.rs (lines 14-19)
9fn main() {
10 let mut cursive = default();
11
12 // By default the image view uses "shrink" sizing
13
14 cursive.add_layer(Panel::new(ImageView::default().with_image(Image::new_file(
15 FILE,
16 false,
17 ImageFormat::PNG,
18 (96, 96),
19 ))));
20
21 cursive.add_global_callback('q', |cursive| cursive.quit());
22
23 cursive.run();
24}Sourcepub fn new_stream<ImageStreamT, SizeT>(
stream: ImageStreamT,
format: ImageFormat,
size: SizeT,
) -> Self
pub fn new_stream<ImageStreamT, SizeT>( stream: ImageStreamT, format: ImageFormat, size: SizeT, ) -> Self
Constructor.
Sourcepub fn into_owned(&mut self) -> Result<()>
pub fn into_owned(&mut self) -> Result<()>
Into owned.
Source§impl Image
impl Image
Sourcepub fn new_owned_from_jpeg_file<PathT>(
path: PathT,
format: ImageFormat,
compress: bool,
) -> Result<Self>
Available on crate feature jpeg only.
pub fn new_owned_from_jpeg_file<PathT>( path: PathT, format: ImageFormat, compress: bool, ) -> Result<Self>
jpeg only.Constructor.
Sourcepub fn new_stream_from_jpeg_file<PathT>(
path: PathT,
format: ImageFormat,
) -> Result<Self>
Available on crate feature jpeg only.
pub fn new_stream_from_jpeg_file<PathT>( path: PathT, format: ImageFormat, ) -> Result<Self>
jpeg only.Constructor.
Examples found in repository?
examples/scrollable.rs (line 21)
12fn main() {
13 let mut cursive = default();
14
15 cursive.add_layer(
16 Panel::new(
17 ImageView::default()
18 .with_image(
19 // This will decode the JPEG file on-demand
20 // Note that RGBA is supported, too, if you need transparency
21 Image::new_stream_from_jpeg_file(FILE, ImageFormat::RGB).expect("new_stream_from_jpeg_file"),
22 // If you prefer to keep the image data in memory:
23 // Image::new_owned_from_jpeg_file(FILE, ImageFormat::RGB, true).expect("new_owned_from_jpeg_file"),
24 )
25 .with_sizing(Sizing::original())
26 .scrollable()
27 .scroll_x(true),
28 )
29 .fixed_size((50, 20)),
30 );
31
32 cursive.add_global_callback('q', |cursive| cursive.quit());
33
34 cursive.run();
35}Source§impl Image
impl Image
Sourcepub fn new_png_file<PathT>(path: PathT) -> Result<Self>
Available on crate feature png only.
pub fn new_png_file<PathT>(path: PathT) -> Result<Self>
png only.Constructor.
Gets the image size by decoding the PNG header.
Examples found in repository?
examples/positioning.rs (line 23)
18fn main() {
19 let mut cursive = default();
20
21 cursive.add_layer(Panel::new(
22 ImageView::default()
23 .with_image(Image::new_png_file(FILE).expect("new_png_file"))
24 .with_name(NAME)
25 .fixed_size((50, 20)),
26 ));
27
28 cursive.add_global_callback('s', |cursive| {
29 _ = cursive.call_on_name(NAME, |image_view: &mut ImageView| {
30 image_view.set_sizing(match image_view.sizing() {
31 Sizing::Shrink => Sizing::Fit,
32 Sizing::Fit => Sizing::Scale(3.),
33 Sizing::Scale(_) => Sizing::Shrink,
34 })
35 });
36 });
37
38 cursive.add_global_callback('h', |cursive| {
39 _ = cursive.call_on_name(NAME, |image_view: &mut ImageView| {
40 image_view.set_align(match image_view.align() {
41 Align { h: HAlign::Left, v } => Align { h: HAlign::Center, v },
42 Align { h: HAlign::Center, v } => Align { h: HAlign::Right, v },
43 Align { h: HAlign::Right, v } => Align { h: HAlign::Left, v },
44 })
45 });
46 });
47
48 cursive.add_global_callback('v', |cursive| {
49 _ = cursive.call_on_name(NAME, |image_view: &mut ImageView| {
50 image_view.set_align(match image_view.align() {
51 Align { h, v: VAlign::Top } => Align { h, v: VAlign::Center },
52 Align { h, v: VAlign::Center } => Align { h, v: VAlign::Bottom },
53 Align { h, v: VAlign::Bottom } => Align { h, v: VAlign::Top },
54 })
55 });
56 });
57
58 cursive.add_global_callback('q', |cursive| cursive.quit());
59
60 cursive.run();
61}Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Image
impl !RefUnwindSafe for Image
impl Send for Image
impl Sync for Image
impl Unpin for Image
impl UnsafeUnpin for Image
impl !UnwindSafe for Image
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more