IZBuffer.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // Copyright (C) 2002-2012 Nikolaus Gebhardt
  2. // This file is part of the "Irrlicht Engine".
  3. // For conditions of distribution and use, see copyright notice in irrlicht.h
  4. #ifndef __I_Z_BUFFER_H_INCLUDED__
  5. #define __I_Z_BUFFER_H_INCLUDED__
  6. #include "IReferenceCounted.h"
  7. #include "dimension2d.h"
  8. #include "S2DVertex.h"
  9. namespace irr
  10. {
  11. namespace video
  12. {
  13. class IZBuffer : public virtual IReferenceCounted
  14. {
  15. public:
  16. //! destructor
  17. virtual ~IZBuffer() {};
  18. //! clears the zbuffer
  19. virtual void clear() = 0;
  20. //! sets the new size of the zbuffer
  21. virtual void setSize(const core::dimension2d<u32>& size) = 0;
  22. //! returns the size of the zbuffer
  23. virtual const core::dimension2d<u32>& getSize() const = 0;
  24. //! locks the zbuffer
  25. virtual TZBufferType* lock() = 0;
  26. //! unlocks the zbuffer
  27. virtual void unlock() = 0;
  28. };
  29. //! creates a ZBuffer
  30. IZBuffer* createZBuffer(const core::dimension2d<u32>& size);
  31. } // end namespace video
  32. } // end namespace irr
  33. #endif