Torch
Loading...
Searching...
No Matches
TextureFactory.h
1
#pragma once
2
3
#include "BaseFactory.h"
4
#include "utils/TextureUtils.h"
5
6
class
TextureData :
public
IParsedData
{
7
public
:
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
16
class
TextureHeaderExporter
:
public
BaseExporter
{
17
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
18
};
19
20
class
TextureCodeExporter
:
public
BaseExporter
{
21
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
22
};
23
24
class
TextureBinaryExporter
:
public
BaseExporter
{
25
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
26
};
27
28
class
TextureModdingExporter
:
public
BaseExporter
{
29
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
30
};
31
32
class
TextureFactory
:
public
BaseFactory
{
33
public
:
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
};
BaseExporter
Definition
BaseFactory.h:88
BaseFactory
Definition
BaseFactory.h:94
IParsedData
Definition
BaseFactory.h:80
TextureBinaryExporter
Definition
TextureFactory.h:24
TextureCodeExporter
Definition
TextureFactory.h:20
TextureFactory
Definition
TextureFactory.h:32
TextureHeaderExporter
Definition
TextureFactory.h:16
TextureModdingExporter
Definition
TextureFactory.h:28
TextureFormat
Definition
TextureUtils.h:22
src
factories
TextureFactory.h
Generated by
1.14.0