[rust] fix pixel-cell example

- fix column and row order in visual resize methods
This commit is contained in:
joseLuís 2021-06-13 22:39:11 +02:00
parent 4fb67d6a91
commit 2c8a364f3a
2 changed files with 9 additions and 28 deletions

View File

@ -24,8 +24,8 @@ fn main() -> NcResult<()> {
// print visual delimiters around our pixelized cell
println!("0▗│▖\n│─ ─\n2▝│▘");
println!("a cell is {}x{} pixels", pg.cell_y, pg.cell_x);
println!("\ninterpolated not-interpolated");
println!(" SCALE SCALE INFLATE RESIZE");
println!("\ninterpolated not-interpolated interpolated not-interpolated");
println!(" SCALE SCALE RESIZE RESIZE");
// fill the buffer with random color pixels
let mut rng = rand::thread_rng();
@ -82,9 +82,9 @@ fn main() -> NcResult<()> {
v1.render(&mut nc, &voptions3)?;
rsleep![&mut nc, 1];
// inflate the ncvisual (doesn't use interpolation)
// resize the ncvisual (doesn't use interpolation)
let voptions4 =
NcVisualOptions::without_plane(7, 33, 0, 0, pg.cell_y, pg.cell_x, NCBLIT_PIXEL, 0, 0);
NcVisualOptions::without_plane(7, 37, 0, 0, pg.cell_y, pg.cell_x, NCBLIT_PIXEL, 0, 0);
v1.resize_noninterpolative(pg.cell_y * 4, pg.cell_x * 4)?;
v1.render(&mut nc, &voptions4)?;
rsleep![&mut nc, 1];
@ -92,34 +92,15 @@ fn main() -> NcResult<()> {
// resize the ncvisual (uses interpolation)
let v5 = NcVisual::from_rgba(buffer.as_slice(), pg.cell_y, pg.cell_x * 4, pg.cell_x)?;
let voptions5 =
NcVisualOptions::without_plane(7, 45, 0, 0, pg.cell_y, pg.cell_x, NCBLIT_PIXEL, 0, 0);
NcVisualOptions::without_plane(7, 51, 0, 0, pg.cell_y, pg.cell_x, NCBLIT_PIXEL, 0, 0);
v5.resize(18 * 4, 9 * 4)?; // FIXME: render function fails when downsizing (y<18 | x<9)
v5.render(&mut nc, &voptions5)?;
rsleep![&mut nc, 1];
// resize without interpolation
// WIP: should this substitute the inflate method?
// let v6 = NcVisual::from_rgba(buffer.as_slice(), pg.cell_y, pg.cell_x * 4, pg.cell_x)?;
// let voptions6 = NcVisualOptions::without_plane(
// 7,
// 54,
// 0,
// 0,
// pg.cell_y,
// pg.cell_x,
// NCBLIT_PIXEL,
// NCVISUAL_OPTION_NOINTERPOLATE,
// 0,
// );
// v6.resize(18 * 4, 9 * 4)?;
// v6.render(&mut nc, &voptions6)?;
// rsleep![&mut nc, 1];
sleep![3];
sleep![2];
v1.destroy();
v5.destroy();
// v6.destroy();
nc.stop()?;
Ok(())
}

View File

@ -328,7 +328,7 @@ impl NcVisual {
]
}
/// Renders the decoded frame to the specified [NcPlane].
/// Renders the decoded frame to the specified [`NcPlane`].
///
/// See [`NcVisualOptions`].
///
@ -349,7 +349,7 @@ impl NcVisual {
/// This is a lossy transformation, unless the size is unchanged.
///
/// *C style function: [ncvisual_resize()][crate::ncvisual_resize].*
pub fn resize(&mut self, cols: NcDim, rows: NcDim) -> NcResult<()> {
pub fn resize(&mut self, rows: NcDim, cols: NcDim) -> NcResult<()> {
error![
unsafe { crate::ncvisual_resize(self, rows as i32, cols as i32) },
&format!["NcVisual.resize({}, {})", rows, cols]
@ -363,7 +363,7 @@ impl NcVisual {
///
/// *C style function:
/// [ncvisual_resize_noninterpolative()][crate::ncvisual_resize_noninterpolative].*
pub fn resize_noninterpolative(&mut self, cols: NcDim, rows: NcDim) -> NcResult<NcIntResult> {
pub fn resize_noninterpolative(&mut self, rows: NcDim, cols: NcDim) -> NcResult<NcIntResult> {
let res =
unsafe { crate::ncvisual_resize_noninterpolative(self, rows as i32, cols as i32) };
error![