123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #pragma once
- #include "Array.h"
- #include "Critical.h"
- namespace Framework
- {
- class Textur; //! Textur.h
- //! Verwaltet alle geladenen Texturdaten, so dass mehrere Zeichnungen die selben Daten benutzen können
- class TexturList : public virtual ReferenceCounter
- {
- private:
- static int id;
- static Critical cs;
- RCArray< Textur > *textures;
- RCArray< Text > *names;
- public:
- //! Konstruktor
- TexturList();
- //! Destruktor
- ~TexturList();
- //! Löscht alle Texturen
- DLLEXPORT void leeren();
- //! Fügt der Liste eine Textur hinzu
- //! \param t Die Textur
- //! \param name Der name, unter dem die Textur in der Liste gespeichert wird
- DLLEXPORT bool addTextur( Textur *t, const char *name );
- //! Entfernt eine Textur aus der Liste
- //! \param name Der Name der Textur
- DLLEXPORT void removeTextur( const char *name );
- //! Überprüft, ob unter einem bestimmten Namen eine Textur abgespeichert wurde
- //! \param name Der Name
- //! \return true, wenn eine Textur mit dem Namen existiert
- DLLEXPORT bool hatTextur( const char *name ) const;
- //! Gibt eine bestimmte Textur zurück
- //! \param name Der Name der Textur
- DLLEXPORT Textur *getTextur( const char *name ) const;
- //! Gibt eine bestimmte Textur zurück
- //! \param id Die Id der Textur
- DLLEXPORT Textur *getTextur( int id ) const;
- //! Gibt eine bestimmte Textur ohne erhöhten Reference Counter zurück
- //! \param name Der Name der Textur
- DLLEXPORT Textur *zTextur( const char *name ) const;
- //! Gibt eine bestimmte Textur ohne erhöhten Reference Counter zurück
- //! \param id Die Id der Textur
- DLLEXPORT Textur *zTextur( int id ) const;
- //! Initialisiert statische private member. Wird vom Framework automatisch aufgerufen.
- static void init();
- //! Löscht statische private member. Wird vom Framework automatisch aufgerufen.
- static void destroy();
- };
- }
|