1use super::stdinc::*;
56
57use super::error::*;
58
59pub const SDL_ALPHA_OPAQUE: Uint8 = (255 as Uint8);
67
68pub const SDL_ALPHA_OPAQUE_FLOAT: ::core::ffi::c_float = 1.0_f32;
76
77pub const SDL_ALPHA_TRANSPARENT: Uint8 = (0 as Uint8);
85
86pub const SDL_ALPHA_TRANSPARENT_FLOAT: ::core::ffi::c_float = 0.0_f32;
94
95#[repr(transparent)]
117#[derive(Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
118pub struct SDL_PixelType(pub ::core::ffi::c_int);
119
120impl ::core::cmp::PartialEq<::core::ffi::c_int> for SDL_PixelType {
121 #[inline(always)]
122 fn eq(&self, other: &::core::ffi::c_int) -> bool {
123 &self.0 == other
124 }
125}
126
127impl ::core::cmp::PartialEq<SDL_PixelType> for ::core::ffi::c_int {
128 #[inline(always)]
129 fn eq(&self, other: &SDL_PixelType) -> bool {
130 self == &other.0
131 }
132}
133
134impl From<SDL_PixelType> for ::core::ffi::c_int {
135 #[inline(always)]
136 fn from(value: SDL_PixelType) -> Self {
137 value.0
138 }
139}
140
141#[cfg(feature = "debug-impls")]
142impl ::core::fmt::Debug for SDL_PixelType {
143 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
144 #[allow(unreachable_patterns)]
145 f.write_str(match *self {
146 Self::UNKNOWN => "SDL_PIXELTYPE_UNKNOWN",
147 Self::INDEX1 => "SDL_PIXELTYPE_INDEX1",
148 Self::INDEX4 => "SDL_PIXELTYPE_INDEX4",
149 Self::INDEX8 => "SDL_PIXELTYPE_INDEX8",
150 Self::PACKED8 => "SDL_PIXELTYPE_PACKED8",
151 Self::PACKED16 => "SDL_PIXELTYPE_PACKED16",
152 Self::PACKED32 => "SDL_PIXELTYPE_PACKED32",
153 Self::ARRAYU8 => "SDL_PIXELTYPE_ARRAYU8",
154 Self::ARRAYU16 => "SDL_PIXELTYPE_ARRAYU16",
155 Self::ARRAYU32 => "SDL_PIXELTYPE_ARRAYU32",
156 Self::ARRAYF16 => "SDL_PIXELTYPE_ARRAYF16",
157 Self::ARRAYF32 => "SDL_PIXELTYPE_ARRAYF32",
158 Self::INDEX2 => "SDL_PIXELTYPE_INDEX2",
159
160 _ => return write!(f, "SDL_PixelType({})", self.0),
161 })
162 }
163}
164
165impl SDL_PixelType {
166 pub const UNKNOWN: Self = Self((0 as ::core::ffi::c_int));
167 pub const INDEX1: Self = Self((1 as ::core::ffi::c_int));
168 pub const INDEX4: Self = Self((2 as ::core::ffi::c_int));
169 pub const INDEX8: Self = Self((3 as ::core::ffi::c_int));
170 pub const PACKED8: Self = Self((4 as ::core::ffi::c_int));
171 pub const PACKED16: Self = Self((5 as ::core::ffi::c_int));
172 pub const PACKED32: Self = Self((6 as ::core::ffi::c_int));
173 pub const ARRAYU8: Self = Self((7 as ::core::ffi::c_int));
174 pub const ARRAYU16: Self = Self((8 as ::core::ffi::c_int));
175 pub const ARRAYU32: Self = Self((9 as ::core::ffi::c_int));
176 pub const ARRAYF16: Self = Self((10 as ::core::ffi::c_int));
177 pub const ARRAYF32: Self = Self((11 as ::core::ffi::c_int));
178 pub const INDEX2: Self = Self((12 as ::core::ffi::c_int));
179}
180
181pub const SDL_PIXELTYPE_UNKNOWN: SDL_PixelType = SDL_PixelType::UNKNOWN;
182pub const SDL_PIXELTYPE_INDEX1: SDL_PixelType = SDL_PixelType::INDEX1;
183pub const SDL_PIXELTYPE_INDEX4: SDL_PixelType = SDL_PixelType::INDEX4;
184pub const SDL_PIXELTYPE_INDEX8: SDL_PixelType = SDL_PixelType::INDEX8;
185pub const SDL_PIXELTYPE_PACKED8: SDL_PixelType = SDL_PixelType::PACKED8;
186pub const SDL_PIXELTYPE_PACKED16: SDL_PixelType = SDL_PixelType::PACKED16;
187pub const SDL_PIXELTYPE_PACKED32: SDL_PixelType = SDL_PixelType::PACKED32;
188pub const SDL_PIXELTYPE_ARRAYU8: SDL_PixelType = SDL_PixelType::ARRAYU8;
189pub const SDL_PIXELTYPE_ARRAYU16: SDL_PixelType = SDL_PixelType::ARRAYU16;
190pub const SDL_PIXELTYPE_ARRAYU32: SDL_PixelType = SDL_PixelType::ARRAYU32;
191pub const SDL_PIXELTYPE_ARRAYF16: SDL_PixelType = SDL_PixelType::ARRAYF16;
192pub const SDL_PIXELTYPE_ARRAYF32: SDL_PixelType = SDL_PixelType::ARRAYF32;
193pub const SDL_PIXELTYPE_INDEX2: SDL_PixelType = SDL_PixelType::INDEX2;
194
195#[cfg(feature = "metadata")]
196impl sdl3_sys::metadata::GroupMetadata for SDL_PixelType {
197 const GROUP_METADATA: &'static sdl3_sys::metadata::Group =
198 &crate::metadata::pixels::METADATA_SDL_PixelType;
199}
200
201#[repr(transparent)]
213#[derive(Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
214pub struct SDL_BitmapOrder(pub ::core::ffi::c_int);
215
216impl ::core::cmp::PartialEq<::core::ffi::c_int> for SDL_BitmapOrder {
217 #[inline(always)]
218 fn eq(&self, other: &::core::ffi::c_int) -> bool {
219 &self.0 == other
220 }
221}
222
223impl ::core::cmp::PartialEq<SDL_BitmapOrder> for ::core::ffi::c_int {
224 #[inline(always)]
225 fn eq(&self, other: &SDL_BitmapOrder) -> bool {
226 self == &other.0
227 }
228}
229
230impl From<SDL_BitmapOrder> for ::core::ffi::c_int {
231 #[inline(always)]
232 fn from(value: SDL_BitmapOrder) -> Self {
233 value.0
234 }
235}
236
237#[cfg(feature = "debug-impls")]
238impl ::core::fmt::Debug for SDL_BitmapOrder {
239 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
240 #[allow(unreachable_patterns)]
241 f.write_str(match *self {
242 Self::NONE => "SDL_BITMAPORDER_NONE",
243 Self::_4321 => "SDL_BITMAPORDER_4321",
244 Self::_1234 => "SDL_BITMAPORDER_1234",
245
246 _ => return write!(f, "SDL_BitmapOrder({})", self.0),
247 })
248 }
249}
250
251impl SDL_BitmapOrder {
252 pub const NONE: Self = Self((0 as ::core::ffi::c_int));
253 pub const _4321: Self = Self((1 as ::core::ffi::c_int));
254 pub const _1234: Self = Self((2 as ::core::ffi::c_int));
255}
256
257pub const SDL_BITMAPORDER_NONE: SDL_BitmapOrder = SDL_BitmapOrder::NONE;
258pub const SDL_BITMAPORDER_4321: SDL_BitmapOrder = SDL_BitmapOrder::_4321;
259pub const SDL_BITMAPORDER_1234: SDL_BitmapOrder = SDL_BitmapOrder::_1234;
260
261#[cfg(feature = "metadata")]
262impl sdl3_sys::metadata::GroupMetadata for SDL_BitmapOrder {
263 const GROUP_METADATA: &'static sdl3_sys::metadata::Group =
264 &crate::metadata::pixels::METADATA_SDL_BitmapOrder;
265}
266
267#[repr(transparent)]
285#[derive(Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
286pub struct SDL_PackedOrder(pub ::core::ffi::c_int);
287
288impl ::core::cmp::PartialEq<::core::ffi::c_int> for SDL_PackedOrder {
289 #[inline(always)]
290 fn eq(&self, other: &::core::ffi::c_int) -> bool {
291 &self.0 == other
292 }
293}
294
295impl ::core::cmp::PartialEq<SDL_PackedOrder> for ::core::ffi::c_int {
296 #[inline(always)]
297 fn eq(&self, other: &SDL_PackedOrder) -> bool {
298 self == &other.0
299 }
300}
301
302impl From<SDL_PackedOrder> for ::core::ffi::c_int {
303 #[inline(always)]
304 fn from(value: SDL_PackedOrder) -> Self {
305 value.0
306 }
307}
308
309#[cfg(feature = "debug-impls")]
310impl ::core::fmt::Debug for SDL_PackedOrder {
311 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
312 #[allow(unreachable_patterns)]
313 f.write_str(match *self {
314 Self::NONE => "SDL_PACKEDORDER_NONE",
315 Self::XRGB => "SDL_PACKEDORDER_XRGB",
316 Self::RGBX => "SDL_PACKEDORDER_RGBX",
317 Self::ARGB => "SDL_PACKEDORDER_ARGB",
318 Self::RGBA => "SDL_PACKEDORDER_RGBA",
319 Self::XBGR => "SDL_PACKEDORDER_XBGR",
320 Self::BGRX => "SDL_PACKEDORDER_BGRX",
321 Self::ABGR => "SDL_PACKEDORDER_ABGR",
322 Self::BGRA => "SDL_PACKEDORDER_BGRA",
323
324 _ => return write!(f, "SDL_PackedOrder({})", self.0),
325 })
326 }
327}
328
329impl SDL_PackedOrder {
330 pub const NONE: Self = Self((0 as ::core::ffi::c_int));
331 pub const XRGB: Self = Self((1 as ::core::ffi::c_int));
332 pub const RGBX: Self = Self((2 as ::core::ffi::c_int));
333 pub const ARGB: Self = Self((3 as ::core::ffi::c_int));
334 pub const RGBA: Self = Self((4 as ::core::ffi::c_int));
335 pub const XBGR: Self = Self((5 as ::core::ffi::c_int));
336 pub const BGRX: Self = Self((6 as ::core::ffi::c_int));
337 pub const ABGR: Self = Self((7 as ::core::ffi::c_int));
338 pub const BGRA: Self = Self((8 as ::core::ffi::c_int));
339}
340
341pub const SDL_PACKEDORDER_NONE: SDL_PackedOrder = SDL_PackedOrder::NONE;
342pub const SDL_PACKEDORDER_XRGB: SDL_PackedOrder = SDL_PackedOrder::XRGB;
343pub const SDL_PACKEDORDER_RGBX: SDL_PackedOrder = SDL_PackedOrder::RGBX;
344pub const SDL_PACKEDORDER_ARGB: SDL_PackedOrder = SDL_PackedOrder::ARGB;
345pub const SDL_PACKEDORDER_RGBA: SDL_PackedOrder = SDL_PackedOrder::RGBA;
346pub const SDL_PACKEDORDER_XBGR: SDL_PackedOrder = SDL_PackedOrder::XBGR;
347pub const SDL_PACKEDORDER_BGRX: SDL_PackedOrder = SDL_PackedOrder::BGRX;
348pub const SDL_PACKEDORDER_ABGR: SDL_PackedOrder = SDL_PackedOrder::ABGR;
349pub const SDL_PACKEDORDER_BGRA: SDL_PackedOrder = SDL_PackedOrder::BGRA;
350
351#[cfg(feature = "metadata")]
352impl sdl3_sys::metadata::GroupMetadata for SDL_PackedOrder {
353 const GROUP_METADATA: &'static sdl3_sys::metadata::Group =
354 &crate::metadata::pixels::METADATA_SDL_PackedOrder;
355}
356
357#[repr(transparent)]
373#[derive(Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
374pub struct SDL_ArrayOrder(pub ::core::ffi::c_int);
375
376impl ::core::cmp::PartialEq<::core::ffi::c_int> for SDL_ArrayOrder {
377 #[inline(always)]
378 fn eq(&self, other: &::core::ffi::c_int) -> bool {
379 &self.0 == other
380 }
381}
382
383impl ::core::cmp::PartialEq<SDL_ArrayOrder> for ::core::ffi::c_int {
384 #[inline(always)]
385 fn eq(&self, other: &SDL_ArrayOrder) -> bool {
386 self == &other.0
387 }
388}
389
390impl From<SDL_ArrayOrder> for ::core::ffi::c_int {
391 #[inline(always)]
392 fn from(value: SDL_ArrayOrder) -> Self {
393 value.0
394 }
395}
396
397#[cfg(feature = "debug-impls")]
398impl ::core::fmt::Debug for SDL_ArrayOrder {
399 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
400 #[allow(unreachable_patterns)]
401 f.write_str(match *self {
402 Self::NONE => "SDL_ARRAYORDER_NONE",
403 Self::RGB => "SDL_ARRAYORDER_RGB",
404 Self::RGBA => "SDL_ARRAYORDER_RGBA",
405 Self::ARGB => "SDL_ARRAYORDER_ARGB",
406 Self::BGR => "SDL_ARRAYORDER_BGR",
407 Self::BGRA => "SDL_ARRAYORDER_BGRA",
408 Self::ABGR => "SDL_ARRAYORDER_ABGR",
409
410 _ => return write!(f, "SDL_ArrayOrder({})", self.0),
411 })
412 }
413}
414
415impl SDL_ArrayOrder {
416 pub const NONE: Self = Self((0 as ::core::ffi::c_int));
417 pub const RGB: Self = Self((1 as ::core::ffi::c_int));
418 pub const RGBA: Self = Self((2 as ::core::ffi::c_int));
419 pub const ARGB: Self = Self((3 as ::core::ffi::c_int));
420 pub const BGR: Self = Self((4 as ::core::ffi::c_int));
421 pub const BGRA: Self = Self((5 as ::core::ffi::c_int));
422 pub const ABGR: Self = Self((6 as ::core::ffi::c_int));
423}
424
425pub const SDL_ARRAYORDER_NONE: SDL_ArrayOrder = SDL_ArrayOrder::NONE;
426pub const SDL_ARRAYORDER_RGB: SDL_ArrayOrder = SDL_ArrayOrder::RGB;
427pub const SDL_ARRAYORDER_RGBA: SDL_ArrayOrder = SDL_ArrayOrder::RGBA;
428pub const SDL_ARRAYORDER_ARGB: SDL_ArrayOrder = SDL_ArrayOrder::ARGB;
429pub const SDL_ARRAYORDER_BGR: SDL_ArrayOrder = SDL_ArrayOrder::BGR;
430pub const SDL_ARRAYORDER_BGRA: SDL_ArrayOrder = SDL_ArrayOrder::BGRA;
431pub const SDL_ARRAYORDER_ABGR: SDL_ArrayOrder = SDL_ArrayOrder::ABGR;
432
433#[cfg(feature = "metadata")]
434impl sdl3_sys::metadata::GroupMetadata for SDL_ArrayOrder {
435 const GROUP_METADATA: &'static sdl3_sys::metadata::Group =
436 &crate::metadata::pixels::METADATA_SDL_ArrayOrder;
437}
438
439#[repr(transparent)]
457#[derive(Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
458pub struct SDL_PackedLayout(pub ::core::ffi::c_int);
459
460impl ::core::cmp::PartialEq<::core::ffi::c_int> for SDL_PackedLayout {
461 #[inline(always)]
462 fn eq(&self, other: &::core::ffi::c_int) -> bool {
463 &self.0 == other
464 }
465}
466
467impl ::core::cmp::PartialEq<SDL_PackedLayout> for ::core::ffi::c_int {
468 #[inline(always)]
469 fn eq(&self, other: &SDL_PackedLayout) -> bool {
470 self == &other.0
471 }
472}
473
474impl From<SDL_PackedLayout> for ::core::ffi::c_int {
475 #[inline(always)]
476 fn from(value: SDL_PackedLayout) -> Self {
477 value.0
478 }
479}
480
481#[cfg(feature = "debug-impls")]
482impl ::core::fmt::Debug for SDL_PackedLayout {
483 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
484 #[allow(unreachable_patterns)]
485 f.write_str(match *self {
486 Self::NONE => "SDL_PACKEDLAYOUT_NONE",
487 Self::_332 => "SDL_PACKEDLAYOUT_332",
488 Self::_4444 => "SDL_PACKEDLAYOUT_4444",
489 Self::_1555 => "SDL_PACKEDLAYOUT_1555",
490 Self::_5551 => "SDL_PACKEDLAYOUT_5551",
491 Self::_565 => "SDL_PACKEDLAYOUT_565",
492 Self::_8888 => "SDL_PACKEDLAYOUT_8888",
493 Self::_2101010 => "SDL_PACKEDLAYOUT_2101010",
494 Self::_1010102 => "SDL_PACKEDLAYOUT_1010102",
495
496 _ => return write!(f, "SDL_PackedLayout({})", self.0),
497 })
498 }
499}
500
501impl SDL_PackedLayout {
502 pub const NONE: Self = Self((0 as ::core::ffi::c_int));
503 pub const _332: Self = Self((1 as ::core::ffi::c_int));
504 pub const _4444: Self = Self((2 as ::core::ffi::c_int));
505 pub const _1555: Self = Self((3 as ::core::ffi::c_int));
506 pub const _5551: Self = Self((4 as ::core::ffi::c_int));
507 pub const _565: Self = Self((5 as ::core::ffi::c_int));
508 pub const _8888: Self = Self((6 as ::core::ffi::c_int));
509 pub const _2101010: Self = Self((7 as ::core::ffi::c_int));
510 pub const _1010102: Self = Self((8 as ::core::ffi::c_int));
511}
512
513pub const SDL_PACKEDLAYOUT_NONE: SDL_PackedLayout = SDL_PackedLayout::NONE;
514pub const SDL_PACKEDLAYOUT_332: SDL_PackedLayout = SDL_PackedLayout::_332;
515pub const SDL_PACKEDLAYOUT_4444: SDL_PackedLayout = SDL_PackedLayout::_4444;
516pub const SDL_PACKEDLAYOUT_1555: SDL_PackedLayout = SDL_PackedLayout::_1555;
517pub const SDL_PACKEDLAYOUT_5551: SDL_PackedLayout = SDL_PackedLayout::_5551;
518pub const SDL_PACKEDLAYOUT_565: SDL_PackedLayout = SDL_PackedLayout::_565;
519pub const SDL_PACKEDLAYOUT_8888: SDL_PackedLayout = SDL_PackedLayout::_8888;
520pub const SDL_PACKEDLAYOUT_2101010: SDL_PackedLayout = SDL_PackedLayout::_2101010;
521pub const SDL_PACKEDLAYOUT_1010102: SDL_PackedLayout = SDL_PackedLayout::_1010102;
522
523#[cfg(feature = "metadata")]
524impl sdl3_sys::metadata::GroupMetadata for SDL_PackedLayout {
525 const GROUP_METADATA: &'static sdl3_sys::metadata::Group =
526 &crate::metadata::pixels::METADATA_SDL_PackedLayout;
527}
528
529#[inline(always)]
552pub const fn SDL_DEFINE_PIXELFOURCC(A: Uint8, B: Uint8, C: Uint8, D: Uint8) -> Uint32 {
553 SDL_FOURCC(A, B, C, D)
554}
555
556#[repr(transparent)]
670#[derive(Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
671pub struct SDL_PixelFormat(pub ::core::ffi::c_int);
672
673impl ::core::cmp::PartialEq<::core::ffi::c_int> for SDL_PixelFormat {
674 #[inline(always)]
675 fn eq(&self, other: &::core::ffi::c_int) -> bool {
676 &self.0 == other
677 }
678}
679
680impl ::core::cmp::PartialEq<SDL_PixelFormat> for ::core::ffi::c_int {
681 #[inline(always)]
682 fn eq(&self, other: &SDL_PixelFormat) -> bool {
683 self == &other.0
684 }
685}
686
687impl From<SDL_PixelFormat> for ::core::ffi::c_int {
688 #[inline(always)]
689 fn from(value: SDL_PixelFormat) -> Self {
690 value.0
691 }
692}
693
694#[cfg(feature = "debug-impls")]
695impl ::core::fmt::Debug for SDL_PixelFormat {
696 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
697 #[allow(unreachable_patterns)]
698 f.write_str(match *self {
699 Self::UNKNOWN => "SDL_PIXELFORMAT_UNKNOWN",
700 Self::INDEX1LSB => "SDL_PIXELFORMAT_INDEX1LSB",
701 Self::INDEX1MSB => "SDL_PIXELFORMAT_INDEX1MSB",
702 Self::INDEX2LSB => "SDL_PIXELFORMAT_INDEX2LSB",
703 Self::INDEX2MSB => "SDL_PIXELFORMAT_INDEX2MSB",
704 Self::INDEX4LSB => "SDL_PIXELFORMAT_INDEX4LSB",
705 Self::INDEX4MSB => "SDL_PIXELFORMAT_INDEX4MSB",
706 Self::INDEX8 => "SDL_PIXELFORMAT_INDEX8",
707 Self::RGB332 => "SDL_PIXELFORMAT_RGB332",
708 Self::XRGB4444 => "SDL_PIXELFORMAT_XRGB4444",
709 Self::XBGR4444 => "SDL_PIXELFORMAT_XBGR4444",
710 Self::XRGB1555 => "SDL_PIXELFORMAT_XRGB1555",
711 Self::XBGR1555 => "SDL_PIXELFORMAT_XBGR1555",
712 Self::ARGB4444 => "SDL_PIXELFORMAT_ARGB4444",
713 Self::RGBA4444 => "SDL_PIXELFORMAT_RGBA4444",
714 Self::ABGR4444 => "SDL_PIXELFORMAT_ABGR4444",
715 Self::BGRA4444 => "SDL_PIXELFORMAT_BGRA4444",
716 Self::ARGB1555 => "SDL_PIXELFORMAT_ARGB1555",
717 Self::RGBA5551 => "SDL_PIXELFORMAT_RGBA5551",
718 Self::ABGR1555 => "SDL_PIXELFORMAT_ABGR1555",
719 Self::BGRA5551 => "SDL_PIXELFORMAT_BGRA5551",
720 Self::RGB565 => "SDL_PIXELFORMAT_RGB565",
721 Self::BGR565 => "SDL_PIXELFORMAT_BGR565",
722 Self::RGB24 => "SDL_PIXELFORMAT_RGB24",
723 Self::BGR24 => "SDL_PIXELFORMAT_BGR24",
724 Self::XRGB8888 => "SDL_PIXELFORMAT_XRGB8888",
725 Self::RGBX8888 => "SDL_PIXELFORMAT_RGBX8888",
726 Self::XBGR8888 => "SDL_PIXELFORMAT_XBGR8888",
727 Self::BGRX8888 => "SDL_PIXELFORMAT_BGRX8888",
728 Self::ARGB8888 => "SDL_PIXELFORMAT_ARGB8888",
729 Self::RGBA8888 => "SDL_PIXELFORMAT_RGBA8888",
730 Self::ABGR8888 => "SDL_PIXELFORMAT_ABGR8888",
731 Self::BGRA8888 => "SDL_PIXELFORMAT_BGRA8888",
732 Self::XRGB2101010 => "SDL_PIXELFORMAT_XRGB2101010",
733 Self::XBGR2101010 => "SDL_PIXELFORMAT_XBGR2101010",
734 Self::ARGB2101010 => "SDL_PIXELFORMAT_ARGB2101010",
735 Self::ABGR2101010 => "SDL_PIXELFORMAT_ABGR2101010",
736 Self::RGB48 => "SDL_PIXELFORMAT_RGB48",
737 Self::BGR48 => "SDL_PIXELFORMAT_BGR48",
738 Self::RGBA64 => "SDL_PIXELFORMAT_RGBA64",
739 Self::ARGB64 => "SDL_PIXELFORMAT_ARGB64",
740 Self::BGRA64 => "SDL_PIXELFORMAT_BGRA64",
741 Self::ABGR64 => "SDL_PIXELFORMAT_ABGR64",
742 Self::RGB48_FLOAT => "SDL_PIXELFORMAT_RGB48_FLOAT",
743 Self::BGR48_FLOAT => "SDL_PIXELFORMAT_BGR48_FLOAT",
744 Self::RGBA64_FLOAT => "SDL_PIXELFORMAT_RGBA64_FLOAT",
745 Self::ARGB64_FLOAT => "SDL_PIXELFORMAT_ARGB64_FLOAT",
746 Self::BGRA64_FLOAT => "SDL_PIXELFORMAT_BGRA64_FLOAT",
747 Self::ABGR64_FLOAT => "SDL_PIXELFORMAT_ABGR64_FLOAT",
748 Self::RGB96_FLOAT => "SDL_PIXELFORMAT_RGB96_FLOAT",
749 Self::BGR96_FLOAT => "SDL_PIXELFORMAT_BGR96_FLOAT",
750 Self::RGBA128_FLOAT => "SDL_PIXELFORMAT_RGBA128_FLOAT",
751 Self::ARGB128_FLOAT => "SDL_PIXELFORMAT_ARGB128_FLOAT",
752 Self::BGRA128_FLOAT => "SDL_PIXELFORMAT_BGRA128_FLOAT",
753 Self::ABGR128_FLOAT => "SDL_PIXELFORMAT_ABGR128_FLOAT",
754 Self::YV12 => "SDL_PIXELFORMAT_YV12",
755 Self::IYUV => "SDL_PIXELFORMAT_IYUV",
756 Self::YUY2 => "SDL_PIXELFORMAT_YUY2",
757 Self::UYVY => "SDL_PIXELFORMAT_UYVY",
758 Self::YVYU => "SDL_PIXELFORMAT_YVYU",
759 Self::NV12 => "SDL_PIXELFORMAT_NV12",
760 Self::NV21 => "SDL_PIXELFORMAT_NV21",
761 Self::P010 => "SDL_PIXELFORMAT_P010",
762 Self::EXTERNAL_OES => "SDL_PIXELFORMAT_EXTERNAL_OES",
763 Self::MJPG => "SDL_PIXELFORMAT_MJPG",
764 Self::RGBA32 => "SDL_PIXELFORMAT_RGBA32",
765 Self::ARGB32 => "SDL_PIXELFORMAT_ARGB32",
766 Self::BGRA32 => "SDL_PIXELFORMAT_BGRA32",
767 Self::ABGR32 => "SDL_PIXELFORMAT_ABGR32",
768 Self::RGBX32 => "SDL_PIXELFORMAT_RGBX32",
769 Self::XRGB32 => "SDL_PIXELFORMAT_XRGB32",
770 Self::BGRX32 => "SDL_PIXELFORMAT_BGRX32",
771 Self::XBGR32 => "SDL_PIXELFORMAT_XBGR32",
772 Self::RGBA32 => "SDL_PIXELFORMAT_RGBA32",
773 Self::ARGB32 => "SDL_PIXELFORMAT_ARGB32",
774 Self::BGRA32 => "SDL_PIXELFORMAT_BGRA32",
775 Self::ABGR32 => "SDL_PIXELFORMAT_ABGR32",
776 Self::RGBX32 => "SDL_PIXELFORMAT_RGBX32",
777 Self::XRGB32 => "SDL_PIXELFORMAT_XRGB32",
778 Self::BGRX32 => "SDL_PIXELFORMAT_BGRX32",
779 Self::XBGR32 => "SDL_PIXELFORMAT_XBGR32",
780
781 _ => return write!(f, "SDL_PixelFormat({})", self.0),
782 })
783 }
784}
785
786impl SDL_PixelFormat {
787 pub const UNKNOWN: Self = Self((0 as ::core::ffi::c_int));
788 pub const INDEX1LSB: Self = Self((0x11100100 as ::core::ffi::c_int));
789 pub const INDEX1MSB: Self = Self((0x11200100 as ::core::ffi::c_int));
790 pub const INDEX2LSB: Self = Self((0x1c100200 as ::core::ffi::c_int));
791 pub const INDEX2MSB: Self = Self((0x1c200200 as ::core::ffi::c_int));
792 pub const INDEX4LSB: Self = Self((0x12100400 as ::core::ffi::c_int));
793 pub const INDEX4MSB: Self = Self((0x12200400 as ::core::ffi::c_int));
794 pub const INDEX8: Self = Self((0x13000801 as ::core::ffi::c_int));
795 pub const RGB332: Self = Self((0x14110801 as ::core::ffi::c_int));
796 pub const XRGB4444: Self = Self((0x15120c02 as ::core::ffi::c_int));
797 pub const XBGR4444: Self = Self((0x15520c02 as ::core::ffi::c_int));
798 pub const XRGB1555: Self = Self((0x15130f02 as ::core::ffi::c_int));
799 pub const XBGR1555: Self = Self((0x15530f02 as ::core::ffi::c_int));
800 pub const ARGB4444: Self = Self((0x15321002 as ::core::ffi::c_int));
801 pub const RGBA4444: Self = Self((0x15421002 as ::core::ffi::c_int));
802 pub const ABGR4444: Self = Self((0x15721002 as ::core::ffi::c_int));
803 pub const BGRA4444: Self = Self((0x15821002 as ::core::ffi::c_int));
804 pub const ARGB1555: Self = Self((0x15331002 as ::core::ffi::c_int));
805 pub const RGBA5551: Self = Self((0x15441002 as ::core::ffi::c_int));
806 pub const ABGR1555: Self = Self((0x15731002 as ::core::ffi::c_int));
807 pub const BGRA5551: Self = Self((0x15841002 as ::core::ffi::c_int));
808 pub const RGB565: Self = Self((0x15151002 as ::core::ffi::c_int));
809 pub const BGR565: Self = Self((0x15551002 as ::core::ffi::c_int));
810 pub const RGB24: Self = Self((0x17101803 as ::core::ffi::c_int));
811 pub const BGR24: Self = Self((0x17401803 as ::core::ffi::c_int));
812 pub const XRGB8888: Self = Self((0x16161804 as ::core::ffi::c_int));
813 pub const RGBX8888: Self = Self((0x16261804 as ::core::ffi::c_int));
814 pub const XBGR8888: Self = Self((0x16561804 as ::core::ffi::c_int));
815 pub const BGRX8888: Self = Self((0x16661804 as ::core::ffi::c_int));
816 pub const ARGB8888: Self = Self((0x16362004 as ::core::ffi::c_int));
817 pub const RGBA8888: Self = Self((0x16462004 as ::core::ffi::c_int));
818 pub const ABGR8888: Self = Self((0x16762004 as ::core::ffi::c_int));
819 pub const BGRA8888: Self = Self((0x16862004 as ::core::ffi::c_int));
820 pub const XRGB2101010: Self = Self((0x16172004 as ::core::ffi::c_int));
821 pub const XBGR2101010: Self = Self((0x16572004 as ::core::ffi::c_int));
822 pub const ARGB2101010: Self = Self((0x16372004 as ::core::ffi::c_int));
823 pub const ABGR2101010: Self = Self((0x16772004 as ::core::ffi::c_int));
824 pub const RGB48: Self = Self((0x18103006 as ::core::ffi::c_int));
825 pub const BGR48: Self = Self((0x18403006 as ::core::ffi::c_int));
826 pub const RGBA64: Self = Self((0x18204008 as ::core::ffi::c_int));
827 pub const ARGB64: Self = Self((0x18304008 as ::core::ffi::c_int));
828 pub const BGRA64: Self = Self((0x18504008 as ::core::ffi::c_int));
829 pub const ABGR64: Self = Self((0x18604008 as ::core::ffi::c_int));
830 pub const RGB48_FLOAT: Self = Self((0x1a103006 as ::core::ffi::c_int));
831 pub const BGR48_FLOAT: Self = Self((0x1a403006 as ::core::ffi::c_int));
832 pub const RGBA64_FLOAT: Self = Self((0x1a204008 as ::core::ffi::c_int));
833 pub const ARGB64_FLOAT: Self = Self((0x1a304008 as ::core::ffi::c_int));
834 pub const BGRA64_FLOAT: Self = Self((0x1a504008 as ::core::ffi::c_int));
835 pub const ABGR64_FLOAT: Self = Self((0x1a604008 as ::core::ffi::c_int));
836 pub const RGB96_FLOAT: Self = Self((0x1b10600c as ::core::ffi::c_int));
837 pub const BGR96_FLOAT: Self = Self((0x1b40600c as ::core::ffi::c_int));
838 pub const RGBA128_FLOAT: Self = Self((0x1b208010 as ::core::ffi::c_int));
839 pub const ARGB128_FLOAT: Self = Self((0x1b308010 as ::core::ffi::c_int));
840 pub const BGRA128_FLOAT: Self = Self((0x1b508010 as ::core::ffi::c_int));
841 pub const ABGR128_FLOAT: Self = Self((0x1b608010 as ::core::ffi::c_int));
842 pub const YV12: Self = Self((0x32315659 as ::core::ffi::c_int));
844 pub const IYUV: Self = Self((0x56555949 as ::core::ffi::c_int));
846 pub const YUY2: Self = Self((0x32595559 as ::core::ffi::c_int));
848 pub const UYVY: Self = Self((0x59565955 as ::core::ffi::c_int));
850 pub const YVYU: Self = Self((0x55595659 as ::core::ffi::c_int));
852 pub const NV12: Self = Self((0x3231564e as ::core::ffi::c_int));
854 pub const NV21: Self = Self((0x3132564e as ::core::ffi::c_int));
856 pub const P010: Self = Self((0x30313050 as ::core::ffi::c_int));
858 pub const EXTERNAL_OES: Self = Self((0x2053454f as ::core::ffi::c_int));
860 pub const MJPG: Self = Self((0x47504a4d as ::core::ffi::c_int));
862 #[cfg(target_endian = "big")]
863 #[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
864 pub const RGBA32: Self = SDL_PIXELFORMAT_RGBA8888;
865 #[cfg(target_endian = "big")]
866 #[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
867 pub const ARGB32: Self = SDL_PIXELFORMAT_ARGB8888;
868 #[cfg(target_endian = "big")]
869 #[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
870 pub const BGRA32: Self = SDL_PIXELFORMAT_BGRA8888;
871 #[cfg(target_endian = "big")]
872 #[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
873 pub const ABGR32: Self = SDL_PIXELFORMAT_ABGR8888;
874 #[cfg(target_endian = "big")]
875 #[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
876 pub const RGBX32: Self = SDL_PIXELFORMAT_RGBX8888;
877 #[cfg(target_endian = "big")]
878 #[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
879 pub const XRGB32: Self = SDL_PIXELFORMAT_XRGB8888;
880 #[cfg(target_endian = "big")]
881 #[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
882 pub const BGRX32: Self = SDL_PIXELFORMAT_BGRX8888;
883 #[cfg(target_endian = "big")]
884 #[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
885 pub const XBGR32: Self = SDL_PIXELFORMAT_XBGR8888;
886 #[cfg(not(target_endian = "big"))]
887 #[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
888 pub const RGBA32: Self = SDL_PIXELFORMAT_ABGR8888;
889 #[cfg(not(target_endian = "big"))]
890 #[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
891 pub const ARGB32: Self = SDL_PIXELFORMAT_BGRA8888;
892 #[cfg(not(target_endian = "big"))]
893 #[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
894 pub const BGRA32: Self = SDL_PIXELFORMAT_ARGB8888;
895 #[cfg(not(target_endian = "big"))]
896 #[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
897 pub const ABGR32: Self = SDL_PIXELFORMAT_RGBA8888;
898 #[cfg(not(target_endian = "big"))]
899 #[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
900 pub const RGBX32: Self = SDL_PIXELFORMAT_XBGR8888;
901 #[cfg(not(target_endian = "big"))]
902 #[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
903 pub const XRGB32: Self = SDL_PIXELFORMAT_BGRX8888;
904 #[cfg(not(target_endian = "big"))]
905 #[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
906 pub const BGRX32: Self = SDL_PIXELFORMAT_XRGB8888;
907 #[cfg(not(target_endian = "big"))]
908 #[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
909 pub const XBGR32: Self = SDL_PIXELFORMAT_RGBX8888;
910}
911
912pub const SDL_PIXELFORMAT_UNKNOWN: SDL_PixelFormat = SDL_PixelFormat::UNKNOWN;
913pub const SDL_PIXELFORMAT_INDEX1LSB: SDL_PixelFormat = SDL_PixelFormat::INDEX1LSB;
914pub const SDL_PIXELFORMAT_INDEX1MSB: SDL_PixelFormat = SDL_PixelFormat::INDEX1MSB;
915pub const SDL_PIXELFORMAT_INDEX2LSB: SDL_PixelFormat = SDL_PixelFormat::INDEX2LSB;
916pub const SDL_PIXELFORMAT_INDEX2MSB: SDL_PixelFormat = SDL_PixelFormat::INDEX2MSB;
917pub const SDL_PIXELFORMAT_INDEX4LSB: SDL_PixelFormat = SDL_PixelFormat::INDEX4LSB;
918pub const SDL_PIXELFORMAT_INDEX4MSB: SDL_PixelFormat = SDL_PixelFormat::INDEX4MSB;
919pub const SDL_PIXELFORMAT_INDEX8: SDL_PixelFormat = SDL_PixelFormat::INDEX8;
920pub const SDL_PIXELFORMAT_RGB332: SDL_PixelFormat = SDL_PixelFormat::RGB332;
921pub const SDL_PIXELFORMAT_XRGB4444: SDL_PixelFormat = SDL_PixelFormat::XRGB4444;
922pub const SDL_PIXELFORMAT_XBGR4444: SDL_PixelFormat = SDL_PixelFormat::XBGR4444;
923pub const SDL_PIXELFORMAT_XRGB1555: SDL_PixelFormat = SDL_PixelFormat::XRGB1555;
924pub const SDL_PIXELFORMAT_XBGR1555: SDL_PixelFormat = SDL_PixelFormat::XBGR1555;
925pub const SDL_PIXELFORMAT_ARGB4444: SDL_PixelFormat = SDL_PixelFormat::ARGB4444;
926pub const SDL_PIXELFORMAT_RGBA4444: SDL_PixelFormat = SDL_PixelFormat::RGBA4444;
927pub const SDL_PIXELFORMAT_ABGR4444: SDL_PixelFormat = SDL_PixelFormat::ABGR4444;
928pub const SDL_PIXELFORMAT_BGRA4444: SDL_PixelFormat = SDL_PixelFormat::BGRA4444;
929pub const SDL_PIXELFORMAT_ARGB1555: SDL_PixelFormat = SDL_PixelFormat::ARGB1555;
930pub const SDL_PIXELFORMAT_RGBA5551: SDL_PixelFormat = SDL_PixelFormat::RGBA5551;
931pub const SDL_PIXELFORMAT_ABGR1555: SDL_PixelFormat = SDL_PixelFormat::ABGR1555;
932pub const SDL_PIXELFORMAT_BGRA5551: SDL_PixelFormat = SDL_PixelFormat::BGRA5551;
933pub const SDL_PIXELFORMAT_RGB565: SDL_PixelFormat = SDL_PixelFormat::RGB565;
934pub const SDL_PIXELFORMAT_BGR565: SDL_PixelFormat = SDL_PixelFormat::BGR565;
935pub const SDL_PIXELFORMAT_RGB24: SDL_PixelFormat = SDL_PixelFormat::RGB24;
936pub const SDL_PIXELFORMAT_BGR24: SDL_PixelFormat = SDL_PixelFormat::BGR24;
937pub const SDL_PIXELFORMAT_XRGB8888: SDL_PixelFormat = SDL_PixelFormat::XRGB8888;
938pub const SDL_PIXELFORMAT_RGBX8888: SDL_PixelFormat = SDL_PixelFormat::RGBX8888;
939pub const SDL_PIXELFORMAT_XBGR8888: SDL_PixelFormat = SDL_PixelFormat::XBGR8888;
940pub const SDL_PIXELFORMAT_BGRX8888: SDL_PixelFormat = SDL_PixelFormat::BGRX8888;
941pub const SDL_PIXELFORMAT_ARGB8888: SDL_PixelFormat = SDL_PixelFormat::ARGB8888;
942pub const SDL_PIXELFORMAT_RGBA8888: SDL_PixelFormat = SDL_PixelFormat::RGBA8888;
943pub const SDL_PIXELFORMAT_ABGR8888: SDL_PixelFormat = SDL_PixelFormat::ABGR8888;
944pub const SDL_PIXELFORMAT_BGRA8888: SDL_PixelFormat = SDL_PixelFormat::BGRA8888;
945pub const SDL_PIXELFORMAT_XRGB2101010: SDL_PixelFormat = SDL_PixelFormat::XRGB2101010;
946pub const SDL_PIXELFORMAT_XBGR2101010: SDL_PixelFormat = SDL_PixelFormat::XBGR2101010;
947pub const SDL_PIXELFORMAT_ARGB2101010: SDL_PixelFormat = SDL_PixelFormat::ARGB2101010;
948pub const SDL_PIXELFORMAT_ABGR2101010: SDL_PixelFormat = SDL_PixelFormat::ABGR2101010;
949pub const SDL_PIXELFORMAT_RGB48: SDL_PixelFormat = SDL_PixelFormat::RGB48;
950pub const SDL_PIXELFORMAT_BGR48: SDL_PixelFormat = SDL_PixelFormat::BGR48;
951pub const SDL_PIXELFORMAT_RGBA64: SDL_PixelFormat = SDL_PixelFormat::RGBA64;
952pub const SDL_PIXELFORMAT_ARGB64: SDL_PixelFormat = SDL_PixelFormat::ARGB64;
953pub const SDL_PIXELFORMAT_BGRA64: SDL_PixelFormat = SDL_PixelFormat::BGRA64;
954pub const SDL_PIXELFORMAT_ABGR64: SDL_PixelFormat = SDL_PixelFormat::ABGR64;
955pub const SDL_PIXELFORMAT_RGB48_FLOAT: SDL_PixelFormat = SDL_PixelFormat::RGB48_FLOAT;
956pub const SDL_PIXELFORMAT_BGR48_FLOAT: SDL_PixelFormat = SDL_PixelFormat::BGR48_FLOAT;
957pub const SDL_PIXELFORMAT_RGBA64_FLOAT: SDL_PixelFormat = SDL_PixelFormat::RGBA64_FLOAT;
958pub const SDL_PIXELFORMAT_ARGB64_FLOAT: SDL_PixelFormat = SDL_PixelFormat::ARGB64_FLOAT;
959pub const SDL_PIXELFORMAT_BGRA64_FLOAT: SDL_PixelFormat = SDL_PixelFormat::BGRA64_FLOAT;
960pub const SDL_PIXELFORMAT_ABGR64_FLOAT: SDL_PixelFormat = SDL_PixelFormat::ABGR64_FLOAT;
961pub const SDL_PIXELFORMAT_RGB96_FLOAT: SDL_PixelFormat = SDL_PixelFormat::RGB96_FLOAT;
962pub const SDL_PIXELFORMAT_BGR96_FLOAT: SDL_PixelFormat = SDL_PixelFormat::BGR96_FLOAT;
963pub const SDL_PIXELFORMAT_RGBA128_FLOAT: SDL_PixelFormat = SDL_PixelFormat::RGBA128_FLOAT;
964pub const SDL_PIXELFORMAT_ARGB128_FLOAT: SDL_PixelFormat = SDL_PixelFormat::ARGB128_FLOAT;
965pub const SDL_PIXELFORMAT_BGRA128_FLOAT: SDL_PixelFormat = SDL_PixelFormat::BGRA128_FLOAT;
966pub const SDL_PIXELFORMAT_ABGR128_FLOAT: SDL_PixelFormat = SDL_PixelFormat::ABGR128_FLOAT;
967pub const SDL_PIXELFORMAT_YV12: SDL_PixelFormat = SDL_PixelFormat::YV12;
969pub const SDL_PIXELFORMAT_IYUV: SDL_PixelFormat = SDL_PixelFormat::IYUV;
971pub const SDL_PIXELFORMAT_YUY2: SDL_PixelFormat = SDL_PixelFormat::YUY2;
973pub const SDL_PIXELFORMAT_UYVY: SDL_PixelFormat = SDL_PixelFormat::UYVY;
975pub const SDL_PIXELFORMAT_YVYU: SDL_PixelFormat = SDL_PixelFormat::YVYU;
977pub const SDL_PIXELFORMAT_NV12: SDL_PixelFormat = SDL_PixelFormat::NV12;
979pub const SDL_PIXELFORMAT_NV21: SDL_PixelFormat = SDL_PixelFormat::NV21;
981pub const SDL_PIXELFORMAT_P010: SDL_PixelFormat = SDL_PixelFormat::P010;
983pub const SDL_PIXELFORMAT_EXTERNAL_OES: SDL_PixelFormat = SDL_PixelFormat::EXTERNAL_OES;
985pub const SDL_PIXELFORMAT_MJPG: SDL_PixelFormat = SDL_PixelFormat::MJPG;
987#[cfg(target_endian = "big")]
988#[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
989pub const SDL_PIXELFORMAT_RGBA32: SDL_PixelFormat = SDL_PixelFormat::RGBA32;
990#[cfg(target_endian = "big")]
991#[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
992pub const SDL_PIXELFORMAT_ARGB32: SDL_PixelFormat = SDL_PixelFormat::ARGB32;
993#[cfg(target_endian = "big")]
994#[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
995pub const SDL_PIXELFORMAT_BGRA32: SDL_PixelFormat = SDL_PixelFormat::BGRA32;
996#[cfg(target_endian = "big")]
997#[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
998pub const SDL_PIXELFORMAT_ABGR32: SDL_PixelFormat = SDL_PixelFormat::ABGR32;
999#[cfg(target_endian = "big")]
1000#[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
1001pub const SDL_PIXELFORMAT_RGBX32: SDL_PixelFormat = SDL_PixelFormat::RGBX32;
1002#[cfg(target_endian = "big")]
1003#[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
1004pub const SDL_PIXELFORMAT_XRGB32: SDL_PixelFormat = SDL_PixelFormat::XRGB32;
1005#[cfg(target_endian = "big")]
1006#[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
1007pub const SDL_PIXELFORMAT_BGRX32: SDL_PixelFormat = SDL_PixelFormat::BGRX32;
1008#[cfg(target_endian = "big")]
1009#[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
1010pub const SDL_PIXELFORMAT_XBGR32: SDL_PixelFormat = SDL_PixelFormat::XBGR32;
1011#[cfg(not(target_endian = "big"))]
1012#[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
1013pub const SDL_PIXELFORMAT_RGBA32: SDL_PixelFormat = SDL_PixelFormat::RGBA32;
1014#[cfg(not(target_endian = "big"))]
1015#[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
1016pub const SDL_PIXELFORMAT_ARGB32: SDL_PixelFormat = SDL_PixelFormat::ARGB32;
1017#[cfg(not(target_endian = "big"))]
1018#[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
1019pub const SDL_PIXELFORMAT_BGRA32: SDL_PixelFormat = SDL_PixelFormat::BGRA32;
1020#[cfg(not(target_endian = "big"))]
1021#[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
1022pub const SDL_PIXELFORMAT_ABGR32: SDL_PixelFormat = SDL_PixelFormat::ABGR32;
1023#[cfg(not(target_endian = "big"))]
1024#[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
1025pub const SDL_PIXELFORMAT_RGBX32: SDL_PixelFormat = SDL_PixelFormat::RGBX32;
1026#[cfg(not(target_endian = "big"))]
1027#[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
1028pub const SDL_PIXELFORMAT_XRGB32: SDL_PixelFormat = SDL_PixelFormat::XRGB32;
1029#[cfg(not(target_endian = "big"))]
1030#[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
1031pub const SDL_PIXELFORMAT_BGRX32: SDL_PixelFormat = SDL_PixelFormat::BGRX32;
1032#[cfg(not(target_endian = "big"))]
1033#[cfg_attr(all(feature = "nightly", doc), doc(cfg(all())))]
1034pub const SDL_PIXELFORMAT_XBGR32: SDL_PixelFormat = SDL_PixelFormat::XBGR32;
1035
1036#[cfg(feature = "metadata")]
1037impl sdl3_sys::metadata::GroupMetadata for SDL_PixelFormat {
1038 const GROUP_METADATA: &'static sdl3_sys::metadata::Group =
1039 &crate::metadata::pixels::METADATA_SDL_PixelFormat;
1040}
1041
1042#[inline(always)]
1068pub const fn SDL_DEFINE_PIXELFORMAT(
1069 r#type: SDL_PixelType,
1070 order: ::core::ffi::c_int,
1071 layout: SDL_PackedLayout,
1072 bits: ::core::primitive::u8,
1073 bytes: ::core::primitive::u8,
1074) -> SDL_PixelFormat {
1075 SDL_PixelFormat(
1076 ((((((268435456_i32 | (r#type.0 << 24)) | (order << 20)) | (layout.0 << 16))
1077 | ((bits as ::core::ffi::c_int) << 8))
1078 | ((bytes as ::core::ffi::c_int) << 0)) as ::core::ffi::c_int),
1079 )
1080}
1081
1082#[inline(always)]
1099pub const fn SDL_PIXELFLAG(format: SDL_PixelFormat) -> ::core::ffi::c_int {
1100 ((format.0 >> 28) & 15_i32)
1101}
1102
1103#[inline(always)]
1119pub const fn SDL_PIXELTYPE(format: SDL_PixelFormat) -> SDL_PixelType {
1120 SDL_PixelType(((format.0 >> 24) & 15_i32))
1121}
1122
1123#[inline(always)]
1140pub const fn SDL_PIXELORDER(format: SDL_PixelFormat) -> ::core::ffi::c_int {
1141 ((format.0 >> 20) & 15_i32)
1142}
1143
1144#[inline(always)]
1161pub const fn SDL_PIXELLAYOUT(format: SDL_PixelFormat) -> SDL_PackedLayout {
1162 SDL_PackedLayout(((format.0 >> 16) & 15_i32))
1163}
1164
1165#[inline(always)]
1184pub const fn SDL_ISPIXELFORMAT_FOURCC(format: SDL_PixelFormat) -> ::core::primitive::bool {
1185 ((format.0 != 0) && (SDL_PIXELFLAG(format) != 1_i32))
1186}
1187
1188#[inline(always)]
1211pub const fn SDL_BITSPERPIXEL(format: SDL_PixelFormat) -> ::core::primitive::u8 {
1212 (if SDL_ISPIXELFORMAT_FOURCC(format) {
1213 0_i32
1214 } else {
1215 ((format.0 >> 8) & 255_i32)
1216 } as ::core::primitive::u8)
1217}
1218
1219#[inline(always)]
1236pub const fn SDL_ISPIXELFORMAT_INDEXED(format: SDL_PixelFormat) -> ::core::primitive::bool {
1237 (!(SDL_ISPIXELFORMAT_FOURCC(format))
1238 && ((((SDL_PIXELTYPE(format).0 == SDL_PIXELTYPE_INDEX1.0)
1239 || (SDL_PIXELTYPE(format).0 == SDL_PIXELTYPE_INDEX2.0))
1240 || (SDL_PIXELTYPE(format).0 == SDL_PIXELTYPE_INDEX4.0))
1241 || (SDL_PIXELTYPE(format).0 == SDL_PIXELTYPE_INDEX8.0)))
1242}
1243
1244#[inline(always)]
1261pub const fn SDL_ISPIXELFORMAT_PACKED(format: SDL_PixelFormat) -> ::core::primitive::bool {
1262 (!(SDL_ISPIXELFORMAT_FOURCC(format))
1263 && (((SDL_PIXELTYPE(format).0 == SDL_PIXELTYPE_PACKED8.0)
1264 || (SDL_PIXELTYPE(format).0 == SDL_PIXELTYPE_PACKED16.0))
1265 || (SDL_PIXELTYPE(format).0 == SDL_PIXELTYPE_PACKED32.0)))
1266}
1267
1268#[inline(always)]
1285pub const fn SDL_ISPIXELFORMAT_ARRAY(format: SDL_PixelFormat) -> ::core::primitive::bool {
1286 (!(SDL_ISPIXELFORMAT_FOURCC(format))
1287 && (((((SDL_PIXELTYPE(format).0 == SDL_PIXELTYPE_ARRAYU8.0)
1288 || (SDL_PIXELTYPE(format).0 == SDL_PIXELTYPE_ARRAYU16.0))
1289 || (SDL_PIXELTYPE(format).0 == SDL_PIXELTYPE_ARRAYU32.0))
1290 || (SDL_PIXELTYPE(format).0 == SDL_PIXELTYPE_ARRAYF16.0))
1291 || (SDL_PIXELTYPE(format).0 == SDL_PIXELTYPE_ARRAYF32.0)))
1292}
1293
1294#[inline(always)]
1311pub const fn SDL_ISPIXELFORMAT_FLOAT(format: SDL_PixelFormat) -> ::core::primitive::bool {
1312 (!(SDL_ISPIXELFORMAT_FOURCC(format))
1313 && ((SDL_PIXELTYPE(format).0 == SDL_PIXELTYPE_ARRAYF16.0)
1314 || (SDL_PIXELTYPE(format).0 == SDL_PIXELTYPE_ARRAYF32.0)))
1315}
1316
1317#[inline(always)]
1334pub const fn SDL_ISPIXELFORMAT_ALPHA(format: SDL_PixelFormat) -> ::core::primitive::bool {
1335 ((SDL_ISPIXELFORMAT_PACKED(format)
1336 && ((((SDL_PIXELORDER(format) == SDL_PACKEDORDER_ARGB.0)
1337 || (SDL_PIXELORDER(format) == SDL_PACKEDORDER_RGBA.0))
1338 || (SDL_PIXELORDER(format) == SDL_PACKEDORDER_ABGR.0))
1339 || (SDL_PIXELORDER(format) == SDL_PACKEDORDER_BGRA.0)))
1340 || (SDL_ISPIXELFORMAT_ARRAY(format)
1341 && ((((SDL_PIXELORDER(format) == SDL_ARRAYORDER_ARGB.0)
1342 || (SDL_PIXELORDER(format) == SDL_ARRAYORDER_RGBA.0))
1343 || (SDL_PIXELORDER(format) == SDL_ARRAYORDER_ABGR.0))
1344 || (SDL_PIXELORDER(format) == SDL_ARRAYORDER_BGRA.0))))
1345}
1346
1347#[inline(always)]
1364pub const fn SDL_ISPIXELFORMAT_10BIT(format: SDL_PixelFormat) -> ::core::primitive::bool {
1365 (!(SDL_ISPIXELFORMAT_FOURCC(format))
1366 && ((SDL_PIXELTYPE(format).0 == SDL_PIXELTYPE_PACKED32.0)
1367 && (SDL_PIXELLAYOUT(format).0 == SDL_PACKEDLAYOUT_2101010.0)))
1368}
1369
1370#[inline(always)]
1393pub const fn SDL_BYTESPERPIXEL(format: SDL_PixelFormat) -> ::core::primitive::u8 {
1394 (if SDL_ISPIXELFORMAT_FOURCC(format) {
1395 if ((((format.0 == SDL_PIXELFORMAT_YUY2.0) || (format.0 == SDL_PIXELFORMAT_UYVY.0))
1396 || (format.0 == SDL_PIXELFORMAT_YVYU.0))
1397 || (format.0 == SDL_PIXELFORMAT_P010.0))
1398 {
1399 2
1400 } else {
1401 1
1402 }
1403 } else {
1404 ((format.0 >> 0) & 255_i32)
1405 } as ::core::primitive::u8)
1406}
1407
1408#[repr(transparent)]
1420#[derive(Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
1421pub struct SDL_ColorType(pub ::core::ffi::c_uint);
1422
1423impl ::core::cmp::PartialEq<::core::ffi::c_uint> for SDL_ColorType {
1424 #[inline(always)]
1425 fn eq(&self, other: &::core::ffi::c_uint) -> bool {
1426 &self.0 == other
1427 }
1428}
1429
1430impl ::core::cmp::PartialEq<SDL_ColorType> for ::core::ffi::c_uint {
1431 #[inline(always)]
1432 fn eq(&self, other: &SDL_ColorType) -> bool {
1433 self == &other.0
1434 }
1435}
1436
1437impl From<SDL_ColorType> for ::core::ffi::c_uint {
1438 #[inline(always)]
1439 fn from(value: SDL_ColorType) -> Self {
1440 value.0
1441 }
1442}
1443
1444#[cfg(feature = "debug-impls")]
1445impl ::core::fmt::Debug for SDL_ColorType {
1446 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1447 #[allow(unreachable_patterns)]
1448 f.write_str(match *self {
1449 Self::UNKNOWN => "SDL_COLOR_TYPE_UNKNOWN",
1450 Self::RGB => "SDL_COLOR_TYPE_RGB",
1451 Self::YCBCR => "SDL_COLOR_TYPE_YCBCR",
1452
1453 _ => return write!(f, "SDL_ColorType({})", self.0),
1454 })
1455 }
1456}
1457
1458impl SDL_ColorType {
1459 pub const UNKNOWN: Self = Self((0 as ::core::ffi::c_uint));
1460 pub const RGB: Self = Self((1 as ::core::ffi::c_uint));
1461 pub const YCBCR: Self = Self((2 as ::core::ffi::c_uint));
1462}
1463
1464pub const SDL_COLOR_TYPE_UNKNOWN: SDL_ColorType = SDL_ColorType::UNKNOWN;
1465pub const SDL_COLOR_TYPE_RGB: SDL_ColorType = SDL_ColorType::RGB;
1466pub const SDL_COLOR_TYPE_YCBCR: SDL_ColorType = SDL_ColorType::YCBCR;
1467
1468#[cfg(feature = "metadata")]
1469impl sdl3_sys::metadata::GroupMetadata for SDL_ColorType {
1470 const GROUP_METADATA: &'static sdl3_sys::metadata::Group =
1471 &crate::metadata::pixels::METADATA_SDL_ColorType;
1472}
1473
1474#[repr(transparent)]
1487#[derive(Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
1488pub struct SDL_ColorRange(pub ::core::ffi::c_uint);
1489
1490impl ::core::cmp::PartialEq<::core::ffi::c_uint> for SDL_ColorRange {
1491 #[inline(always)]
1492 fn eq(&self, other: &::core::ffi::c_uint) -> bool {
1493 &self.0 == other
1494 }
1495}
1496
1497impl ::core::cmp::PartialEq<SDL_ColorRange> for ::core::ffi::c_uint {
1498 #[inline(always)]
1499 fn eq(&self, other: &SDL_ColorRange) -> bool {
1500 self == &other.0
1501 }
1502}
1503
1504impl From<SDL_ColorRange> for ::core::ffi::c_uint {
1505 #[inline(always)]
1506 fn from(value: SDL_ColorRange) -> Self {
1507 value.0
1508 }
1509}
1510
1511#[cfg(feature = "debug-impls")]
1512impl ::core::fmt::Debug for SDL_ColorRange {
1513 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1514 #[allow(unreachable_patterns)]
1515 f.write_str(match *self {
1516 Self::UNKNOWN => "SDL_COLOR_RANGE_UNKNOWN",
1517 Self::LIMITED => "SDL_COLOR_RANGE_LIMITED",
1518 Self::FULL => "SDL_COLOR_RANGE_FULL",
1519
1520 _ => return write!(f, "SDL_ColorRange({})", self.0),
1521 })
1522 }
1523}
1524
1525impl SDL_ColorRange {
1526 pub const UNKNOWN: Self = Self((0 as ::core::ffi::c_uint));
1527 pub const LIMITED: Self = Self((1 as ::core::ffi::c_uint));
1529 pub const FULL: Self = Self((2 as ::core::ffi::c_uint));
1531}
1532
1533pub const SDL_COLOR_RANGE_UNKNOWN: SDL_ColorRange = SDL_ColorRange::UNKNOWN;
1534pub const SDL_COLOR_RANGE_LIMITED: SDL_ColorRange = SDL_ColorRange::LIMITED;
1536pub const SDL_COLOR_RANGE_FULL: SDL_ColorRange = SDL_ColorRange::FULL;
1538
1539#[cfg(feature = "metadata")]
1540impl sdl3_sys::metadata::GroupMetadata for SDL_ColorRange {
1541 const GROUP_METADATA: &'static sdl3_sys::metadata::Group =
1542 &crate::metadata::pixels::METADATA_SDL_ColorRange;
1543}
1544
1545#[repr(transparent)]
1569#[derive(Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
1570pub struct SDL_ColorPrimaries(pub ::core::ffi::c_uint);
1571
1572impl ::core::cmp::PartialEq<::core::ffi::c_uint> for SDL_ColorPrimaries {
1573 #[inline(always)]
1574 fn eq(&self, other: &::core::ffi::c_uint) -> bool {
1575 &self.0 == other
1576 }
1577}
1578
1579impl ::core::cmp::PartialEq<SDL_ColorPrimaries> for ::core::ffi::c_uint {
1580 #[inline(always)]
1581 fn eq(&self, other: &SDL_ColorPrimaries) -> bool {
1582 self == &other.0
1583 }
1584}
1585
1586impl From<SDL_ColorPrimaries> for ::core::ffi::c_uint {
1587 #[inline(always)]
1588 fn from(value: SDL_ColorPrimaries) -> Self {
1589 value.0
1590 }
1591}
1592
1593#[cfg(feature = "debug-impls")]
1594impl ::core::fmt::Debug for SDL_ColorPrimaries {
1595 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1596 #[allow(unreachable_patterns)]
1597 f.write_str(match *self {
1598 Self::UNKNOWN => "SDL_COLOR_PRIMARIES_UNKNOWN",
1599 Self::BT709 => "SDL_COLOR_PRIMARIES_BT709",
1600 Self::UNSPECIFIED => "SDL_COLOR_PRIMARIES_UNSPECIFIED",
1601 Self::BT470M => "SDL_COLOR_PRIMARIES_BT470M",
1602 Self::BT470BG => "SDL_COLOR_PRIMARIES_BT470BG",
1603 Self::BT601 => "SDL_COLOR_PRIMARIES_BT601",
1604 Self::SMPTE240 => "SDL_COLOR_PRIMARIES_SMPTE240",
1605 Self::GENERIC_FILM => "SDL_COLOR_PRIMARIES_GENERIC_FILM",
1606 Self::BT2020 => "SDL_COLOR_PRIMARIES_BT2020",
1607 Self::XYZ => "SDL_COLOR_PRIMARIES_XYZ",
1608 Self::SMPTE431 => "SDL_COLOR_PRIMARIES_SMPTE431",
1609 Self::SMPTE432 => "SDL_COLOR_PRIMARIES_SMPTE432",
1610 Self::EBU3213 => "SDL_COLOR_PRIMARIES_EBU3213",
1611 Self::CUSTOM => "SDL_COLOR_PRIMARIES_CUSTOM",
1612
1613 _ => return write!(f, "SDL_ColorPrimaries({})", self.0),
1614 })
1615 }
1616}
1617
1618impl SDL_ColorPrimaries {
1619 pub const UNKNOWN: Self = Self((0 as ::core::ffi::c_uint));
1620 pub const BT709: Self = Self((1 as ::core::ffi::c_uint));
1622 pub const UNSPECIFIED: Self = Self((2 as ::core::ffi::c_uint));
1623 pub const BT470M: Self = Self((4 as ::core::ffi::c_uint));
1625 pub const BT470BG: Self = Self((5 as ::core::ffi::c_uint));
1627 pub const BT601: Self = Self((6 as ::core::ffi::c_uint));
1629 pub const SMPTE240: Self = Self((7 as ::core::ffi::c_uint));
1631 pub const GENERIC_FILM: Self = Self((8 as ::core::ffi::c_uint));
1633 pub const BT2020: Self = Self((9 as ::core::ffi::c_uint));
1635 pub const XYZ: Self = Self((10 as ::core::ffi::c_uint));
1637 pub const SMPTE431: Self = Self((11 as ::core::ffi::c_uint));
1639 pub const SMPTE432: Self = Self((12 as ::core::ffi::c_uint));
1641 pub const EBU3213: Self = Self((22 as ::core::ffi::c_uint));
1643 pub const CUSTOM: Self = Self((31 as ::core::ffi::c_uint));
1644}
1645
1646pub const SDL_COLOR_PRIMARIES_UNKNOWN: SDL_ColorPrimaries = SDL_ColorPrimaries::UNKNOWN;
1647pub const SDL_COLOR_PRIMARIES_BT709: SDL_ColorPrimaries = SDL_ColorPrimaries::BT709;
1649pub const SDL_COLOR_PRIMARIES_UNSPECIFIED: SDL_ColorPrimaries = SDL_ColorPrimaries::UNSPECIFIED;
1650pub const SDL_COLOR_PRIMARIES_BT470M: SDL_ColorPrimaries = SDL_ColorPrimaries::BT470M;
1652pub const SDL_COLOR_PRIMARIES_BT470BG: SDL_ColorPrimaries = SDL_ColorPrimaries::BT470BG;
1654pub const SDL_COLOR_PRIMARIES_BT601: SDL_ColorPrimaries = SDL_ColorPrimaries::BT601;
1656pub const SDL_COLOR_PRIMARIES_SMPTE240: SDL_ColorPrimaries = SDL_ColorPrimaries::SMPTE240;
1658pub const SDL_COLOR_PRIMARIES_GENERIC_FILM: SDL_ColorPrimaries = SDL_ColorPrimaries::GENERIC_FILM;
1660pub const SDL_COLOR_PRIMARIES_BT2020: SDL_ColorPrimaries = SDL_ColorPrimaries::BT2020;
1662pub const SDL_COLOR_PRIMARIES_XYZ: SDL_ColorPrimaries = SDL_ColorPrimaries::XYZ;
1664pub const SDL_COLOR_PRIMARIES_SMPTE431: SDL_ColorPrimaries = SDL_ColorPrimaries::SMPTE431;
1666pub const SDL_COLOR_PRIMARIES_SMPTE432: SDL_ColorPrimaries = SDL_ColorPrimaries::SMPTE432;
1668pub const SDL_COLOR_PRIMARIES_EBU3213: SDL_ColorPrimaries = SDL_ColorPrimaries::EBU3213;
1670pub const SDL_COLOR_PRIMARIES_CUSTOM: SDL_ColorPrimaries = SDL_ColorPrimaries::CUSTOM;
1671
1672#[cfg(feature = "metadata")]
1673impl sdl3_sys::metadata::GroupMetadata for SDL_ColorPrimaries {
1674 const GROUP_METADATA: &'static sdl3_sys::metadata::Group =
1675 &crate::metadata::pixels::METADATA_SDL_ColorPrimaries;
1676}
1677
1678#[repr(transparent)]
1708#[derive(Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
1709pub struct SDL_TransferCharacteristics(pub ::core::ffi::c_uint);
1710
1711impl ::core::cmp::PartialEq<::core::ffi::c_uint> for SDL_TransferCharacteristics {
1712 #[inline(always)]
1713 fn eq(&self, other: &::core::ffi::c_uint) -> bool {
1714 &self.0 == other
1715 }
1716}
1717
1718impl ::core::cmp::PartialEq<SDL_TransferCharacteristics> for ::core::ffi::c_uint {
1719 #[inline(always)]
1720 fn eq(&self, other: &SDL_TransferCharacteristics) -> bool {
1721 self == &other.0
1722 }
1723}
1724
1725impl From<SDL_TransferCharacteristics> for ::core::ffi::c_uint {
1726 #[inline(always)]
1727 fn from(value: SDL_TransferCharacteristics) -> Self {
1728 value.0
1729 }
1730}
1731
1732#[cfg(feature = "debug-impls")]
1733impl ::core::fmt::Debug for SDL_TransferCharacteristics {
1734 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1735 #[allow(unreachable_patterns)]
1736 f.write_str(match *self {
1737 Self::UNKNOWN => "SDL_TRANSFER_CHARACTERISTICS_UNKNOWN",
1738 Self::BT709 => "SDL_TRANSFER_CHARACTERISTICS_BT709",
1739 Self::UNSPECIFIED => "SDL_TRANSFER_CHARACTERISTICS_UNSPECIFIED",
1740 Self::GAMMA22 => "SDL_TRANSFER_CHARACTERISTICS_GAMMA22",
1741 Self::GAMMA28 => "SDL_TRANSFER_CHARACTERISTICS_GAMMA28",
1742 Self::BT601 => "SDL_TRANSFER_CHARACTERISTICS_BT601",
1743 Self::SMPTE240 => "SDL_TRANSFER_CHARACTERISTICS_SMPTE240",
1744 Self::LINEAR => "SDL_TRANSFER_CHARACTERISTICS_LINEAR",
1745 Self::LOG100 => "SDL_TRANSFER_CHARACTERISTICS_LOG100",
1746 Self::LOG100_SQRT10 => "SDL_TRANSFER_CHARACTERISTICS_LOG100_SQRT10",
1747 Self::IEC61966 => "SDL_TRANSFER_CHARACTERISTICS_IEC61966",
1748 Self::BT1361 => "SDL_TRANSFER_CHARACTERISTICS_BT1361",
1749 Self::SRGB => "SDL_TRANSFER_CHARACTERISTICS_SRGB",
1750 Self::BT2020_10BIT => "SDL_TRANSFER_CHARACTERISTICS_BT2020_10BIT",
1751 Self::BT2020_12BIT => "SDL_TRANSFER_CHARACTERISTICS_BT2020_12BIT",
1752 Self::PQ => "SDL_TRANSFER_CHARACTERISTICS_PQ",
1753 Self::SMPTE428 => "SDL_TRANSFER_CHARACTERISTICS_SMPTE428",
1754 Self::HLG => "SDL_TRANSFER_CHARACTERISTICS_HLG",
1755 Self::CUSTOM => "SDL_TRANSFER_CHARACTERISTICS_CUSTOM",
1756
1757 _ => return write!(f, "SDL_TransferCharacteristics({})", self.0),
1758 })
1759 }
1760}
1761
1762impl SDL_TransferCharacteristics {
1763 pub const UNKNOWN: Self = Self((0 as ::core::ffi::c_uint));
1764 pub const BT709: Self = Self((1 as ::core::ffi::c_uint));
1766 pub const UNSPECIFIED: Self = Self((2 as ::core::ffi::c_uint));
1767 pub const GAMMA22: Self = Self((4 as ::core::ffi::c_uint));
1769 pub const GAMMA28: Self = Self((5 as ::core::ffi::c_uint));
1771 pub const BT601: Self = Self((6 as ::core::ffi::c_uint));
1773 pub const SMPTE240: Self = Self((7 as ::core::ffi::c_uint));
1775 pub const LINEAR: Self = Self((8 as ::core::ffi::c_uint));
1776 pub const LOG100: Self = Self((9 as ::core::ffi::c_uint));
1777 pub const LOG100_SQRT10: Self = Self((10 as ::core::ffi::c_uint));
1778 pub const IEC61966: Self = Self((11 as ::core::ffi::c_uint));
1780 pub const BT1361: Self = Self((12 as ::core::ffi::c_uint));
1782 pub const SRGB: Self = Self((13 as ::core::ffi::c_uint));
1784 pub const BT2020_10BIT: Self = Self((14 as ::core::ffi::c_uint));
1786 pub const BT2020_12BIT: Self = Self((15 as ::core::ffi::c_uint));
1788 pub const PQ: Self = Self((16 as ::core::ffi::c_uint));
1790 pub const SMPTE428: Self = Self((17 as ::core::ffi::c_uint));
1792 pub const HLG: Self = Self((18 as ::core::ffi::c_uint));
1794 pub const CUSTOM: Self = Self((31 as ::core::ffi::c_uint));
1795}
1796
1797pub const SDL_TRANSFER_CHARACTERISTICS_UNKNOWN: SDL_TransferCharacteristics =
1798 SDL_TransferCharacteristics::UNKNOWN;
1799pub const SDL_TRANSFER_CHARACTERISTICS_BT709: SDL_TransferCharacteristics =
1801 SDL_TransferCharacteristics::BT709;
1802pub const SDL_TRANSFER_CHARACTERISTICS_UNSPECIFIED: SDL_TransferCharacteristics =
1803 SDL_TransferCharacteristics::UNSPECIFIED;
1804pub const SDL_TRANSFER_CHARACTERISTICS_GAMMA22: SDL_TransferCharacteristics =
1806 SDL_TransferCharacteristics::GAMMA22;
1807pub const SDL_TRANSFER_CHARACTERISTICS_GAMMA28: SDL_TransferCharacteristics =
1809 SDL_TransferCharacteristics::GAMMA28;
1810pub const SDL_TRANSFER_CHARACTERISTICS_BT601: SDL_TransferCharacteristics =
1812 SDL_TransferCharacteristics::BT601;
1813pub const SDL_TRANSFER_CHARACTERISTICS_SMPTE240: SDL_TransferCharacteristics =
1815 SDL_TransferCharacteristics::SMPTE240;
1816pub const SDL_TRANSFER_CHARACTERISTICS_LINEAR: SDL_TransferCharacteristics =
1817 SDL_TransferCharacteristics::LINEAR;
1818pub const SDL_TRANSFER_CHARACTERISTICS_LOG100: SDL_TransferCharacteristics =
1819 SDL_TransferCharacteristics::LOG100;
1820pub const SDL_TRANSFER_CHARACTERISTICS_LOG100_SQRT10: SDL_TransferCharacteristics =
1821 SDL_TransferCharacteristics::LOG100_SQRT10;
1822pub const SDL_TRANSFER_CHARACTERISTICS_IEC61966: SDL_TransferCharacteristics =
1824 SDL_TransferCharacteristics::IEC61966;
1825pub const SDL_TRANSFER_CHARACTERISTICS_BT1361: SDL_TransferCharacteristics =
1827 SDL_TransferCharacteristics::BT1361;
1828pub const SDL_TRANSFER_CHARACTERISTICS_SRGB: SDL_TransferCharacteristics =
1830 SDL_TransferCharacteristics::SRGB;
1831pub const SDL_TRANSFER_CHARACTERISTICS_BT2020_10BIT: SDL_TransferCharacteristics =
1833 SDL_TransferCharacteristics::BT2020_10BIT;
1834pub const SDL_TRANSFER_CHARACTERISTICS_BT2020_12BIT: SDL_TransferCharacteristics =
1836 SDL_TransferCharacteristics::BT2020_12BIT;
1837pub const SDL_TRANSFER_CHARACTERISTICS_PQ: SDL_TransferCharacteristics =
1839 SDL_TransferCharacteristics::PQ;
1840pub const SDL_TRANSFER_CHARACTERISTICS_SMPTE428: SDL_TransferCharacteristics =
1842 SDL_TransferCharacteristics::SMPTE428;
1843pub const SDL_TRANSFER_CHARACTERISTICS_HLG: SDL_TransferCharacteristics =
1845 SDL_TransferCharacteristics::HLG;
1846pub const SDL_TRANSFER_CHARACTERISTICS_CUSTOM: SDL_TransferCharacteristics =
1847 SDL_TransferCharacteristics::CUSTOM;
1848
1849#[cfg(feature = "metadata")]
1850impl sdl3_sys::metadata::GroupMetadata for SDL_TransferCharacteristics {
1851 const GROUP_METADATA: &'static sdl3_sys::metadata::Group =
1852 &crate::metadata::pixels::METADATA_SDL_TransferCharacteristics;
1853}
1854
1855#[repr(transparent)]
1881#[derive(Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
1882pub struct SDL_MatrixCoefficients(pub ::core::ffi::c_uint);
1883
1884impl ::core::cmp::PartialEq<::core::ffi::c_uint> for SDL_MatrixCoefficients {
1885 #[inline(always)]
1886 fn eq(&self, other: &::core::ffi::c_uint) -> bool {
1887 &self.0 == other
1888 }
1889}
1890
1891impl ::core::cmp::PartialEq<SDL_MatrixCoefficients> for ::core::ffi::c_uint {
1892 #[inline(always)]
1893 fn eq(&self, other: &SDL_MatrixCoefficients) -> bool {
1894 self == &other.0
1895 }
1896}
1897
1898impl From<SDL_MatrixCoefficients> for ::core::ffi::c_uint {
1899 #[inline(always)]
1900 fn from(value: SDL_MatrixCoefficients) -> Self {
1901 value.0
1902 }
1903}
1904
1905#[cfg(feature = "debug-impls")]
1906impl ::core::fmt::Debug for SDL_MatrixCoefficients {
1907 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1908 #[allow(unreachable_patterns)]
1909 f.write_str(match *self {
1910 Self::IDENTITY => "SDL_MATRIX_COEFFICIENTS_IDENTITY",
1911 Self::BT709 => "SDL_MATRIX_COEFFICIENTS_BT709",
1912 Self::UNSPECIFIED => "SDL_MATRIX_COEFFICIENTS_UNSPECIFIED",
1913 Self::FCC => "SDL_MATRIX_COEFFICIENTS_FCC",
1914 Self::BT470BG => "SDL_MATRIX_COEFFICIENTS_BT470BG",
1915 Self::BT601 => "SDL_MATRIX_COEFFICIENTS_BT601",
1916 Self::SMPTE240 => "SDL_MATRIX_COEFFICIENTS_SMPTE240",
1917 Self::YCGCO => "SDL_MATRIX_COEFFICIENTS_YCGCO",
1918 Self::BT2020_NCL => "SDL_MATRIX_COEFFICIENTS_BT2020_NCL",
1919 Self::BT2020_CL => "SDL_MATRIX_COEFFICIENTS_BT2020_CL",
1920 Self::SMPTE2085 => "SDL_MATRIX_COEFFICIENTS_SMPTE2085",
1921 Self::CHROMA_DERIVED_NCL => "SDL_MATRIX_COEFFICIENTS_CHROMA_DERIVED_NCL",
1922 Self::CHROMA_DERIVED_CL => "SDL_MATRIX_COEFFICIENTS_CHROMA_DERIVED_CL",
1923 Self::ICTCP => "SDL_MATRIX_COEFFICIENTS_ICTCP",
1924 Self::CUSTOM => "SDL_MATRIX_COEFFICIENTS_CUSTOM",
1925
1926 _ => return write!(f, "SDL_MatrixCoefficients({})", self.0),
1927 })
1928 }
1929}
1930
1931impl SDL_MatrixCoefficients {
1932 pub const IDENTITY: Self = Self((0 as ::core::ffi::c_uint));
1933 pub const BT709: Self = Self((1 as ::core::ffi::c_uint));
1935 pub const UNSPECIFIED: Self = Self((2 as ::core::ffi::c_uint));
1936 pub const FCC: Self = Self((4 as ::core::ffi::c_uint));
1938 pub const BT470BG: Self = Self((5 as ::core::ffi::c_uint));
1940 pub const BT601: Self = Self((6 as ::core::ffi::c_uint));
1942 pub const SMPTE240: Self = Self((7 as ::core::ffi::c_uint));
1944 pub const YCGCO: Self = Self((8 as ::core::ffi::c_uint));
1945 pub const BT2020_NCL: Self = Self((9 as ::core::ffi::c_uint));
1947 pub const BT2020_CL: Self = Self((10 as ::core::ffi::c_uint));
1949 pub const SMPTE2085: Self = Self((11 as ::core::ffi::c_uint));
1951 pub const CHROMA_DERIVED_NCL: Self = Self((12 as ::core::ffi::c_uint));
1952 pub const CHROMA_DERIVED_CL: Self = Self((13 as ::core::ffi::c_uint));
1953 pub const ICTCP: Self = Self((14 as ::core::ffi::c_uint));
1955 pub const CUSTOM: Self = Self((31 as ::core::ffi::c_uint));
1956}
1957
1958pub const SDL_MATRIX_COEFFICIENTS_IDENTITY: SDL_MatrixCoefficients =
1959 SDL_MatrixCoefficients::IDENTITY;
1960pub const SDL_MATRIX_COEFFICIENTS_BT709: SDL_MatrixCoefficients = SDL_MatrixCoefficients::BT709;
1962pub const SDL_MATRIX_COEFFICIENTS_UNSPECIFIED: SDL_MatrixCoefficients =
1963 SDL_MatrixCoefficients::UNSPECIFIED;
1964pub const SDL_MATRIX_COEFFICIENTS_FCC: SDL_MatrixCoefficients = SDL_MatrixCoefficients::FCC;
1966pub const SDL_MATRIX_COEFFICIENTS_BT470BG: SDL_MatrixCoefficients = SDL_MatrixCoefficients::BT470BG;
1968pub const SDL_MATRIX_COEFFICIENTS_BT601: SDL_MatrixCoefficients = SDL_MatrixCoefficients::BT601;
1970pub const SDL_MATRIX_COEFFICIENTS_SMPTE240: SDL_MatrixCoefficients =
1972 SDL_MatrixCoefficients::SMPTE240;
1973pub const SDL_MATRIX_COEFFICIENTS_YCGCO: SDL_MatrixCoefficients = SDL_MatrixCoefficients::YCGCO;
1974pub const SDL_MATRIX_COEFFICIENTS_BT2020_NCL: SDL_MatrixCoefficients =
1976 SDL_MatrixCoefficients::BT2020_NCL;
1977pub const SDL_MATRIX_COEFFICIENTS_BT2020_CL: SDL_MatrixCoefficients =
1979 SDL_MatrixCoefficients::BT2020_CL;
1980pub const SDL_MATRIX_COEFFICIENTS_SMPTE2085: SDL_MatrixCoefficients =
1982 SDL_MatrixCoefficients::SMPTE2085;
1983pub const SDL_MATRIX_COEFFICIENTS_CHROMA_DERIVED_NCL: SDL_MatrixCoefficients =
1984 SDL_MatrixCoefficients::CHROMA_DERIVED_NCL;
1985pub const SDL_MATRIX_COEFFICIENTS_CHROMA_DERIVED_CL: SDL_MatrixCoefficients =
1986 SDL_MatrixCoefficients::CHROMA_DERIVED_CL;
1987pub const SDL_MATRIX_COEFFICIENTS_ICTCP: SDL_MatrixCoefficients = SDL_MatrixCoefficients::ICTCP;
1989pub const SDL_MATRIX_COEFFICIENTS_CUSTOM: SDL_MatrixCoefficients = SDL_MatrixCoefficients::CUSTOM;
1990
1991#[cfg(feature = "metadata")]
1992impl sdl3_sys::metadata::GroupMetadata for SDL_MatrixCoefficients {
1993 const GROUP_METADATA: &'static sdl3_sys::metadata::Group =
1994 &crate::metadata::pixels::METADATA_SDL_MatrixCoefficients;
1995}
1996
1997#[repr(transparent)]
2010#[derive(Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
2011pub struct SDL_ChromaLocation(pub ::core::ffi::c_uint);
2012
2013impl ::core::cmp::PartialEq<::core::ffi::c_uint> for SDL_ChromaLocation {
2014 #[inline(always)]
2015 fn eq(&self, other: &::core::ffi::c_uint) -> bool {
2016 &self.0 == other
2017 }
2018}
2019
2020impl ::core::cmp::PartialEq<SDL_ChromaLocation> for ::core::ffi::c_uint {
2021 #[inline(always)]
2022 fn eq(&self, other: &SDL_ChromaLocation) -> bool {
2023 self == &other.0
2024 }
2025}
2026
2027impl From<SDL_ChromaLocation> for ::core::ffi::c_uint {
2028 #[inline(always)]
2029 fn from(value: SDL_ChromaLocation) -> Self {
2030 value.0
2031 }
2032}
2033
2034#[cfg(feature = "debug-impls")]
2035impl ::core::fmt::Debug for SDL_ChromaLocation {
2036 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2037 #[allow(unreachable_patterns)]
2038 f.write_str(match *self {
2039 Self::NONE => "SDL_CHROMA_LOCATION_NONE",
2040 Self::LEFT => "SDL_CHROMA_LOCATION_LEFT",
2041 Self::CENTER => "SDL_CHROMA_LOCATION_CENTER",
2042 Self::TOPLEFT => "SDL_CHROMA_LOCATION_TOPLEFT",
2043
2044 _ => return write!(f, "SDL_ChromaLocation({})", self.0),
2045 })
2046 }
2047}
2048
2049impl SDL_ChromaLocation {
2050 pub const NONE: Self = Self((0 as ::core::ffi::c_uint));
2052 pub const LEFT: Self = Self((1 as ::core::ffi::c_uint));
2054 pub const CENTER: Self = Self((2 as ::core::ffi::c_uint));
2056 pub const TOPLEFT: Self = Self((3 as ::core::ffi::c_uint));
2058}
2059
2060pub const SDL_CHROMA_LOCATION_NONE: SDL_ChromaLocation = SDL_ChromaLocation::NONE;
2062pub const SDL_CHROMA_LOCATION_LEFT: SDL_ChromaLocation = SDL_ChromaLocation::LEFT;
2064pub const SDL_CHROMA_LOCATION_CENTER: SDL_ChromaLocation = SDL_ChromaLocation::CENTER;
2066pub const SDL_CHROMA_LOCATION_TOPLEFT: SDL_ChromaLocation = SDL_ChromaLocation::TOPLEFT;
2068
2069#[cfg(feature = "metadata")]
2070impl sdl3_sys::metadata::GroupMetadata for SDL_ChromaLocation {
2071 const GROUP_METADATA: &'static sdl3_sys::metadata::Group =
2072 &crate::metadata::pixels::METADATA_SDL_ChromaLocation;
2073}
2074
2075#[repr(transparent)]
2108#[derive(Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
2109pub struct SDL_Colorspace(pub Uint32);
2110
2111impl ::core::cmp::PartialEq<Uint32> for SDL_Colorspace {
2112 #[inline(always)]
2113 fn eq(&self, other: &Uint32) -> bool {
2114 &self.0 == other
2115 }
2116}
2117
2118impl ::core::cmp::PartialEq<SDL_Colorspace> for Uint32 {
2119 #[inline(always)]
2120 fn eq(&self, other: &SDL_Colorspace) -> bool {
2121 self == &other.0
2122 }
2123}
2124
2125impl From<SDL_Colorspace> for Uint32 {
2126 #[inline(always)]
2127 fn from(value: SDL_Colorspace) -> Self {
2128 value.0
2129 }
2130}
2131
2132#[cfg(feature = "debug-impls")]
2133impl ::core::fmt::Debug for SDL_Colorspace {
2134 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2135 #[allow(unreachable_patterns)]
2136 f.write_str(match *self {
2137 Self::UNKNOWN => "SDL_COLORSPACE_UNKNOWN",
2138 Self::SRGB => "SDL_COLORSPACE_SRGB",
2139 Self::SRGB_LINEAR => "SDL_COLORSPACE_SRGB_LINEAR",
2140 Self::HDR10 => "SDL_COLORSPACE_HDR10",
2141 Self::JPEG => "SDL_COLORSPACE_JPEG",
2142 Self::BT601_LIMITED => "SDL_COLORSPACE_BT601_LIMITED",
2143 Self::BT601_FULL => "SDL_COLORSPACE_BT601_FULL",
2144 Self::BT709_LIMITED => "SDL_COLORSPACE_BT709_LIMITED",
2145 Self::BT709_FULL => "SDL_COLORSPACE_BT709_FULL",
2146 Self::BT2020_LIMITED => "SDL_COLORSPACE_BT2020_LIMITED",
2147 Self::BT2020_FULL => "SDL_COLORSPACE_BT2020_FULL",
2148 Self::RGB_DEFAULT => "SDL_COLORSPACE_RGB_DEFAULT",
2149 Self::YUV_DEFAULT => "SDL_COLORSPACE_YUV_DEFAULT",
2150
2151 _ => return write!(f, "SDL_Colorspace({})", self.0),
2152 })
2153 }
2154}
2155
2156impl SDL_Colorspace {
2157 pub const UNKNOWN: Self = Self((0 as Uint32));
2158 pub const SRGB: Self = Self((0x120005a0 as Uint32));
2160 pub const SRGB_LINEAR: Self = Self((0x12000500 as Uint32));
2162 pub const HDR10: Self = Self((0x12002600 as Uint32));
2164 pub const JPEG: Self = Self((0x220004c6 as Uint32));
2166 pub const BT601_LIMITED: Self = Self((0x211018c6 as Uint32));
2168 pub const BT601_FULL: Self = Self((0x221018c6 as Uint32));
2170 pub const BT709_LIMITED: Self = Self((0x21100421 as Uint32));
2172 pub const BT709_FULL: Self = Self((0x22100421 as Uint32));
2174 pub const BT2020_LIMITED: Self = Self((0x21102609 as Uint32));
2176 pub const BT2020_FULL: Self = Self((0x22102609 as Uint32));
2178 pub const RGB_DEFAULT: Self = SDL_COLORSPACE_SRGB;
2180 pub const YUV_DEFAULT: Self = SDL_COLORSPACE_BT601_LIMITED;
2182}
2183
2184pub const SDL_COLORSPACE_UNKNOWN: SDL_Colorspace = SDL_Colorspace::UNKNOWN;
2185pub const SDL_COLORSPACE_SRGB: SDL_Colorspace = SDL_Colorspace::SRGB;
2187pub const SDL_COLORSPACE_SRGB_LINEAR: SDL_Colorspace = SDL_Colorspace::SRGB_LINEAR;
2189pub const SDL_COLORSPACE_HDR10: SDL_Colorspace = SDL_Colorspace::HDR10;
2191pub const SDL_COLORSPACE_JPEG: SDL_Colorspace = SDL_Colorspace::JPEG;
2193pub const SDL_COLORSPACE_BT601_LIMITED: SDL_Colorspace = SDL_Colorspace::BT601_LIMITED;
2195pub const SDL_COLORSPACE_BT601_FULL: SDL_Colorspace = SDL_Colorspace::BT601_FULL;
2197pub const SDL_COLORSPACE_BT709_LIMITED: SDL_Colorspace = SDL_Colorspace::BT709_LIMITED;
2199pub const SDL_COLORSPACE_BT709_FULL: SDL_Colorspace = SDL_Colorspace::BT709_FULL;
2201pub const SDL_COLORSPACE_BT2020_LIMITED: SDL_Colorspace = SDL_Colorspace::BT2020_LIMITED;
2203pub const SDL_COLORSPACE_BT2020_FULL: SDL_Colorspace = SDL_Colorspace::BT2020_FULL;
2205pub const SDL_COLORSPACE_RGB_DEFAULT: SDL_Colorspace = SDL_Colorspace::RGB_DEFAULT;
2207pub const SDL_COLORSPACE_YUV_DEFAULT: SDL_Colorspace = SDL_Colorspace::YUV_DEFAULT;
2209
2210#[cfg(feature = "metadata")]
2211impl sdl3_sys::metadata::GroupMetadata for SDL_Colorspace {
2212 const GROUP_METADATA: &'static sdl3_sys::metadata::Group =
2213 &crate::metadata::pixels::METADATA_SDL_Colorspace;
2214}
2215
2216#[inline(always)]
2250pub const fn SDL_DEFINE_COLORSPACE(
2251 r#type: SDL_ColorType,
2252 range: SDL_ColorRange,
2253 primaries: SDL_ColorPrimaries,
2254 transfer: SDL_TransferCharacteristics,
2255 matrix: SDL_MatrixCoefficients,
2256 chroma: SDL_ChromaLocation,
2257) -> SDL_Colorspace {
2258 SDL_Colorspace(
2259 (((((((r#type.0 as Uint32) << 28) | ((range.0 as Uint32) << 24))
2260 | ((chroma.0 as Uint32) << 20))
2261 | ((primaries.0 as Uint32) << 10))
2262 | ((transfer.0 as Uint32) << 5))
2263 | ((matrix.0 as Uint32) << 0)),
2264 )
2265}
2266
2267#[inline(always)]
2281pub const fn SDL_COLORSPACETYPE(cspace: SDL_Colorspace) -> SDL_ColorType {
2282 SDL_ColorType((((cspace.0 >> 28) & 15_u32) as ::core::ffi::c_uint))
2283}
2284
2285#[inline(always)]
2299pub const fn SDL_COLORSPACERANGE(cspace: SDL_Colorspace) -> SDL_ColorRange {
2300 SDL_ColorRange((((cspace.0 >> 24) & 15_u32) as ::core::ffi::c_uint))
2301}
2302
2303#[inline(always)]
2317pub const fn SDL_COLORSPACECHROMA(cspace: SDL_Colorspace) -> SDL_ChromaLocation {
2318 SDL_ChromaLocation((((cspace.0 >> 20) & 15_u32) as ::core::ffi::c_uint))
2319}
2320
2321#[inline(always)]
2335pub const fn SDL_COLORSPACEPRIMARIES(cspace: SDL_Colorspace) -> SDL_ColorPrimaries {
2336 SDL_ColorPrimaries((((cspace.0 >> 10) & 31_u32) as ::core::ffi::c_uint))
2337}
2338
2339#[inline(always)]
2353pub const fn SDL_COLORSPACETRANSFER(cspace: SDL_Colorspace) -> SDL_TransferCharacteristics {
2354 SDL_TransferCharacteristics((((cspace.0 >> 5) & 31_u32) as ::core::ffi::c_uint))
2355}
2356
2357#[inline(always)]
2371pub const fn SDL_COLORSPACEMATRIX(cspace: SDL_Colorspace) -> SDL_MatrixCoefficients {
2372 SDL_MatrixCoefficients(((cspace.0 & 31_u32) as ::core::ffi::c_uint))
2373}
2374
2375#[inline(always)]
2389pub const fn SDL_ISCOLORSPACE_LIMITED_RANGE(cspace: SDL_Colorspace) -> ::core::primitive::bool {
2390 (SDL_COLORSPACERANGE(cspace).0 != SDL_COLOR_RANGE_FULL.0)
2391}
2392
2393#[inline(always)]
2407pub const fn SDL_ISCOLORSPACE_FULL_RANGE(cspace: SDL_Colorspace) -> ::core::primitive::bool {
2408 (SDL_COLORSPACERANGE(cspace).0 == SDL_COLOR_RANGE_FULL.0)
2409}
2410
2411#[inline(always)]
2429pub const fn SDL_ISCOLORSPACE_MATRIX_BT601(cspace: SDL_Colorspace) -> ::core::primitive::bool {
2430 ((SDL_COLORSPACEMATRIX(cspace).0 == SDL_MATRIX_COEFFICIENTS_BT601.0)
2431 || (SDL_COLORSPACEMATRIX(cspace).0 == SDL_MATRIX_COEFFICIENTS_BT470BG.0))
2432}
2433
2434#[inline(always)]
2448pub const fn SDL_ISCOLORSPACE_MATRIX_BT709(cspace: SDL_Colorspace) -> ::core::primitive::bool {
2449 (SDL_COLORSPACEMATRIX(cspace).0 == SDL_MATRIX_COEFFICIENTS_BT709.0)
2450}
2451
2452#[inline(always)]
2467pub const fn SDL_ISCOLORSPACE_MATRIX_BT2020_NCL(cspace: SDL_Colorspace) -> ::core::primitive::bool {
2468 (SDL_COLORSPACEMATRIX(cspace).0 == SDL_MATRIX_COEFFICIENTS_BT2020_NCL.0)
2469}
2470
2471#[repr(C)]
2481#[derive(Clone, Copy, Default, PartialEq, Eq, Hash)]
2482#[cfg_attr(feature = "debug-impls", derive(Debug))]
2483pub struct SDL_Color {
2484 pub r: Uint8,
2485 pub g: Uint8,
2486 pub b: Uint8,
2487 pub a: Uint8,
2488}
2489
2490#[repr(C)]
2496#[derive(Clone, Copy, Default, PartialEq)]
2497#[cfg_attr(feature = "debug-impls", derive(Debug))]
2498pub struct SDL_FColor {
2499 pub r: ::core::ffi::c_float,
2500 pub g: ::core::ffi::c_float,
2501 pub b: ::core::ffi::c_float,
2502 pub a: ::core::ffi::c_float,
2503}
2504
2505#[repr(C)]
2516#[cfg_attr(feature = "debug-impls", derive(Debug))]
2517pub struct SDL_Palette {
2518 pub ncolors: ::core::ffi::c_int,
2520 pub colors: *mut SDL_Color,
2522 pub version: Uint32,
2524 pub refcount: ::core::ffi::c_int,
2526 #[doc(hidden)]
2527 __non_exhaustive: ::sdl3_sys::NonExhaustive,
2528}
2529
2530#[repr(C)]
2538#[derive(Clone, Copy, Default, PartialEq, Eq, Hash)]
2539#[cfg_attr(feature = "debug-impls", derive(Debug))]
2540pub struct SDL_PixelFormatDetails {
2541 pub format: SDL_PixelFormat,
2542 pub bits_per_pixel: Uint8,
2543 pub bytes_per_pixel: Uint8,
2544 #[deprecated(note = "padding fields are exempt from semver; init with `..Default::default()`")]
2545 pub padding: [Uint8; 2],
2546 pub Rmask: Uint32,
2547 pub Gmask: Uint32,
2548 pub Bmask: Uint32,
2549 pub Amask: Uint32,
2550 pub Rbits: Uint8,
2551 pub Gbits: Uint8,
2552 pub Bbits: Uint8,
2553 pub Abits: Uint8,
2554 pub Rshift: Uint8,
2555 pub Gshift: Uint8,
2556 pub Bshift: Uint8,
2557 pub Ashift: Uint8,
2558}
2559
2560unsafe extern "C" {
2561 pub safe fn SDL_GetPixelFormatName(format: SDL_PixelFormat) -> *const ::core::ffi::c_char;
2576}
2577
2578unsafe extern "C" {
2579 pub fn SDL_GetMasksForPixelFormat(
2602 format: SDL_PixelFormat,
2603 bpp: *mut ::core::ffi::c_int,
2604 Rmask: *mut Uint32,
2605 Gmask: *mut Uint32,
2606 Bmask: *mut Uint32,
2607 Amask: *mut Uint32,
2608 ) -> ::core::primitive::bool;
2609}
2610
2611unsafe extern "C" {
2612 pub safe fn SDL_GetPixelFormatForMasks(
2637 bpp: ::core::ffi::c_int,
2638 Rmask: Uint32,
2639 Gmask: Uint32,
2640 Bmask: Uint32,
2641 Amask: Uint32,
2642 ) -> SDL_PixelFormat;
2643}
2644
2645unsafe extern "C" {
2646 pub fn SDL_GetPixelFormatDetails(format: SDL_PixelFormat) -> *const SDL_PixelFormatDetails;
2665}
2666
2667unsafe extern "C" {
2668 pub fn SDL_CreatePalette(ncolors: ::core::ffi::c_int) -> *mut SDL_Palette;
2691}
2692
2693unsafe extern "C" {
2694 pub fn SDL_SetPaletteColors(
2713 palette: *mut SDL_Palette,
2714 colors: *const SDL_Color,
2715 firstcolor: ::core::ffi::c_int,
2716 ncolors: ::core::ffi::c_int,
2717 ) -> ::core::primitive::bool;
2718}
2719
2720unsafe extern "C" {
2721 pub fn SDL_DestroyPalette(palette: *mut SDL_Palette);
2736}
2737
2738unsafe extern "C" {
2739 pub fn SDL_MapRGB(
2780 format: *const SDL_PixelFormatDetails,
2781 palette: *const SDL_Palette,
2782 r: Uint8,
2783 g: Uint8,
2784 b: Uint8,
2785 ) -> Uint32;
2786}
2787
2788unsafe extern "C" {
2789 pub fn SDL_MapRGBA(
2831 format: *const SDL_PixelFormatDetails,
2832 palette: *const SDL_Palette,
2833 r: Uint8,
2834 g: Uint8,
2835 b: Uint8,
2836 a: Uint8,
2837 ) -> Uint32;
2838}
2839
2840unsafe extern "C" {
2841 pub fn SDL_GetRGB(
2870 pixelvalue: Uint32,
2871 format: *const SDL_PixelFormatDetails,
2872 palette: *const SDL_Palette,
2873 r: *mut Uint8,
2874 g: *mut Uint8,
2875 b: *mut Uint8,
2876 );
2877}
2878
2879unsafe extern "C" {
2880 pub fn SDL_GetRGBA(
2913 pixelvalue: Uint32,
2914 format: *const SDL_PixelFormatDetails,
2915 palette: *const SDL_Palette,
2916 r: *mut Uint8,
2917 g: *mut Uint8,
2918 b: *mut Uint8,
2919 a: *mut Uint8,
2920 );
2921}
2922
2923#[cfg(doc)]
2924use crate::everything::*;