MSPUBParser97.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 part of the libmspub 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 INCLUDED_MSPUBPARSER97_H
11 #define INCLUDED_MSPUBPARSER97_H
12 
13 #include <vector>
14 
15 #include "MSPUBParser2k.h"
16 
17 namespace libmspub
18 {
20 {
21  struct TextInfo97
22  {
23  std::vector<unsigned char> m_chars;
24  std::vector<unsigned> m_paragraphEnds;
25  std::vector<unsigned> m_shapeEnds;
26  TextInfo97(const std::vector<unsigned char> &chars,
27  const std::vector<unsigned> &paragraphEnds,
28  const std::vector<unsigned> &shapeEnds)
29  : m_chars(chars), m_paragraphEnds(paragraphEnds),
30  m_shapeEnds(shapeEnds)
31  {
32  }
33  };
34 
35  struct SpanInfo97
36  {
37  unsigned m_spanEnd;
39  SpanInfo97(unsigned spanEnd, const CharacterStyle &style)
40  : m_spanEnd(spanEnd), m_style(style)
41  {
42  }
43  };
44 
45  bool m_isBanner;
46 
47  bool parseDocument(librevenge::RVNGInputStream *input) override;
48  int translateCoordinateIfNecessary(int coordinate) const override;
49  unsigned getFirstLineOffset() const override;
50  unsigned getSecondLineOffset() const override;
51  unsigned getShapeFillTypeOffset() const override;
52  unsigned getShapeFillColorOffset() const override;
53  unsigned short getTextMarker() const override;
54  unsigned getTextIdOffset() const override;
55  CharacterStyle readCharacterStyle(librevenge::RVNGInputStream *input,
56  unsigned length);
57  void parseContentsTextIfNecessary(librevenge::RVNGInputStream *input) override;
58  std::vector<SpanInfo97> getSpansInfo(librevenge::RVNGInputStream *input,
59  unsigned prop1Index, unsigned prop2Index, unsigned prop3Index,
60  unsigned prop3End);
61  TextInfo97 getTextInfo(librevenge::RVNGInputStream *input, unsigned length);
62 public:
63  MSPUBParser97(librevenge::RVNGInputStream *input, MSPUBCollector *collector);
64  bool parse() override;
65 };
66 }
67 
68 #endif // INCLUDED_MSPUBPARSER97_H
69 
70 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
Definition: MSPUBCollector.h:45
Definition: MSPUBParser2k.h:24
Definition: MSPUBParser97.h:20
unsigned getFirstLineOffset() const override
Definition: MSPUBParser97.cpp:274
unsigned short getTextMarker() const override
Definition: MSPUBParser97.cpp:30
bool parseDocument(librevenge::RVNGInputStream *input) override
Definition: MSPUBParser97.cpp:56
unsigned getShapeFillTypeOffset() const override
Definition: MSPUBParser97.cpp:284
void parseContentsTextIfNecessary(librevenge::RVNGInputStream *input) override
Definition: MSPUBParser97.cpp:72
bool m_isBanner
Definition: MSPUBParser97.h:45
MSPUBParser97(librevenge::RVNGInputStream *input, MSPUBCollector *collector)
Definition: MSPUBParser97.cpp:24
unsigned getShapeFillColorOffset() const override
Definition: MSPUBParser97.cpp:289
CharacterStyle readCharacterStyle(librevenge::RVNGInputStream *input, unsigned length)
Definition: MSPUBParser97.cpp:198
unsigned getSecondLineOffset() const override
Definition: MSPUBParser97.cpp:279
bool parse() override
Definition: MSPUBParser97.cpp:40
unsigned getTextIdOffset() const override
Definition: MSPUBParser97.cpp:35
int translateCoordinateIfNecessary(int coordinate) const override
Definition: MSPUBParser97.cpp:265
std::vector< SpanInfo97 > getSpansInfo(librevenge::RVNGInputStream *input, unsigned prop1Index, unsigned prop2Index, unsigned prop3Index, unsigned prop3End)
Definition: MSPUBParser97.cpp:151
TextInfo97 getTextInfo(librevenge::RVNGInputStream *input, unsigned length)
Definition: MSPUBParser97.cpp:240
Definition: Arrow.h:14
Definition: MSPUBTypes.h:113
Definition: MSPUBParser97.h:36
unsigned m_spanEnd
Definition: MSPUBParser97.h:37
SpanInfo97(unsigned spanEnd, const CharacterStyle &style)
Definition: MSPUBParser97.h:39
CharacterStyle m_style
Definition: MSPUBParser97.h:38
Definition: MSPUBParser97.h:22
std::vector< unsigned > m_paragraphEnds
Definition: MSPUBParser97.h:24
std::vector< unsigned char > m_chars
Definition: MSPUBParser97.h:23
TextInfo97(const std::vector< unsigned char > &chars, const std::vector< unsigned > &paragraphEnds, const std::vector< unsigned > &shapeEnds)
Definition: MSPUBParser97.h:26
std::vector< unsigned > m_shapeEnds
Definition: MSPUBParser97.h:25

Generated for libmspub by doxygen 1.9.1