Torch
Loading...
Searching...
No Matches
TextureFactory.h
1#pragma once
2
3#include "BaseFactory.h"
4#include "utils/TextureUtils.h"
5
6class TextureData : public IParsedData {
7public:
8 TextureFormat mFormat;
9 uint32_t mWidth;
10 uint32_t mHeight;
11 std::vector<uint8_t> mBuffer;
12
13 TextureData(TextureFormat format, uint32_t width, uint32_t height, std::vector<uint8_t>& buffer) : mFormat(format), mWidth(width), mHeight(height), mBuffer(std::move(buffer)) {}
14};
15
17 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
18};
19
21 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
22};
23
25 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
26};
27
29 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
30};
31
33public:
34 std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data) override;
35 std::optional<std::shared_ptr<IParsedData>> parse_modding(std::vector<uint8_t>& buffer, YAML::Node& data) override;
36 inline std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters() override {
37 return {
38 REGISTER(Header, TextureHeaderExporter)
39 REGISTER(Binary, TextureBinaryExporter)
40 REGISTER(Code, TextureCodeExporter)
41 REGISTER(Modding, TextureModdingExporter)
42 };
43 }
44 bool SupportModdedAssets() override { return true; }
45};
Definition BaseFactory.h:88
Definition BaseFactory.h:94
Definition BaseFactory.h:80
Definition TextureFactory.h:24
Definition TextureFactory.h:20
Definition TextureFactory.h:32
Definition TextureFactory.h:16
Definition TextureFactory.h:28
Definition TextureUtils.h:22