3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/renderer/texture/IResourceWatcher.h"
7#include "mc/client/renderer/texture/TextureAtlasStatus.h"
8#include "mc/client/renderer/texture/TextureHotReloaderMode.h"
9#include "mc/deps/core/resource/ResourceLocation.h"
10#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
11#include "mc/deps/core_graphics/MipMapSupport.h"
12#include "mc/deps/core_graphics/ResourceLoader.h"
26namespace mce {
struct Image; }
32 using StatusCallbackType = void(::TextureAtlasStatus
const&);
34 using ReloadCallbackType = void(::ResourceLocation
const&);
36 using TextureAtlasTaskEnqueueType = void(::TextureAtlasResourceCallbacks);
38 using TextureAtlasReloadCallbackType = void(
39 ::ResourceLocation
const&,
40 ::std::shared_ptr<::cg::ImageBuffer>,
41 ::std::shared_ptr<::std::unordered_map<::ResourceLocation, ::cg::TextureSetImageContainer>>
47 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::std::map<::ResourceLocation, ::cg::ImageBuffer>>> mCachedTextures;
51 ::std::unique_ptr<::mce::IResourceWatcher<
53 ::std::shared_ptr<::mce::Image>,
57 ::std::vector<uchar>>,
58 ::ImageResourceManager>>>
60 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ImageResourceManager>> mImageResourceManager;
61 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ResourceLocation, ::mce::FileWatcherHandle>> mFileWatcherHandles;
62 ::ll::TypedStorage<4, 4, ::TextureHotReloaderMode const> mMode;
75 ::std::shared_ptr<::mce::Image>,
79 ::std::vector<uchar>>,
81 ::TextureHotReloaderMode mode
84 MCNAPI
void cacheTextures(::std::shared_ptr<::mce::TextureGroup> textureGroup);
93 ::std::shared_ptr<::mce::TextureGroup> textureGroup,
95 ::cg::MipMapSupport
const& mipMapSupport,
97 ::std::function<
void(::TextureAtlasStatus
const&)> textureAtlasStatusCallback,
100 ::std::shared_ptr<::cg::ImageBuffer>,
101 ::std::shared_ptr<::std::unordered_map<::ResourceLocation, ::cg::TextureSetImageContainer>>
102 )> textureAtlasReloadCallback
107 ::std::shared_ptr<::mce::TextureGroup> textureGroup,
119 ::std::shared_ptr<::mce::Image>,
123 ::std::vector<uchar>>,
125 ::TextureHotReloaderMode mode
Definition EnableNonOwnerReferences.h:7
Definition IResourceLocationExpander.h:5
Definition ResourceLocation.h:15
Definition TextureAtlas.h:5
Definition ImageBuffer.h:16
Definition ResourceLoader.h:8
Definition TextureSetImageContainer.h:20
Definition FileWatcherHandle.h:12
Definition IResourceWatcher.h:8
Definition TextureGroup.h:7
Definition ImageResourceManager.h:5
Definition StbImageLoadPolicy.h:5
Definition StdIoStreamPolicy.h:5
Definition TextureAtlasResourceCallbacks.h:5
Definition TextureHotReloader.h:5
MCAPI void registerAtlas(::TextureAtlas &textureAtlas, ::std::shared_ptr<::mce::TextureGroup > textureGroup, ::IResourceLocationExpander const &resourceLocationExpander, ::cg::MipMapSupport const &mipMapSupport, ::std::function< void(::TextureAtlasResourceCallbacks)> textureAtlasTaskEnqueueCallback, ::std::function< void(::TextureAtlasStatus const &)> textureAtlasStatusCallback, ::std::function< void(::ResourceLocation const &, ::std::shared_ptr<::cg::ImageBuffer >, ::std::shared_ptr<::std::unordered_map<::ResourceLocation, ::cg::TextureSetImageContainer > >)> textureAtlasReloadCallback)
MCAPI void loadCachedTextureData(::std::shared_ptr<::mce::TextureGroup > textureGroup)
MCAPI bool isFileWatched(::ResourceLocation const &resloc, ::IResourceLocationExpander const &resourceLocationExpander)
MCAPI TextureHotReloader(::std::unique_ptr<::mce::IResourceWatcher< ::cg::ResourceLoader< ::std::shared_ptr<::mce::Image >, ::ResourceLocation, ::StdIoStreamPolicy, ::StbImageLoadPolicy, ::std::vector< uchar > >, ::ImageResourceManager > > imageWatcher, ::TextureHotReloaderMode mode)
MCAPI void registerTexture(::ResourceLocation const &resLoc, ::std::shared_ptr<::mce::TextureGroup > textureGroup, ::IResourceLocationExpander const &resourceLocationExpander, ::std::function< void(::ResourceLocation const &)> textureReloadCallback)
MCAPI void * $ctor(::std::unique_ptr<::mce::IResourceWatcher< ::cg::ResourceLoader< ::std::shared_ptr<::mce::Image >, ::ResourceLocation, ::StdIoStreamPolicy, ::StbImageLoadPolicy, ::std::vector< uchar > >, ::ImageResourceManager > > imageWatcher, ::TextureHotReloaderMode mode)
MCAPI void cacheTextures(::std::shared_ptr<::mce::TextureGroup > textureGroup)