1 #include "framebuffer-pixfmt-rgb24.hpp"
2 #include "framebuffer.hpp"
8 _pixfmt_rgb24
<uvswap
>::~_pixfmt_rgb24() throw() {}
11 void _pixfmt_rgb24
<uvswap
>::decode(uint32_t* target
, const uint8_t* src
, size_t width
) throw()
14 for(size_t i
= 0; i
< width
; i
++) {
15 target
[i
] = (uint32_t)src
[3 * i
+ 2] << 16;
16 target
[i
] |= (uint32_t)src
[3 * i
+ 1] << 8;
17 target
[i
] |= src
[3 * i
+ 0];
20 for(size_t i
= 0; i
< width
; i
++) {
21 target
[i
] = (uint32_t)src
[3 * i
+ 0] << 16;
22 target
[i
] |= (uint32_t)src
[3 * i
+ 1] << 8;
23 target
[i
] |= src
[3 * i
+ 2];
29 void _pixfmt_rgb24
<uvswap
>::decode(uint32_t* target
, const uint8_t* src
, size_t width
,
30 const auxpalette
<false>& auxp
) throw()
32 for(size_t i
= 0; i
< width
; i
++) {
33 target
[i
] = static_cast<uint32_t>(src
[3 * i
+ (uvswap
? 2 : 0)]) << auxp
.rshift
;
34 target
[i
] |= static_cast<uint32_t>(src
[3 * i
+ 1]) << auxp
.gshift
;
35 target
[i
] |= static_cast<uint32_t>(src
[3 * i
+ (uvswap
? 0 : 2)]) << auxp
.bshift
;
40 void _pixfmt_rgb24
<uvswap
>::decode(uint64_t* target
, const uint8_t* src
, size_t width
,
41 const auxpalette
<true>& auxp
) throw()
43 for(size_t i
= 0; i
< width
; i
++) {
44 target
[i
] = static_cast<uint64_t>(src
[3 * i
+ (uvswap
? 2 : 0)]) << auxp
.rshift
;
45 target
[i
] |= static_cast<uint64_t>(src
[3 * i
+ 1]) << auxp
.gshift
;
46 target
[i
] |= static_cast<uint64_t>(src
[3 * i
+ (uvswap
? 0 : 2)]) << auxp
.bshift
;
47 target
[i
] += (target
[i
] << 8);
52 void _pixfmt_rgb24
<uvswap
>::set_palette(auxpalette
<false>& auxp
, uint8_t rshift
, uint8_t gshift
,
53 uint8_t bshift
) throw(std::bad_alloc
)
62 void _pixfmt_rgb24
<uvswap
>::set_palette(auxpalette
<true>& auxp
, uint8_t rshift
, uint8_t gshift
,
63 uint8_t bshift
) throw(std::bad_alloc
)
72 uint8_t _pixfmt_rgb24
<uvswap
>::get_bpp() throw()
78 uint8_t _pixfmt_rgb24
<uvswap
>::get_ss_bpp() throw()
84 uint32_t _pixfmt_rgb24
<uvswap
>::get_magic() throw()
92 _pixfmt_rgb24
<false> pixfmt_rgb24
;
93 _pixfmt_rgb24
<true> pixfmt_bgr24
;