FotoSHOCK
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
ImageBufferBase.hpp
1 /*
2  * Copyright 2011, 2012 Lukas Jirkovsky
3  *
4  * This file is part of FotoSHOCKcore.
5  *
6  * FotoSHOCKcore is free software: you can redistribute it and/or modify it
7  * under the terms of the GNU Lesser General Public License as published by
8  * the Free Software Foundation, version 3 of the License.
9  *
10  * FotoSHOCKcore is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with FotoSHOCKcore. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 #ifndef IMAGEBUFFERBASE_H
20 #define IMAGEBUFFERBASE_H
21 
22 #include "PixelData.hpp"
23 
24 namespace FotoSHOCKcore{
25 
27 
36  public:
37  virtual ~ImageBufferBase();
38 
40 
44  const PixelData& getPixelData() const;
46 
49  const unsigned int getWidth() const;
51 
54  const unsigned int getHeight() const;
55 
57 
60  const unsigned int getTileExtent() const;
62 
65  const unsigned int getNumOfTilesHoriz() const;
67 
70  const unsigned int getNumOfTilesVert() const;
71 
73 
81  const long newStamp();
82  protected:
84 
88 
89  PixelData m_pixelData;
90  unsigned int m_width;
91  unsigned int m_height;
92  unsigned int m_tileExtent;
93  unsigned int m_numOfTilesHorizontal;
94  unsigned int m_numOfTilesVertical;
95  long m_stamp;
96 };
97 
98 }
99 
100 #endif