LeviLamina
Loading...
Searching...
No Matches
TextureSetImageContainer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7#include "mc/deps/core_graphics/TextureSetLayerType.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace cg { class CompressedImageBuffer; }
12namespace cg { class ImageBuffer; }
13namespace cg { class ImageResource; }
14namespace cg { class TextureSetLayerImageMipList; }
15namespace cg { struct ImageDescription; }
16// clang-format on
17
18namespace cg {
19
21public:
22 // TextureSetImageContainer inner types define
23 using TextureSetCompressedLayer = ::std::pair<::cg::TextureSetLayerType, ::cg::CompressedImageBuffer>;
24
25 using TextureSetImageContainerList = ::std::vector<::cg::TextureSetLayerImageMipList>;
26
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 24, ::std::vector<::cg::TextureSetLayerImageMipList>> mLayerImageList;
31 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::cg::TextureSetLayerType, ::cg::CompressedImageBuffer>>>
32 mCompressedLayers;
33 // NOLINTEND
34
35public:
36 // member functions
37 // NOLINTBEGIN
38#ifdef LL_PLAT_C
39 MCAPI void _removeLayer(::cg::TextureSetLayerType const& layerType);
40
41 MCAPI void
42 addCompressedImage(::cg::TextureSetLayerType const& layerType, ::cg::CompressedImageBuffer&& imageBuffer);
43
44 MCAPI void addImage(::cg::TextureSetLayerType const& layerType, ::cg::ImageBuffer imageBuffer);
45
46 MCAPI void
47 addImage(::cg::TextureSetLayerType const& layerType, ::std::shared_ptr<::cg::ImageResource> imageResource);
48
49 MCAPI ::cg::ImageDescription getImageDescription(::cg::TextureSetLayerType const& layerType, uint64 mipLevel) const;
50
51 MCAPI uint64 getStorageSize(::cg::TextureSetLayerType const& layerType) const;
52
53 MCAPI bool hasImage(::cg::TextureSetLayerType const& layerType) const;
54
55 MCAPI ::std::shared_ptr<::cg::ImageResource> releaseImageResource(::cg::TextureSetLayerType const& layerType);
56
57 MCAPI ::cg::CompressedImageBuffer const* tryGetCompressedImage(::cg::TextureSetLayerType const& layerType) const;
58
59 MCAPI ::cg::ImageBuffer const* tryGetImage(::cg::TextureSetLayerType const& layerType, uint64 mipLevel) const;
60#endif
61 // NOLINTEND
62
63public:
64 // vftables
65 // NOLINTBEGIN
66 MCNAPI static void** $vftable();
67 // NOLINTEND
68};
69
70} // namespace cg
Definition EnableNonOwnerReferences.h:7
Definition CompressedImageBuffer.h:11
Definition ImageBuffer.h:16
Definition ImageResource.h:12
Definition TextureSetImageContainer.h:20
static MCAPI void ** $vftable()
Definition TextureSetLayerImageMipList.h:16
Definition ImageDescription.h:20