pub struct Dx9Header {
pub height: u32,
pub width: u32,
pub depth: Option<u32>,
pub mipmap_count: NonZeroU32,
pub caps2: Caps2,
pub pixel_format: Dx9PixelFormat,
}Expand description
DX9-specific header data.
Fields§
§height: u32Surface height (in pixels).
width: u32Surface width (in pixels).
depth: Option<u32>Depth of a volume texture (in pixels).
mipmap_count: NonZeroU32Number of mipmap levels.
caps2: Caps2Additional detail about the surfaces stored.
pixel_format: Dx9PixelFormatImplementations§
Source§impl Dx9Header
impl Dx9Header
Sourcepub const fn alpha_mode(&self) -> AlphaMode
pub const fn alpha_mode(&self) -> AlphaMode
Returns the alpha mode of the pixel format.
This will mostly be AlphaMode::Unknown because DX9 doesn’t have a
concept of alpha modes. However, DXT2 and DXT4 formats are specified
to be premultiplied alpha and will return AlphaMode::Premultiplied.
Sourcepub const fn is_cube_map(&self) -> bool
pub const fn is_cube_map(&self) -> bool
Whether this header describes a cube map by checking for the
Caps2::CUBE_MAP flag.
Note: DX9 supports partial cube maps, which will also return true.
See Dx9Header::cube_map_faces.
Sourcepub fn cube_map_faces(&self) -> Option<CubeMapFaces>
pub fn cube_map_faces(&self) -> Option<CubeMapFaces>
Returns the cube map faces iff this header describes a cube map.
Sourcepub const fn is_volume(&self) -> bool
pub const fn is_volume(&self) -> bool
Whether this header describes a volume texture by checking for the
Caps2::VOLUME flag.
Sourcepub const fn new_image(width: u32, height: u32, format: Dx9PixelFormat) -> Self
pub const fn new_image(width: u32, height: u32, format: Dx9PixelFormat) -> Self
Creates a new header for DX10 texture 2D with the given dimensions and format.
The mipmap count is set to 1.
Sourcepub const fn new_volume(
width: u32,
height: u32,
depth: u32,
format: Dx9PixelFormat,
) -> Self
pub const fn new_volume( width: u32, height: u32, depth: u32, format: Dx9PixelFormat, ) -> Self
Creates a new header for DX10 texture 3D with the given dimensions and format.
The mipmap count is set to 1.
Sourcepub const fn new_cube_map(
width: u32,
height: u32,
format: Dx9PixelFormat,
) -> Self
pub const fn new_cube_map( width: u32, height: u32, format: Dx9PixelFormat, ) -> Self
Creates a new header for DX9 cube map with the given dimensions and format.
The mipmap count is set to 1 and the cube map faces are set.
Sourcepub fn with_size(self, size: Size) -> Self
pub fn with_size(self, size: Size) -> Self
A builder-pattern-style method to set the width and height of the header.
Depth will be set to None. If you want to leave the depth unchanged
or change it as well, use Self::with_dimensions.
Sourcepub fn with_dimensions(
self,
width: u32,
height: u32,
depth: Option<u32>,
) -> Self
pub fn with_dimensions( self, width: u32, height: u32, depth: Option<u32>, ) -> Self
A builder-pattern-style method to set the width, height, and depth of the header.
For headers of 2D textures, Self::with_size is more appropriate.
Sourcepub fn with_mipmap_count(self, mipmap_count: NonZeroU32) -> Self
pub fn with_mipmap_count(self, mipmap_count: NonZeroU32) -> Self
A builder-pattern-style method to set the mipmap count of the header.
Sourcepub fn with_cube_map_faces(self, faces: CubeMapFaces) -> Self
pub fn with_cube_map_faces(self, faces: CubeMapFaces) -> Self
A builder-pattern-style method to set the cube map faces of the header.
This will set the Caps2::CUBE_MAP flag and the flags of all given
faces. Faces not given will have their flags unset.
Sourcepub fn with_pixel_format(self, pixel_format: Dx9PixelFormat) -> Self
pub fn with_pixel_format(self, pixel_format: Dx9PixelFormat) -> Self
A builder-pattern-style method to set the pixel format of the header.
pub fn to_dx10(&self) -> Option<Dx10Header>
Trait Implementations§
impl Eq for Dx9Header
impl StructuralPartialEq for Dx9Header
Auto Trait Implementations§
impl Freeze for Dx9Header
impl RefUnwindSafe for Dx9Header
impl Send for Dx9Header
impl Sync for Dx9Header
impl Unpin for Dx9Header
impl UnsafeUnpin for Dx9Header
impl UnwindSafe for Dx9Header
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more