LeviLamina
Loading...
Searching...
No Matches
TemporaryTextureHolder.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/platform/threading/Mutex.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace GeometryAtlas { class IAtlasTile; }
11namespace cg { class ImageBuffer; }
12namespace mce { class TexturePtr; }
13// clang-format on
14
15namespace Gameface {
16
18public:
19 // TemporaryTextureHolder inner types define
20 using ImageId = uint64;
21
22 using TextureResource =
23 ::std::variant<::cg::ImageBuffer, ::mce::TexturePtr, ::std::shared_ptr<::GeometryAtlas::IAtlasTile>>;
24
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mMutex;
29 ::ll::TypedStorage<8, 8, uint64> mId;
30 ::ll::TypedStorage<
31 8,
32 16,
33 ::std::map<
34 uint64,
35 ::std::variant<::cg::ImageBuffer, ::mce::TexturePtr, ::std::shared_ptr<::GeometryAtlas::IAtlasTile>>>>
36 mTextureResources;
37 // NOLINTEND
38
39public:
40 // member functions
41 // NOLINTBEGIN
42 MCAPI ::std::variant<::cg::ImageBuffer, ::mce::TexturePtr, ::std::shared_ptr<::GeometryAtlas::IAtlasTile>>
43 consumeImageBuffer(uint64 id);
44
45 MCAPI void dropImageBuffer(uint64 id);
46
47 MCAPI uint64 holdImageBuffer(::cg::ImageBuffer buffer);
48
49 MCAPI uint64 holdTexturePtr(::mce::TexturePtr texture);
50
51 MCAPI ~TemporaryTextureHolder();
52 // NOLINTEND
53
54public:
55 // destructor thunk
56 // NOLINTBEGIN
57 MCAPI void $dtor();
58 // NOLINTEND
59};
60
61} // namespace Gameface
Definition TemporaryTextureHolder.h:7
Definition IAtlasTile.h:7
Definition ImageBuffer.h:16
Definition TexturePtr.h:7