NLS Engine  v0.1
The Next Logical Step in game engine design.
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines
TexturesSystemInterface.h
Go to the documentation of this file.
00001 
00010 #pragma once
00011 
00012 // Standard Includes
00013 
00014 // Library Includes
00015 
00016 // Local Includes
00017 #include "../../sharedbase/Envelope_fwd.h"
00018 
00019 // Forward Declarations
00020 namespace GraphicsCore {
00021   class RenderModule;
00022   class TextureInterface;
00023 }
00024 
00025 // Typedefs
00026 
00027 // Constants
00028 
00029 // Classes
00030 namespace GraphicsCore {
00031   class TexturesSystemInterface {
00032     friend class TextureAdjustable;
00033     
00034   public:
00035     virtual ~TexturesSystemInterface() {}
00036     
00037     virtual bool InsertTexture(unsigned int, EnvelopeSPTR) = 0;
00038     virtual bool RemoveTexture(unsigned int) = 0;
00039     
00040   protected:
00041     static TextureInterface* CreateTexture(EnvelopeSPTR, RenderModule*);
00042     
00043   public:
00044     static void DestroyTexture(TextureInterface*);
00045     
00046   private:
00047     TexturesSystemInterface& operator=(const TexturesSystemInterface&); 
00048     
00049   private:
00050     
00051   };
00052 }