#ifndef _LI_CDTEX_H
#define _LI_CDTEX_H 1
#include <iostream>
#include "CdType.hpp"
#include "diff.hpp"

namespace Li::Gui::DvdSpin {
	class CdTex {
	private:
		std::byte* uncompressedTexture;
		uint32_t uncompressedTextureSz;
		CdType currentCdType;
		void applyDiff(uint32_t numChanges, ImgDiff* changesList);
	public:
		CdTex();
		~CdTex();
		void SetUnknownTexture();
		void SetBdTexture();
		void SetDvdTexture();
		void SetHdDvdTexture();
		void SetCdTexture();

		uint32_t Width();
		uint32_t Height();
		uint32_t Channels();
		uint32_t Pitch();
		CdType CurrentCdType();
		std::byte* CurrentTexture();
	};
};

#endif
