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
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
40public:
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
61public:
62 // virtual function thunks
63 // NOLINTBEGIN
64
65 // NOLINTEND
66};
67
68} // namespace cg
Definition ImageBuffer.h:16
Definition ImageResource.h:12
Definition ImageResource.h:20