tge/engine/dgl/bitmapBm8.cc
2017-04-17 06:17:10 -06:00

51 lines
1.2 KiB
C++
Executable File

//-----------------------------------------------------------------------------
// Torque Game Engine
// Copyright (C) GarageGames.com, Inc.
//-----------------------------------------------------------------------------
#include "dgl/gBitmap.h"
#include "dgl/gPalette.h"
#include "core/stream.h"
#include "platform/platform.h"
bool GBitmap::readBmp8(Stream& stream)
{
stream.read(&byteSize);
stream.read(&width);
stream.read(&height);
stream.read(&bytesPerPixel);
stream.read(&numMipLevels);
U32 i;
for (i = 0; i < numMipLevels; i++)
stream.read(&mipLevelOffsets[i]);
internalFormat = GBitmap::Palettized;
pPalette = new GPalette;
pPalette->read(stream);
pBits = new U8[byteSize];
stream.read(byteSize, pBits);
return true;
}
bool GBitmap::writeBmp8(Stream& stream)
{
AssertFatal(pPalette != NULL, "Error, must have a palette to write the bmp!");
stream.write(byteSize);
stream.write(width);
stream.write(height);
stream.write(bytesPerPixel);
stream.write(numMipLevels);
U32 i;
for (i = 0; i < numMipLevels; i++)
stream.write(mipLevelOffsets[i]);
pPalette->write(stream);
stream.write(byteSize, pBits);
return true;
}