E:/Eigene Dateien/Eigene Projekte/c0re/Texture.h

Go to the documentation of this file.
00001 /*
00002         This file is part of c0re.
00003 
00004         c0re is a multiplayer RTS on a hexagonal map with an evolving unit concept.
00005     Copyright (C) 2007 Stephan Hofmann
00006 
00007     c0re is free software: you can redistribute it and/or modify
00008     it under the terms of the GNU General Public License as published by
00009     the Free Software Foundation, either version 3 of the License, or
00010     (at your option) any later version.
00011 
00012     This program is distributed in the hope that it will be useful,
00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015     GNU General Public License for more details.
00016 
00017     You should have received a copy of the GNU General Public License
00018     along with this program.  If not, see <http://www.gnu.org/licenses/>.
00019 */
00020 
00021 #ifndef _TEXTURE_H_
00022 #define _TEXTURE_H_
00023 
00024 #include <string>
00025 #include <map>
00026 
00027 #include "TextureInterface.h"
00028 
00029 class Field;
00030 class Button;
00031 
00035 class Texture
00036 {
00037 public:
00041         Texture();
00042 
00046         virtual ~Texture();
00047 
00055         int loadAndBind(std::string p_filename, eTextureModification p_modifikationflag = TM_Masked_Normal);
00056 
00062         virtual int render();
00063 
00070         static Texture* get(int p_id);
00071 
00077         virtual Field* getField();
00078 
00084         virtual Button* getButton();
00085 
00089         int id;
00090 
00094         int sequence;
00095 
00099         int sequenceCount;
00100 
00101 protected:
00105         TextureInterface* myTexture;
00106 
00110         double ratio;
00111 
00112 private:
00116         static std::map<std::string, TextureInterface*> cachedTextures;
00117 
00121         static int idCounter;
00122 
00126         static std::map<int, Texture*> allItems;
00127 };
00128 
00129 
00130 #endif

Generated on Tue Jul 17 22:02:22 2007 for C0re by  doxygen 1.5.2