Main Page | Class List | File List | Class Members | Related Pages

texture.h

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;

Generated on Sun Jan 16 18:20:26 2005 for WDSMap by  doxygen 1.3.9.1