Fission FSN
Loading...
Searching...
No Matches
fsCSpineTextureLoader.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: fsCSpineTextureLoader.h
4*
5* Purpose: Load Spine atlas pages as backend-neutral Fission brushes.
6*
7*********************************************************************/
8
9#ifndef fsCSpineTextureLoaderhdr
10#define fsCSpineTextureLoaderhdr
11
12#include <memory>
13#include <utility>
14
16
17#include <spine/TextureLoader.h>
18
19class fsCBrush;
20
21namespace spine
22{
23 class TextureRegion;
24}
25
26class fsCSpineTextureLoader final : public spine::TextureLoader
27{
28public:
29 static std::shared_ptr<fsCBrush> brushGet(const spine::TextureRegion* pRegion);
30 static fsBool premultipliedAlphaGet(const spine::TextureRegion* pRegion);
31
32 fsCSpineTextureLoader(fsCResourceName::eResourceLocation pResourceLocation, fsBool pCreateHitMap);
33 ~fsCSpineTextureLoader() override = default;
34
35 void load(spine::AtlasPage& pPage, const spine::String& pPath) override;
36 void unload(void* pTexture) override;
37
38private:
39 struct fsSTexture
40 {
41 fsSTexture(std::shared_ptr<fsCBrush> pBrush, fsBool pPremultipliedAlpha) :
42 mBrush(std::move(pBrush)),
43 mPremultipliedAlpha(pPremultipliedAlpha)
44 {
45 }
46 std::shared_ptr<fsCBrush> mBrush;
47 fsBool mPremultipliedAlpha;
48 };
49
50 fsCResourceName::eResourceLocation mResourceLocation;
51 fsBool mCreateHitMap;
52};
53
54#endif
Definition fsCBrush.h:26
eResourceLocation
Definition fsCResourceName.h:36
~fsCSpineTextureLoader() override=default
fsCSpineTextureLoader(fsCResourceName::eResourceLocation pResourceLocation, fsBool pCreateHitMap)
Definition fsCSpineTextureLoader.cpp:65
void load(spine::AtlasPage &pPage, const spine::String &pPath) override
Definition fsCSpineTextureLoader.cpp:72
static std::shared_ptr< fsCBrush > brushGet(const spine::TextureRegion *pRegion)
Definition fsCSpineTextureLoader.cpp:50
static fsBool premultipliedAlphaGet(const spine::TextureRegion *pRegion)
Definition fsCSpineTextureLoader.cpp:59
void unload(void *pTexture) override
Definition fsCSpineTextureLoader.cpp:98
bool fsBool
Definition fsBaseTypes.h:26
Definition fsCAnimatingSpriteSpine.h:20
Definition doctest.h:522