bool Bitmap::Load(const UncompressedImage &uncompressed, Type type) { assert(IsScreenInitialized()); assert(uncompressed.IsVisible()); Reset(); ImportSurface(buffer, uncompressed); return true; }
Bitmap::Bitmap(ConstBuffer<void> _buffer) : #ifdef ENABLE_OPENGL #ifdef ANDROID id(0), #endif texture(nullptr), interpolation(false) #else buffer(WritableImageBuffer<BitmapPixelTraits>::Empty()) #endif { Load(_buffer); } bool Bitmap::Load(ConstBuffer<void> buffer, Type type) { const UncompressedImage uncompressed = LoadPNG(buffer.data, buffer.size); return (uncompressed.IsVisible() && Load(uncompressed, type)); } #ifdef USE_LIBJPEG bool Bitmap::LoadFile(const TCHAR *path) { const UncompressedImage uncompressed = LoadJPEGFile(path); return (uncompressed.IsVisible() && Load(uncompressed)); } #endif bool Bitmap::LoadPNGFile(const TCHAR *path) { const UncompressedImage uncompressed = ::LoadPNGFile(path); return (uncompressed.IsVisible() && Load(uncompressed)); }
Bitmap::Bitmap(ConstBuffer<void> _buffer) : #ifdef ENABLE_OPENGL #ifdef ANDROID id(0), #endif texture(nullptr), interpolation(false) #else buffer(WritableImageBuffer<BitmapPixelTraits>::Empty()) #endif { Load(_buffer); } bool Bitmap::Load(ConstBuffer<void> buffer, Type type) { const UncompressedImage uncompressed = LoadPNG(buffer.data, buffer.size); return Load(uncompressed, type); } static UncompressedImage DecompressImageFile(Path path) { #ifdef USE_LIBTIFF if (path.MatchesExtension(_T(".tif")) || path.MatchesExtension(_T(".tiff"))) return LoadTiff(path); #endif if (path.MatchesExtension(_T(".png"))) return LoadPNG(path); return LoadJPEGFile(path); } bool Bitmap::LoadFile(Path path) { const UncompressedImage uncompressed = DecompressImageFile(path); return uncompressed.IsVisible() && Load(uncompressed); }