Skip to main content

Meta

Struct Meta 

Source
pub struct Meta {
    pub primary: Option<u32>,
    pub items: Vec<Item>,
    pub references: Vec<Reference>,
    pub properties: Properties,
    /* private fields */
}
Expand description

The parsed meta box.

Fields§

§primary: Option<u32>

The primary item, from pitm.

§items: Vec<Item>

Every item in the file, in iinf order.

§references: Vec<Reference>

Every iref entry.

§properties: Properties

The item properties, from iprp.

Implementations§

Source§

impl Meta

Source

pub fn parse(meta: Reader<'_>) -> Result<Self>

Parse a meta box payload.

§Errors

Returns PixelsError::Malformed if any child box is structurally invalid.

Source

pub fn item(&self, id: u32) -> Option<&Item>

The item with this ID, if the file has one.

Source

pub fn primary_item(&self) -> Option<&Item>

The primary item, resolved.

Falls back to the first coded image or grid when pitm is absent. A file without pitm is malformed, but the intent is unambiguous when there is exactly one image, and rejecting it buys nothing.

Source

pub fn referenced(&self, from: u32, kind: &[u8; 4]) -> &[u32]

The items from points to with a reference of this type.

Source

pub fn alpha_item(&self, id: u32) -> Option<&Item>

The alpha plane item for id, if the file carries one.

An alpha item is an auxiliary item whose auxl reference points at id and whose auxC property carries the alpha URN. Both halves are checked: an auxl item with some other auxiliary type is a depth map or a gain map, not transparency, and treating it as alpha would produce a confidently wrong image.

Source

pub fn item_data<'a>( &self, file: &'a [u8], item: &Item, ) -> Result<Cow<'a, [u8]>>

The bytes of item, resolved from file.

Borrows when the item is one contiguous extent, which is the common case, and concatenates otherwise.

§Errors

Returns PixelsError::Unsupported for item-relative construction, or PixelsError::Malformed if an extent falls outside the file or outside idat.

Trait Implementations§

Source§

impl Clone for Meta

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Meta

Source§

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

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

impl Default for Meta

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl Freeze for Meta

§

impl RefUnwindSafe for Meta

§

impl Send for Meta

§

impl Sync for Meta

§

impl Unpin for Meta

§

impl UnsafeUnpin for Meta

§

impl UnwindSafe for Meta

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.