mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-22 09:05:44 +00:00
31 lines
1.0 KiB
C++
31 lines
1.0 KiB
C++
#pragma once
|
|
|
|
#include "IImageWriter.h"
|
|
#include "Image/IwiTypes.h"
|
|
|
|
namespace iwi8
|
|
{
|
|
class IwiWriter final : public IImageWriter
|
|
{
|
|
static IwiFormat GetIwiFormatForImageFormat(const ImageFormat* imageFormat);
|
|
|
|
static void WriteVersion(std::ostream& stream);
|
|
static void FillHeader2D(IwiHeader& header, const Texture2D& texture);
|
|
static void FillHeaderCube(IwiHeader& header, const TextureCube& texture);
|
|
static void FillHeader3D(IwiHeader& header, const Texture3D& texture);
|
|
|
|
public:
|
|
IwiWriter();
|
|
IwiWriter(const IwiWriter& other) = delete;
|
|
IwiWriter(IwiWriter&& other) noexcept = delete;
|
|
~IwiWriter() override;
|
|
|
|
IwiWriter& operator=(const IwiWriter& other) = delete;
|
|
IwiWriter& operator=(IwiWriter&& other) noexcept = delete;
|
|
|
|
bool SupportsImageFormat(const ImageFormat* imageFormat) override;
|
|
std::string GetFileExtension() override;
|
|
void DumpImage(std::ostream& stream, const Texture* texture) override;
|
|
};
|
|
} // namespace iwi8
|