00001 /*************************************************************************** 00002 texture.h 00003 ------------------- 00004 begin : 2004-04-16 00005 copyright : (C) 2004-2005 by Michael Menne 00006 email : menne@users.sourceforge.net 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 This program is free software; you can redistribute it and/or 00011 modify it under the terms of the GNU General Public License 00012 as published by the Free Software Foundation; either version 2 00013 of the License, or (at your option) any later version. 00014 00015 This program is distributed in the hope that it will be useful, 00016 but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 GNU General Public License for more details. 00019 00020 You should have received a copy of the GNU General Public License 00021 along with this program; if not, write to the Free Software 00022 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00023 ***************************************************************************/ 00024 00025 #ifndef TEXTURE_H 00026 #define TEXTURE_H 00027 00028 #include "global.h" 00029 00030 namespace WDS 00031 { 00032 00037 class CTexture 00038 { 00039 public: 00040 CTexture( string strName ); 00041 virtual ~CTexture(); 00042 00043 void Bind() const; 00044 00045 string GetName() { return m_strName; } 00046 int GetRefCount() { return m_nRefCount; } 00047 00048 // Gibt die Breite und Höhe der Textur zurück 00049 int GetWidth() { return m_nWidth; } 00050 int GetHeigth() { return m_nHeigth; } 00051 00052 // Gibt die Größe der Texturen vor der Skalierung auf eine Breite/Höhe mit 2^x zurück 00053 int GetOriginalWidth() { return m_nOriginalWidth; } 00054 int GetOriginalHeigth() { return m_nOriginalHeigth; } 00055 00056 protected: 00057 void IncRefCount(); 00058 void DecRefCount(); 00059 00060 string m_strName; 00061 UINT m_nTexureID; 00062 00063 int m_nWidth; // Breite und Höhe der Textur 00064 int m_nHeigth; 00065 int m_nOriginalWidth; // Breite und Höhe der Textur vor der Skalierung 00066 int m_nOriginalHeigth; 00067 00068 int m_nRefCount; // Zeigt an, wie oft die Textur verwendet wird 00069 00070 // Renderer ist unser Freund 00071 friend class CGLCanvas; 00072 }; 00073 00074 } 00075 00076 #endif // TEXTURE_H 00077 00078 // kate: space-indent off; tab-width 4; replace-tabs off;