#ifndef id0ADBCC15BA574485BF3267254090D99B #define id0ADBCC15BA574485BF3267254090D99B #include "primitivetypes.hpp" #include "components/tileiterator.hpp" #include "components/layer.hpp" namespace dk { template class Layer; template class Viewport { public: typedef Vector coords; typedef typename Layer::iterator iterator; explicit Viewport ( Layer& parLayer ); Viewport ( Layer& parLayer, const coords& parSize, const coords& parPos ); ~Viewport ( void ) noexcept = default; Viewport& operator= ( const Viewport& ) = default; void setSize ( const coords& parSize ) { m_size = parSize; } void setFrom ( const coords& parFrom ) { m_position = parFrom; } private: coords m_size; coords m_position; Layer& m_layer; }; } //namespace dk #include "implem/viewport.inl" #endif