00001 00009 #ifndef TEXDB_H 00010 #define TEXDB_H 00011 00012 #include "MiscUtils.H" 00013 00014 // Gluebase includes 00015 #define OUTSIDE_GLUE_CORE 00016 #include <std/strings.H> 00017 00018 namespace InSpace { 00019 00020 class Texture; 00021 00022 class TEXDB 00023 { 00024 public: 00025 00026 static Texture* get(str_ptr name); 00027 00028 static int num(); 00029 static str_ptr getName(int n); 00030 00031 static void loadTextures(char *filelist); 00032 // called automatically from Texture::new() 00033 static void add(Texture *tex) { _textures += tex; } 00034 static void remove(Texture *tex) { _textures -= tex; } 00035 00036 static void contextInit(); 00037 00038 protected: 00039 00040 static ARRAY<Texture*> _textures; 00041 00042 }; 00043 00044 00045 } 00046 #endif