#[repr(transparent)]pub struct SDL_PixelFormat(pub c_uint);Expand description
Pixel format.
SDL’s pixel formats have the following naming convention:
- Names with a list of components and a single bit count, such as RGB24 and ABGR32, define a platform-independent encoding into bytes in the order specified. For example, in RGB24 data, each pixel is encoded in 3 bytes (red, green, blue) in that order, and in ABGR32 data, each pixel is encoded in 4 bytes (alpha, blue, green, red) in that order. Use these names if the property of a format that is important to you is the order of the bytes in memory or on disk.
- Names with a bit count per component, such as ARGB8888 and XRGB1555, are “packed” into an appropriately-sized integer in the platform’s native endianness. For example, ARGB8888 is a sequence of 32-bit integers; in each integer, the most significant bits are alpha, and the least significant bits are blue. On a little-endian CPU such as x86, the least significant bits of each integer are arranged first in memory, but on a big-endian CPU such as s390x, the most significant bits are arranged first. Use these names if the property of a format that is important to you is the meaning of each bit position within a native-endianness integer.
- In indexed formats such as INDEX4LSB, each pixel is represented by encoding an index into the palette into the indicated number of bits, with multiple pixels packed into each byte if appropriate. In LSB formats, the first (leftmost) pixel is stored in the least-significant bits of the byte; in MSB formats, it’s stored in the most-significant bits. INDEX8 does not need LSB/MSB variants, because each pixel exactly fills one byte.
The 32-bit byte-array encodings such as RGBA32 are aliases for the appropriate 8888 encoding for the current platform. For example, RGBA32 is an alias for ABGR8888 on little-endian CPUs like x86, or an alias for RGBA8888 on big-endian CPUs.
Available Since: This enum is available since SDL 3.2.0.
Tuple Fields§
§0: c_uintImplementations§
Source§impl SDL_PixelFormat
impl SDL_PixelFormat
pub const SDL_PIXELFORMAT_UNKNOWN: SDL_PixelFormat
pub const SDL_PIXELFORMAT_INDEX1LSB: SDL_PixelFormat
pub const SDL_PIXELFORMAT_INDEX1MSB: SDL_PixelFormat
pub const SDL_PIXELFORMAT_INDEX2LSB: SDL_PixelFormat
pub const SDL_PIXELFORMAT_INDEX2MSB: SDL_PixelFormat
pub const SDL_PIXELFORMAT_INDEX4LSB: SDL_PixelFormat
pub const SDL_PIXELFORMAT_INDEX4MSB: SDL_PixelFormat
pub const SDL_PIXELFORMAT_INDEX8: SDL_PixelFormat
pub const SDL_PIXELFORMAT_RGB332: SDL_PixelFormat
pub const SDL_PIXELFORMAT_XRGB4444: SDL_PixelFormat
pub const SDL_PIXELFORMAT_XBGR4444: SDL_PixelFormat
pub const SDL_PIXELFORMAT_XRGB1555: SDL_PixelFormat
pub const SDL_PIXELFORMAT_XBGR1555: SDL_PixelFormat
pub const SDL_PIXELFORMAT_ARGB4444: SDL_PixelFormat
pub const SDL_PIXELFORMAT_RGBA4444: SDL_PixelFormat
pub const SDL_PIXELFORMAT_ABGR4444: SDL_PixelFormat
pub const SDL_PIXELFORMAT_BGRA4444: SDL_PixelFormat
pub const SDL_PIXELFORMAT_ARGB1555: SDL_PixelFormat
pub const SDL_PIXELFORMAT_RGBA5551: SDL_PixelFormat
pub const SDL_PIXELFORMAT_ABGR1555: SDL_PixelFormat
pub const SDL_PIXELFORMAT_BGRA5551: SDL_PixelFormat
pub const SDL_PIXELFORMAT_RGB565: SDL_PixelFormat
pub const SDL_PIXELFORMAT_BGR565: SDL_PixelFormat
pub const SDL_PIXELFORMAT_RGB24: SDL_PixelFormat
pub const SDL_PIXELFORMAT_BGR24: SDL_PixelFormat
pub const SDL_PIXELFORMAT_XRGB8888: SDL_PixelFormat
pub const SDL_PIXELFORMAT_RGBX8888: SDL_PixelFormat
pub const SDL_PIXELFORMAT_XBGR8888: SDL_PixelFormat
pub const SDL_PIXELFORMAT_BGRX8888: SDL_PixelFormat
pub const SDL_PIXELFORMAT_ARGB8888: SDL_PixelFormat
pub const SDL_PIXELFORMAT_RGBA8888: SDL_PixelFormat
pub const SDL_PIXELFORMAT_ABGR8888: SDL_PixelFormat
pub const SDL_PIXELFORMAT_BGRA8888: SDL_PixelFormat
pub const SDL_PIXELFORMAT_XRGB2101010: SDL_PixelFormat
pub const SDL_PIXELFORMAT_XBGR2101010: SDL_PixelFormat
pub const SDL_PIXELFORMAT_ARGB2101010: SDL_PixelFormat
pub const SDL_PIXELFORMAT_ABGR2101010: SDL_PixelFormat
pub const SDL_PIXELFORMAT_RGB48: SDL_PixelFormat
pub const SDL_PIXELFORMAT_BGR48: SDL_PixelFormat
pub const SDL_PIXELFORMAT_RGBA64: SDL_PixelFormat
pub const SDL_PIXELFORMAT_ARGB64: SDL_PixelFormat
pub const SDL_PIXELFORMAT_BGRA64: SDL_PixelFormat
pub const SDL_PIXELFORMAT_ABGR64: SDL_PixelFormat
pub const SDL_PIXELFORMAT_RGB48_FLOAT: SDL_PixelFormat
pub const SDL_PIXELFORMAT_BGR48_FLOAT: SDL_PixelFormat
pub const SDL_PIXELFORMAT_RGBA64_FLOAT: SDL_PixelFormat
pub const SDL_PIXELFORMAT_ARGB64_FLOAT: SDL_PixelFormat
pub const SDL_PIXELFORMAT_BGRA64_FLOAT: SDL_PixelFormat
pub const SDL_PIXELFORMAT_ABGR64_FLOAT: SDL_PixelFormat
pub const SDL_PIXELFORMAT_RGB96_FLOAT: SDL_PixelFormat
pub const SDL_PIXELFORMAT_BGR96_FLOAT: SDL_PixelFormat
pub const SDL_PIXELFORMAT_RGBA128_FLOAT: SDL_PixelFormat
pub const SDL_PIXELFORMAT_ARGB128_FLOAT: SDL_PixelFormat
pub const SDL_PIXELFORMAT_BGRA128_FLOAT: SDL_PixelFormat
pub const SDL_PIXELFORMAT_ABGR128_FLOAT: SDL_PixelFormat
Sourcepub const SDL_PIXELFORMAT_YV12: SDL_PixelFormat
pub const SDL_PIXELFORMAT_YV12: SDL_PixelFormat
< Planar mode: Y + V + U (3 planes)
Sourcepub const SDL_PIXELFORMAT_IYUV: SDL_PixelFormat
pub const SDL_PIXELFORMAT_IYUV: SDL_PixelFormat
< Planar mode: Y + U + V (3 planes)
Sourcepub const SDL_PIXELFORMAT_YUY2: SDL_PixelFormat
pub const SDL_PIXELFORMAT_YUY2: SDL_PixelFormat
< Packed mode: Y0+U0+Y1+V0 (1 plane)
Sourcepub const SDL_PIXELFORMAT_UYVY: SDL_PixelFormat
pub const SDL_PIXELFORMAT_UYVY: SDL_PixelFormat
< Packed mode: U0+Y0+V0+Y1 (1 plane)
Sourcepub const SDL_PIXELFORMAT_YVYU: SDL_PixelFormat
pub const SDL_PIXELFORMAT_YVYU: SDL_PixelFormat
< Packed mode: Y0+V0+Y1+U0 (1 plane)
Sourcepub const SDL_PIXELFORMAT_NV12: SDL_PixelFormat
pub const SDL_PIXELFORMAT_NV12: SDL_PixelFormat
< Planar mode: Y + U/V interleaved (2 planes)
Sourcepub const SDL_PIXELFORMAT_NV21: SDL_PixelFormat
pub const SDL_PIXELFORMAT_NV21: SDL_PixelFormat
< Planar mode: Y + V/U interleaved (2 planes)
Sourcepub const SDL_PIXELFORMAT_P010: SDL_PixelFormat
pub const SDL_PIXELFORMAT_P010: SDL_PixelFormat
< Planar mode: Y + U/V interleaved (2 planes)
Sourcepub const SDL_PIXELFORMAT_EXTERNAL_OES: SDL_PixelFormat
pub const SDL_PIXELFORMAT_EXTERNAL_OES: SDL_PixelFormat
< Android video texture format
Sourcepub const SDL_PIXELFORMAT_MJPG: SDL_PixelFormat
pub const SDL_PIXELFORMAT_MJPG: SDL_PixelFormat
< Motion JPEG
pub const SDL_PIXELFORMAT_RGBA32: SDL_PixelFormat
pub const SDL_PIXELFORMAT_ARGB32: SDL_PixelFormat
pub const SDL_PIXELFORMAT_BGRA32: SDL_PixelFormat
pub const SDL_PIXELFORMAT_ABGR32: SDL_PixelFormat
pub const SDL_PIXELFORMAT_RGBX32: SDL_PixelFormat
pub const SDL_PIXELFORMAT_XRGB32: SDL_PixelFormat
pub const SDL_PIXELFORMAT_BGRX32: SDL_PixelFormat
pub const SDL_PIXELFORMAT_XBGR32: SDL_PixelFormat
Trait Implementations§
Source§impl Clone for SDL_PixelFormat
impl Clone for SDL_PixelFormat
Source§fn clone(&self) -> SDL_PixelFormat
fn clone(&self) -> SDL_PixelFormat
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SDL_PixelFormat
impl Debug for SDL_PixelFormat
Source§impl Hash for SDL_PixelFormat
impl Hash for SDL_PixelFormat
Source§impl PartialEq for SDL_PixelFormat
impl PartialEq for SDL_PixelFormat
impl Copy for SDL_PixelFormat
impl Eq for SDL_PixelFormat
impl StructuralPartialEq for SDL_PixelFormat
Auto Trait Implementations§
impl Freeze for SDL_PixelFormat
impl RefUnwindSafe for SDL_PixelFormat
impl Send for SDL_PixelFormat
impl Sync for SDL_PixelFormat
impl Unpin for SDL_PixelFormat
impl UnsafeUnpin for SDL_PixelFormat
impl UnwindSafe for SDL_PixelFormat
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
Mutably borrows from an owned value. Read more