LeviLamina
Loading...
Searching...
No Matches
ImageResource.h
1
#pragma once
2
3
#include "mc/_HeaderOutputPredefine.h"
4
5
// auto generated forward declare list
6
// clang-format off
7
namespace
cg {
class
ImageBuffer
; }
8
// clang-format on
9
10
namespace
cg {
11
12
class
ImageResource
{
13
public
:
14
// ImageResource inner types declare
15
// clang-format off
16
struct
StreamedResource
;
17
// clang-format on
18
19
// ImageResource inner types define
20
struct
StreamedResource
{
21
public
:
22
// member variables
23
// NOLINTBEGIN
24
::ll::TypedStorage<8, 24, ::std::vector<::cg::ImageBuffer>> mLoadedMipData;
25
::ll::TypedStorage<8, 24, ::std::vector<uchar>> mLoadedMipLevels;
26
::ll::TypedStorage<8, 8, uint64> mImageHash;
27
// NOLINTEND
28
29
public
:
30
// member functions
31
// NOLINTBEGIN
32
33
// NOLINTEND
34
};
35
36
using
ImageData = ::std::variant<::std::vector<::cg::ImageBuffer>,
::cg::ImageResource::StreamedResource
>;
37
38
using
ImageHash = uint64;
39
40
public
:
41
// virtual functions
42
// NOLINTBEGIN
43
virtual
~ImageResource
() =
default
;
44
45
virtual
bool
isEmpty()
const
= 0;
46
47
virtual
bool
isValid()
const
= 0;
48
49
virtual
uint getSize()
const
= 0;
50
51
virtual ::cg::ImageBuffer
const
* getImage(uint)
const
= 0;
52
53
virtual
void
addImage(
::cg::ImageBuffer
) = 0;
54
55
virtual
void
addImage(::std::shared_ptr<::cg::ImageResource>) = 0;
56
57
virtual ::std::variant<::std::vector<::cg::ImageBuffer>,
::cg::ImageResource::StreamedResource
>
58
unwrapImageData() = 0;
59
// NOLINTEND
60
61
public
:
62
// virtual function thunks
63
// NOLINTBEGIN
64
65
// NOLINTEND
66
};
67
68
}
// namespace cg
cg::ImageBuffer
Definition
ImageBuffer.h:16
cg::ImageResource
Definition
ImageResource.h:12
cg::ImageResource::StreamedResource
Definition
ImageResource.h:20
src
mc
deps
core_graphics
ImageResource.h
Generated on
for LeviLamina by
1.16.1