diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Image.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/Image.cc b/lib/Image.cc index 9b41b4e..0848e8b 100644 --- a/lib/Image.cc +++ b/lib/Image.cc @@ -39,6 +39,10 @@ void Image::SetPixel(unsigned int px, unsigned int py, Color c) { img[x * py + px] = c; } +#ifndef WORDS_BIGENDIAN +#define WORDS_BIGENDIAN 0 +#endif + bool Image::Prepare(unsigned int f) { if (GetSize()) return false; @@ -55,8 +59,8 @@ bool Image::Prepare(unsigned int f) { Header.CM_EntrySize = 0; Header.IS_XOrigin = 0; Header.IS_YOrigin = 0; - Header.IS_Width = x; - Header.IS_Height = y; + Header.IS_Width = WORDS_BIGENDIAN ? ((x & 0xff) << 8) || ((x & 0xff00) >> 8) : x; + Header.IS_Height = WORDS_BIGENDIAN ? ((y & 0xff) << 8) || ((y & 0xff00) >> 8) : y; Header.IS_Depth = 32; Header.IS_Descriptor = 0x20; |