#[non_exhaustive]pub enum PixelFormat {
Show 31 variants
Any,
A8,
Rgb565,
Rgba4444,
Rgba5551,
Yuv,
G8,
Rg88,
Rgb888,
Bgr888,
Rgba8888,
Bgra8888,
Argb8888,
Abgr8888,
Rgba1010102,
Bgra1010102,
Argb2101010,
Abgr2101010,
Rgba8888Pre,
Bgra8888Pre,
Argb8888Pre,
Abgr8888Pre,
Rgba4444Pre,
Rgba5551Pre,
Rgba1010102Pre,
Bgra1010102Pre,
Argb2101010Pre,
Abgr2101010Pre,
Depth16,
Depth32,
Depth24Stencil8,
}
Expand description
Pixel formats used by Cogl. For the formats with a byte per
component, the order of the components specify the order in
increasing memory addresses. So for example
PixelFormat::Rgb888
would have the red component in the
lowest address, green in the next address and blue after that
regardless of the endianness of the system.
For the formats with non byte aligned components the component
order specifies the order within a 16-bit or 32-bit number from
most significant bit to least significant. So for
PixelFormat::Rgb565
, the red component would be in bits
11-15, the green component would be in 6-11 and the blue component
would be in 1-5. Therefore the order in memory depends on the
endianness of the system.
When uploading a texture PixelFormat::Any
can be used as the
internal format. Cogl will try to pick the best format to use
internally and convert the texture data if necessary.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Any
Any format
A8
8 bits alpha mask
Rgb565
RGB, 16 bits
Rgba4444
RGBA, 16 bits
Rgba5551
RGBA, 16 bits
Yuv
Not currently supported
G8
Single luminance component
Rg88
RG, 16 bits. Note that red-green textures
are only available if FeatureID::OglFeatureIdTextureRg
is advertised.
See Texture::set_components
for details.
Rgb888
RGB, 24 bits
Bgr888
BGR, 24 bits
Rgba8888
RGBA, 32 bits
Bgra8888
BGRA, 32 bits
Argb8888
ARGB, 32 bits
Abgr8888
ABGR, 32 bits
Rgba1010102
RGBA, 32 bits, 10 bpc
Bgra1010102
BGRA, 32 bits, 10 bpc
Argb2101010
ARGB, 32 bits, 10 bpc
Abgr2101010
ABGR, 32 bits, 10 bpc
Rgba8888Pre
Premultiplied RGBA, 32 bits
Bgra8888Pre
Premultiplied BGRA, 32 bits
Argb8888Pre
Premultiplied ARGB, 32 bits
Abgr8888Pre
Premultiplied ABGR, 32 bits
Rgba4444Pre
Premultiplied RGBA, 16 bits
Rgba5551Pre
Premultiplied RGBA, 16 bits
Rgba1010102Pre
Premultiplied RGBA, 32 bits, 10 bpc
Bgra1010102Pre
Premultiplied BGRA, 32 bits, 10 bpc
Argb2101010Pre
Premultiplied ARGB, 32 bits, 10 bpc
Abgr2101010Pre
Premultiplied ABGR, 32 bits, 10 bpc
Depth16
Depth32
Depth24Stencil8
Trait Implementations§
Source§impl Clone for PixelFormat
impl Clone for PixelFormat
Source§fn clone(&self) -> PixelFormat
fn clone(&self) -> PixelFormat
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for PixelFormat
impl Debug for PixelFormat
Source§impl Display for PixelFormat
impl Display for PixelFormat
Source§impl<'a> FromValue<'a> for PixelFormat
impl<'a> FromValue<'a> for PixelFormat
Source§unsafe fn from_value(value: &Value) -> Self
unsafe fn from_value(value: &Value) -> Self
Source§impl<'a> FromValueOptional<'a> for PixelFormat
impl<'a> FromValueOptional<'a> for PixelFormat
Source§impl Hash for PixelFormat
impl Hash for PixelFormat
Source§impl Ord for PixelFormat
impl Ord for PixelFormat
Source§fn cmp(&self, other: &PixelFormat) -> Ordering
fn cmp(&self, other: &PixelFormat) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for PixelFormat
impl PartialEq for PixelFormat
Source§impl PartialOrd for PixelFormat
impl PartialOrd for PixelFormat
Source§impl SetValue for PixelFormat
impl SetValue for PixelFormat
Source§impl StaticType for PixelFormat
impl StaticType for PixelFormat
Source§fn static_type() -> Type
fn static_type() -> Type
Self
.impl Copy for PixelFormat
impl Eq for PixelFormat
impl StructuralPartialEq for PixelFormat
Auto Trait Implementations§
impl Freeze for PixelFormat
impl RefUnwindSafe for PixelFormat
impl Send for PixelFormat
impl Sync for PixelFormat
impl Unpin for PixelFormat
impl UnwindSafe for 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> ToSendValue for T
impl<T> ToSendValue for T
Source§fn to_send_value(&self) -> SendValue
fn to_send_value(&self) -> SendValue
SendValue
clone of self
.