#include <TextureDatabase.h>
Collaboration diagram for pge::TextureDatabase:
Public Member Functions | |
~TextureDatabase (void) | |
Destructor. | |
void | destroy (void) |
Texture * | getDefaultTexture (void) |
Texture * | addTexture (const std::string &filename) |
Texture * | addTexture (const std::string &filename, const std::string &name, bool mipmap, bool alpha) |
Texture * | addTexture (const std::string &filename, const std::string &name, bool mipmap, GLuint wrapS, GLuint wrapT, GLuint minFilter, GLuint magFilter, bool alpha, int alphaRed, int alphaGreen, int alphaBlue) |
bool | containsTexture (const std::string &name) |
Texture * | getTextureByName (const std::string &name) |
Static Public Member Functions | |
TextureDatabase * | getInstance (void) |
Private Member Functions | |
TextureDatabase (void) | |
Constructor. | |
Private Attributes | |
std::vector< Texture * > | m_textureList |
TextureResourceFile * | m_resFile |
Texture * | m_defaultTexture |
|
Destructor.
Definition at line 36 of file TextureDatabase.cpp. References destroy().
00036 { 00037 destroy(); 00038 } |
Here is the call graph for this function:
|
Constructor.
Definition at line 19 of file TextureDatabase.cpp. References DEFAULT_TEXTURE_FILE, m_defaultTexture, m_resFile, m_textureList, TEXTURE_PREFIX, and TEXTURE_RESOURCE_FILE.
00019 { 00020 m_textureList = std::vector<Texture*>(); 00021 00022 m_resFile = new TextureResourceFile(TEXTURE_RESOURCE_FILE); 00023 00024 m_defaultTexture = TextureFactory::createTexture2D(TEXTURE_PREFIX.append(DEFAULT_TEXTURE_FILE), "default", true); 00025 if(m_defaultTexture == NULL) { 00026 printf("WARNING: [%s] Could not load default texture!\n", __FILE__); 00027 } 00028 } |
|
Definition at line 169 of file TextureDatabase.cpp. References containsTexture(), getTextureByName(), m_defaultTexture, m_textureList, and TEXTURE_PREFIX.
00171 { 00172 00173 if(containsTexture(name)) { 00174 return getTextureByName(name); 00175 } 00176 00177 Texture *tex; 00178 00179 tex = TextureFactory::createTexture2D(TEXTURE_PREFIX.append(filename), name, mipmap, alpha, alphaRed, alphaGreen, 00180 alphaBlue, minFilter, magFilter, wrapS, wrapT); 00181 00182 if(tex != NULL) { 00183 m_textureList.push_back(tex); 00184 return tex; 00185 } else { 00186 return m_defaultTexture; 00187 } 00188 } |
Here is the call graph for this function:
|
Here is the call graph for this function:
|
Definition at line 94 of file TextureDatabase.cpp. References containsTexture(), pge::TextureResourceFile::getResource(), getTextureByName(), pge::TextureResourceFile::hasResource(), pge::TextureResourceFile::TextureResource::m_alphaBlue, pge::TextureResourceFile::TextureResource::m_alphaEnabled, pge::TextureResourceFile::TextureResource::m_alphaGreen, pge::TextureResourceFile::TextureResource::m_alphaRed, m_defaultTexture, pge::TextureResourceFile::TextureResource::m_doMipmap, pge::TextureResourceFile::TextureResource::m_magFilter, pge::TextureResourceFile::TextureResource::m_minFilter, m_resFile, m_textureList, pge::TextureResourceFile::TextureResource::m_wrapS, pge::TextureResourceFile::TextureResource::m_wrapT, and TEXTURE_PREFIX.
00094 { 00095 if(containsTexture(filename)) { 00096 return getTextureByName(filename); 00097 } 00098 00099 Texture *tex; 00100 00101 // If there is a texture resource defined. 00102 if(m_resFile->hasResource(filename)) { 00103 TextureResourceFile::TextureResource res = m_resFile->getResource(filename); 00104 00105 tex = TextureFactory::createTexture2D(TEXTURE_PREFIX.append(filename), filename, res.m_doMipmap, res.m_alphaEnabled, 00106 res.m_alphaRed, res.m_alphaGreen, res.m_alphaBlue, res.m_minFilter, 00107 res.m_magFilter, res.m_wrapS, res.m_wrapT); 00108 } else { 00109 tex = TextureFactory::createTexture2D(TEXTURE_PREFIX.append(filename), filename, true); 00110 } 00111 00112 if(tex != NULL) { 00113 m_textureList.push_back(tex); 00114 return tex; 00115 } else { 00116 return m_defaultTexture; 00117 } 00118 } |
Here is the call graph for this function:
|
Definition at line 196 of file TextureDatabase.cpp. References pge::Texture::getName(), and m_textureList. Referenced by addTexture().
00196 { 00197 std::vector<Texture*>::iterator it; 00198 00199 00200 for(it = m_textureList.begin(); it != m_textureList.end(); it++) { 00201 Texture *t = *it; 00202 if(t->getName().compare(name) == 0) { 00203 return true; 00204 } 00205 } 00206 return false; 00207 } |
Here is the call graph for this function:
|
Definition at line 57 of file TextureDatabase.cpp. References m_defaultTexture, m_resFile, and m_textureList. Referenced by ~TextureDatabase().
00057 { 00058 std::vector<Texture*>::iterator it; 00059 00060 00061 for(it = m_textureList.begin(); it != m_textureList.end(); it++) { 00062 if(*it != NULL) { 00063 delete *it; 00064 } 00065 } 00066 00067 if(m_defaultTexture != NULL) { 00068 delete m_defaultTexture; 00069 m_defaultTexture = NULL; 00070 } 00071 00072 if(m_resFile != NULL) { 00073 delete m_resFile; 00074 m_resFile = NULL; 00075 } 00076 } |
|
Definition at line 84 of file TextureDatabase.cpp. References m_defaultTexture.
00084 { 00085 return m_defaultTexture; 00086 } |
|
Definition at line 46 of file TextureDatabase.cpp.
00046 { 00047 static TextureDatabase instance; 00048 return &instance; 00049 } |
|
Definition at line 215 of file TextureDatabase.cpp. References pge::Texture::getName(), and m_textureList. Referenced by addTexture().
00215 { 00216 std::vector<Texture*>::iterator it; 00217 00218 00219 for(it = m_textureList.begin(); it != m_textureList.end(); it++) { 00220 Texture *t = *it; 00221 if(t->getName().compare(name) == 0) { 00222 return t; 00223 } 00224 } 00225 00226 return NULL; 00227 } |
Here is the call graph for this function:
|
Definition at line 70 of file TextureDatabase.h. Referenced by addTexture(), destroy(), getDefaultTexture(), and TextureDatabase(). |
|
Definition at line 69 of file TextureDatabase.h. Referenced by addTexture(), destroy(), and TextureDatabase(). |
|
Definition at line 67 of file TextureDatabase.h. Referenced by addTexture(), containsTexture(), destroy(), getTextureByName(), and TextureDatabase(). |