diff options
Diffstat (limited to 'src/base/framebuffer.cc')
-rw-r--r-- | src/base/framebuffer.cc | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/src/base/framebuffer.cc b/src/base/framebuffer.cc index 73f724892..746327ac6 100644 --- a/src/base/framebuffer.cc +++ b/src/base/framebuffer.cc @@ -41,71 +41,10 @@ #include <zlib.h> -#include <cassert> - #include "base/bitfield.hh" -const PixelConverter PixelConverter::rgba8888_le(4, 0, 8, 16, 8, 8, 8); -const PixelConverter PixelConverter::rgba8888_be(4, 0, 8, 16, 8, 8, 8, - BigEndianByteOrder); -const PixelConverter PixelConverter::rgb565_le(2, 0, 5, 11, 5, 6, 5); -const PixelConverter PixelConverter::rgb565_be(2, 0, 5, 11, 5, 6, 5, - BigEndianByteOrder); - const FrameBuffer FrameBuffer::dummy(320, 240); -PixelConverter::PixelConverter(unsigned _length, - unsigned ro, unsigned go, unsigned bo, - unsigned rw, unsigned gw, unsigned bw, - ByteOrder _byte_order) - : length(_length), - depth(rw + gw + bw), - byte_order(_byte_order), - ch_r(ro, rw), - ch_g(go, gw), - ch_b(bo, bw) -{ - assert(length > 1); -} - -PixelConverter::Channel::Channel(unsigned _offset, unsigned width) - : offset(_offset), - mask(::mask(width)), - factor(255.0 / mask) -{ -} - -uint32_t -PixelConverter::readWord(const uint8_t *p) const -{ - uint32_t word(0); - - if (byte_order == LittleEndianByteOrder) { - for (int i = 0; i < length; ++i) - word |= p[i] << (8 * i); - } else { - for (int i = 0; i < length; ++i) - word |= p[i] << (8 * (length - i - 1)); - } - - return word; -} - -void -PixelConverter::writeWord(uint8_t *p, uint32_t word) const -{ - if (byte_order == LittleEndianByteOrder) { - for (int i = 0; i < length; ++i) - p[i] = (word >> (8 * i)) & 0xFF; - } else { - for (int i = 0; i < length; ++i) - p[i] = (word >> (8 * (length - i - 1))) & 0xFF; - } -} - - - - FrameBuffer::FrameBuffer(unsigned width, unsigned height) : pixels(width * height), _width(width), _height(height) |