jxl_grid

Struct MutableSubgrid

Source
pub struct MutableSubgrid<'g, V = f32> { /* private fields */ }
Expand description

A mutable subgrid of the underlying buffer.

Implementations§

Source§

impl<'g, V> MutableSubgrid<'g, V>

Source

pub unsafe fn new( ptr: NonNull<V>, width: usize, height: usize, stride: usize, ) -> Self

Create a CutGrid from raw pointer to the buffer, width, height and stride.

§Safety

The area specified by width, height and stride must not overlap with other instances of CutGrid, and the memory region in the area must be valid.

§Panics

Panics if width > stride.

Source

pub fn empty() -> Self

Source

pub fn from_buf( buf: &'g mut [V], width: usize, height: usize, stride: usize, ) -> Self

Create a CutGrid from buffer slice, width, height and stride.

§Panic

Panics if:

  • width is greater than stride,
  • or the area specified by width, height and stride is larger than buf.
Source

pub fn into_ptr(self) -> NonNull<V>

Source

pub fn width(&self) -> usize

Source

pub fn height(&self) -> usize

Source

pub fn stride(&self) -> usize

Source

pub fn get_row(&self, row: usize) -> &[V]

Source

pub fn get_mut(&mut self, x: usize, y: usize) -> &mut V

Source

pub fn get_row_mut(&mut self, row: usize) -> &mut [V]

Source

pub fn swap(&mut self, (ax, ay): (usize, usize), (bx, by): (usize, usize))

Source§

impl<V: Copy> MutableSubgrid<'_, V>

Source

pub fn get(&self, x: usize, y: usize) -> V

Source§

impl<'g, V> MutableSubgrid<'g, V>

Source

pub fn borrow_mut(&mut self) -> MutableSubgrid<'_, V>

Source

pub fn as_shared(&self) -> SharedSubgrid<'_, V>

Source

pub fn subgrid( self, range_x: impl RangeBounds<usize>, range_y: impl RangeBounds<usize>, ) -> MutableSubgrid<'g, V>

Source

pub fn split_horizontal( &mut self, x: usize, ) -> (MutableSubgrid<'_, V>, MutableSubgrid<'_, V>)

Split the grid horizontally at an index.

§Panics

Panics if x > self.width().

Source

pub fn split_horizontal_in_place(&mut self, x: usize) -> MutableSubgrid<'g, V>

Split the grid horizontally at an index in-place.

§Panics

Panics if x > self.width().

Source

pub fn split_vertical( &mut self, y: usize, ) -> (MutableSubgrid<'_, V>, MutableSubgrid<'_, V>)

Split the grid vertically at an index.

§Panics

Panics if y > self.height().

Source

pub fn split_vertical_in_place(&mut self, y: usize) -> MutableSubgrid<'g, V>

Split the grid vertically at an index in-place.

§Panics

Panics if y > self.height().

Source

pub fn merge_horizontal_in_place(&mut self, right: Self)

Source

pub fn merge_vertical_in_place(&mut self, bottom: Self)

Source§

impl<'g, V: Copy> MutableSubgrid<'g, V>

Source

pub fn into_groups( self, group_width: usize, group_height: usize, ) -> Vec<MutableSubgrid<'g, V>>

Source

pub fn into_groups_with_fixed_count( self, group_width: usize, group_height: usize, num_cols: usize, num_rows: usize, ) -> Vec<MutableSubgrid<'g, V>>

Source§

impl MutableSubgrid<'_, f32>

Source

pub fn as_vectored<V: SimdVector>(&mut self) -> Option<MutableSubgrid<'_, V>>

Trait Implementations§

Source§

impl<'g, V: Debug> Debug for MutableSubgrid<'g, V>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'g, V> From<&'g mut AlignedGrid<V>> for MutableSubgrid<'g, V>

Source§

fn from(grid: &'g mut AlignedGrid<V>) -> Self

Converts to this type from the input type.
Source§

impl<'g, V> Send for MutableSubgrid<'g, V>
where &'g mut [V]: Send,

Source§

impl<'g, V> Sync for MutableSubgrid<'g, V>
where &'g mut [V]: Sync,

Auto Trait Implementations§

§

impl<'g, V> Freeze for MutableSubgrid<'g, V>

§

impl<'g, V> RefUnwindSafe for MutableSubgrid<'g, V>
where V: RefUnwindSafe,

§

impl<'g, V> Unpin for MutableSubgrid<'g, V>

§

impl<'g, V = f32> !UnwindSafe for MutableSubgrid<'g, V>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more