FotoSHOCK
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Pages
src
core
MipMap.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 MIPMAP_H
20
#define MIPMAP_H
21
22
#include "ImageBufferBase.hpp"
23
24
namespace
FotoSHOCKcore {
25
27
32
class
MipMap
{
33
public
:
35
static
const
int
MIPMAP_LEVELS
= 3;
36
38
41
MipMap
();
43
53
MipMap
(
unsigned
int
width,
unsigned
int
height,
PixelData
format,
unsigned
int
tileExtent,
bool
allocateTiles =
true
);
55
61
MipMap
(
const
MipMap
&other);
63
76
MipMap
(
ImageBufferBase
* buffer);
77
79
83
~MipMap
();
84
86
MipMap
&
operator=
(
const
MipMap
& other);
88
94
ImageBufferBase
*
operator[]
(
int
level);
98
const
ImageBufferBase
*
operator[]
(
int
level)
const
;
99
101
104
const
PixelData
getPixelData
()
const
;
106
110
const
long
newStamp
();
111
private
:
112
ImageBufferBase
* m_mipmap[
MIPMAP_LEVELS
];
113
long
m_stamp;
114
};
115
116
}
117
118
#endif
Generated on Sat Jun 29 2013 14:25:18 for FotoSHOCK by
1.8.4