Blob Blame Raw


#ifndef TTILESAVER_INCLUDE
#define TTILESAVER_INCLUDE

#include "trastercm.h"

class TTileSetCM32;
class TTileSetFullColor;

#undef DVAPI
#undef DVVAR
#ifdef TOONZLIB_EXPORTS
#define DVAPI DV_EXPORT_API
#define DVVAR DV_EXPORT_VAR
#else
#define DVAPI DV_IMPORT_API
#define DVVAR DV_IMPORT_VAR
#endif

class DVAPI TTileSaverCM32
{
	TRasterCM32P m_raster;
	TTileSetCM32 *m_tileSet;
	int m_rowSize;
	std::vector<int> m_savedTiles;
	void saveTile(int row, int col);

public:
	TTileSaverCM32(const TRasterCM32P &raster, TTileSetCM32 *tileSet);

	void save(TRect rect);
	void save(TPoint point);

	TTileSetCM32 *getTileSet() const;
};

//********************************************************************************

class DVAPI TTileSaverFullColor
{
	TRasterP m_raster;
	TTileSetFullColor *m_tileSet;
	int m_rowSize;
	std::vector<int> m_savedTiles;
	void saveTile(int row, int col);

public:
	TTileSaverFullColor(const TRasterP &raster, TTileSetFullColor *tileSet);

	void save(TRect rect);
	void save(TPoint point);

	TTileSetFullColor *getTileSet() const;
};

#endif