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
7namespace cg { class ImageBuffer; }
8// clang-format on
9
10namespace cg {
11
13public:
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#ifdef LL_PLAT_S
30#else // LL_PLAT_C
31 public:
32 // prevent constructor by default
33 StreamedResource& operator=(StreamedResource const&);
34 StreamedResource(StreamedResource const&);
35 StreamedResource();
36
37#endif
38 public:
39 // member functions
40 // NOLINTBEGIN
41#ifdef LL_PLAT_C
42 MCAPI ::cg::ImageResource::StreamedResource& operator=(::cg::ImageResource::StreamedResource&&);
43#endif
44 // NOLINTEND
45 };
46
47 using ImageData = ::std::variant<::std::vector<::cg::ImageBuffer>, ::cg::ImageResource::StreamedResource>;
48
49 using ImageHash = uint64;
50
51public:
52 // virtual functions
53 // NOLINTBEGIN
54 virtual ~ImageResource() = default;
55
56 virtual bool isEmpty() const = 0;
57
58 virtual bool isValid() const = 0;
59
60 virtual uint getSize() const = 0;
61
62 virtual ::cg::ImageBuffer const* getImage(uint mipLevel) const = 0;
63
64 virtual void addImage(::cg::ImageBuffer imageToAdd) = 0;
65
66 virtual void addImage(::std::shared_ptr<::cg::ImageResource> imageToAdd) = 0;
67
68 virtual ::std::variant<::std::vector<::cg::ImageBuffer>, ::cg::ImageResource::StreamedResource>
69 unwrapImageData() = 0;
70 // NOLINTEND
71
72public:
73 // virtual function thunks
74 // NOLINTBEGIN
75
76 // NOLINTEND
77};
78
79} // namespace cg
Definition ImageBuffer.h:16
Definition ImageResource.h:12
Definition ImageResource.h:20