Added easy loading of texture atlases from the texture atlas manager.

This commit is contained in:
spartanj@gmail.com
2012-12-09 21:41:35 -03:00
parent 8f9df74af5
commit 398a305ff0
5 changed files with 48 additions and 2 deletions

View File

@@ -26,6 +26,8 @@ class EE_API cTextureAtlasLoader {
cTextureAtlasLoader( cPack * Pack, const std::string& FilePackPath, const bool& Threaded = false, GLLoadCallback LoadCallback = GLLoadCallback() );
cTextureAtlasLoader( cIOStream& IOS, const bool& Threaded = false, GLLoadCallback LoadCallback = GLLoadCallback() );
~cTextureAtlasLoader();
void Update();

View File

@@ -15,6 +15,14 @@ class EE_API cTextureAtlasManager : public tResourceManager<cTextureAtlas> {
virtual ~cTextureAtlasManager();
cTextureAtlas * Load( const std::string& TextureAtlasPath );
cTextureAtlas * LoadFromStream( cIOStream& IOS );
cTextureAtlas * LoadFromMemory( const Uint8* Data, const Uint32& DataSize, const std::string& TextureAtlasName );
cTextureAtlas * LoadFromPack( cPack * Pack, const std::string& FilePackPath );
cSubTexture * GetSubTextureByName( const std::string& Name );
cSubTexture * GetSubTextureById( const Uint32& Id );

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by Qt Creator 2.6.0, 2012-12-09T19:50:51. -->
<!-- Written by Qt Creator 2.6.0, 2012-12-09T21:41:07. -->
<qtcreator>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>

View File

@@ -61,6 +61,18 @@ cTextureAtlasLoader::cTextureAtlasLoader( cPack * Pack, const std::string& FileP
LoadFromPack( Pack, FilePackPath );
}
cTextureAtlasLoader::cTextureAtlasLoader( cIOStream& IOS, const bool& Threaded, GLLoadCallback LoadCallback ) :
mThreaded( Threaded ),
mLoaded(false),
mPack(NULL),
mSkipResourceLoad(false),
mIsLoading(false),
mTextureAtlas(NULL),
mLoadCallback( LoadCallback )
{
LoadFromStream( IOS );
}
cTextureAtlasLoader::~cTextureAtlasLoader()
{
}

View File

@@ -1,6 +1,6 @@
#include <eepp/graphics/ctextureatlasmanager.hpp>
#include <eepp/graphics/cglobaltextureatlas.hpp>
#include <eepp/graphics/ctextureatlasloader.hpp>
namespace EE { namespace Graphics {
SINGLETON_DECLARE_IMPLEMENTATION(cTextureAtlasManager)
@@ -15,6 +15,30 @@ cTextureAtlasManager::cTextureAtlasManager() :
cTextureAtlasManager::~cTextureAtlasManager() {
}
cTextureAtlas * cTextureAtlasManager::Load( const std::string& TextureAtlasPath ) {
cTextureAtlasLoader loader( TextureAtlasPath );
return loader.GetTextureAtlas();
}
cTextureAtlas * cTextureAtlasManager::LoadFromStream( cIOStream& IOS ) {
cTextureAtlasLoader loader( IOS );
return loader.GetTextureAtlas();
}
cTextureAtlas * cTextureAtlasManager::LoadFromMemory( const Uint8* Data, const Uint32& DataSize, const std::string& TextureAtlasName ) {
cTextureAtlasLoader loader( Data, DataSize, TextureAtlasName );
return loader.GetTextureAtlas();
}
cTextureAtlas * cTextureAtlasManager::LoadFromPack( cPack * Pack, const std::string& FilePackPath ) {
cTextureAtlasLoader loader( Pack, FilePackPath );
return loader.GetTextureAtlas();
}
cSubTexture * cTextureAtlasManager::GetSubTextureByName( const std::string& Name ) {
cSubTexture * tSubTexture = GetSubTextureById( String::Hash( Name ) );