mirror of
https://github.com/dankamongmen/notcurses.git
synced 2024-11-06 03:20:26 +00:00
477797716f
Now that the NcDirectF type and its methods are defined, there is no need to set a bad example.
28 lines
904 B
Rust
28 lines
904 B
Rust
use libnotcurses_sys::*;
|
||
|
||
const W: u32 = 32;
|
||
const H: u32 = 32;
|
||
|
||
fn main() {
|
||
let nc = NcDirect::new().expect("couldn’t create ncdirect");
|
||
nc.check_pixel_support()
|
||
.expect("failed to check for sixel support");
|
||
|
||
// create a purple rectangle
|
||
let mut buffer = Vec::<u8>::with_capacity(H as usize * W as usize * 4);
|
||
#[allow(unused_parens)]
|
||
for _byte in (0..={ H * W }) {
|
||
buffer.push(190);
|
||
buffer.push(20);
|
||
buffer.push(80);
|
||
buffer.push(255);
|
||
}
|
||
|
||
let vframe1 = NcDirectF::from_bgra(&buffer, H, W * 4, W).expect("couldn’t create visual");
|
||
let v = vframe1.ncdirectf_render(nc, NCBLIT_PIXEL, NCSCALE_NONE, 0, 0).expect("failed to render image to sixels");
|
||
nc.raster_frame(v, NCALIGN_LEFT).expect("failed to print sixels");
|
||
vframe1.ncdirectf_free();
|
||
nc.stop().expect("failed to destroy ncdirect context");
|
||
println!();
|
||
}
|