BMIHeader.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /*
3  * This file is a part of the libzmf project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  */
9 
10 #ifndef BMIHEADER_H_INCLUDED
11 #define BMIHEADER_H_INCLUDED
12 
13 #include "libzmf_utils.h"
14 #include "BMITypes.h"
15 #include <vector>
16 
17 namespace libzmf
18 {
19 
20 class BMIHeader
21 {
22 public:
23  BMIHeader();
24 
25  bool load(const RVNGInputStreamPtr &input);
26 
27  bool isSupported() const;
28 
29  unsigned size() const;
30 
31  unsigned startOffset() const;
32 
33  unsigned width() const;
34  unsigned height() const;
35 
36  bool isPaletteMode() const;
37 
38  unsigned colorDepth() const;
39 
40  unsigned paletteColorCount() const;
41 
42  const std::vector<BMIOffset> &offsets() const;
43 
44 private:
45  void readOffsets(const RVNGInputStreamPtr &input, uint16_t offsetCount);
46 
47  std::string m_signature;
48 
49  unsigned m_size;
50 
51  unsigned m_startOffset;
52 
53  unsigned m_width;
54  unsigned m_height;
55 
57 
58  unsigned m_colorDepth;
59 
60  std::vector<BMIOffset> m_offsets;
61 };
62 
63 }
64 
65 #endif // BMIHEADER_H_INCLUDED
66 
67 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
std::string m_signature
Definition: BMIHeader.h:47
unsigned colorDepth() const
Definition: BMIHeader.cpp:92
unsigned m_startOffset
Definition: BMIHeader.h:51
BMIHeader()
Definition: BMIHeader.cpp:16
unsigned m_width
Definition: BMIHeader.h:53
unsigned height() const
Definition: BMIHeader.cpp:82
unsigned m_colorDepth
Definition: BMIHeader.h:58
unsigned width() const
Definition: BMIHeader.cpp:77
std::vector< BMIOffset > m_offsets
Definition: BMIHeader.h:60
std::shared_ptr< librevenge::RVNGInputStream > RVNGInputStreamPtr
Definition: libzmf_utils.h:72
unsigned m_size
Definition: BMIHeader.h:49
unsigned paletteColorCount() const
Definition: BMIHeader.cpp:97
Definition: BMIHeader.cpp:13
unsigned size() const
Definition: BMIHeader.cpp:67
Definition: BMIHeader.h:20
bool m_isPaletteMode
Definition: BMIHeader.h:56
bool isSupported() const
Definition: BMIHeader.cpp:63
bool load(const RVNGInputStreamPtr &input)
Definition: BMIHeader.cpp:28
unsigned m_height
Definition: BMIHeader.h:54
bool isPaletteMode() const
Definition: BMIHeader.cpp:87
void readOffsets(const RVNGInputStreamPtr &input, uint16_t offsetCount)
Definition: BMIHeader.cpp:107
unsigned startOffset() const
Definition: BMIHeader.cpp:72
const std::vector< BMIOffset > & offsets() const
Definition: BMIHeader.cpp:102

Generated for libzmf by doxygen 1.8.11