imagesaver.h File Reference
Go to the documentation of this file.
Source: include/ffw/media/imagesaver.h
/* This file is part of FineFramework project */
#ifndef FFW_MEDIA_IMAGE_SAVER
#define FFW_MEDIA_IMAGE_SAVER
#include <string>
#include "config.h"
#include "imagebuffer.h"
#include "swapwrapper.h"
#pragma warning( push )
#pragma warning( disable : 4275)
namespace ffw{
class FFW_API ImageWriter: public ImageFormat {
public:
ImageWriter();
virtual ~ImageWriter();
virtual void close() = 0;
virtual size_t writeRow(const void* src) = 0;
bool writeAll(const unsigned char* src);
bool writeAll(const ffw::ImageBuffer& buffer);
virtual bool setMipMap(int level);
virtual bool writeFooter() = 0;
inline bool eof() const {
return row >= height;
}
inline operator bool() const {
return loaded;
}
inline int getRowOffset() const {
return row;
}
inline bool isOpen() const {
return loaded;
}
inline int getNumOfMipMaps() const {
return mipmaps;
}
inline int getMipMapOffset() const {
return mipmapOffset;
}
inline size_t getAllocationSize() const {
return ImageFormat::getAllocationSize(mipmaps);
}
protected:
bool loaded;
int row;
int mipmapOffset;
int mipmaps;
};
};
#pragma warning( pop )
#endif