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