//! https://github.com/dankamongmen/notcurses/issues/1832 use libnotcurses_sys::*; const W: u32 = 32; const H: u32 = 32; fn main() -> NcResult<()> { let mut nc = Nc::new()?; // create a white rectangle visual for the background let buffer1 = vec![255; H as usize * W as usize * 3]; let mut bg_plane = NcPlane::new(&mut nc, 0, 0, H, W)?; let v = NcVisual::from_rgb_packed(buffer1.as_slice(), H, W * 3, W, 255)?; let vo = NcVisualOptions::with_plane( &mut bg_plane, NCSCALE_NONE, 0, 0, 0, 0, 0, 0, NCBLIT_PIXEL, 0, 0, ); // create a blue plane for the foreground let fg_plane = NcPlane::new_bound(&mut bg_plane, 1, 1, 2, 16)?; fg_plane.set_base(" ", 0, NcChannels::from_rgb(0x88aa00, 0x222288))?; let mut counter = 0; for _ in 0..3 { let _ = fg_plane.putstr_yx(0, 0, &format!["counter: {}", &counter]); counter += 1; v.render(nc, &vo)?; bg_plane.render()?; bg_plane.rasterize()?; sleep![1]; } v.destroy(); bg_plane.destroy()?; nc.stop()?; Ok(()) }