Main Page
Namespaces
Classes
Files
File List
File Members
MSPUBParser97.h
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/* libmspub
3
* Version: MPL 1.1 / GPLv2+ / LGPLv2+
4
*
5
* The contents of this file are subject to the Mozilla Public License Version
6
* 1.1 (the "License"); you may not use this file except in compliance with
7
* the License or as specified alternatively below. You may obtain a copy of
8
* the License at http://www.mozilla.org/MPL/
9
*
10
* Software distributed under the License is distributed on an "AS IS" basis,
11
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12
* for the specific language governing rights and limitations under the
13
* License.
14
*
15
* Major Contributor(s):
16
* Copyright (C) 2012 Brennan Vincent <brennanv@email.arizona.edu>
17
*
18
* All Rights Reserved.
19
*
20
* For minor contributions see the git repository.
21
*
22
* Alternatively, the contents of this file may be used under the terms of
23
* either the GNU General Public License Version 2 or later (the "GPLv2+"), or
24
* the GNU Lesser General Public License Version 2 or later (the "LGPLv2+"),
25
* in which case the provisions of the GPLv2+ or the LGPLv2+ are applicable
26
* instead of those above.
27
*/
28
29
#ifndef __MSPUBPARSER97_H__
30
#define __MSPUBPARSER97_H__
31
32
#include "
MSPUBParser2k.h
"
33
34
namespace
libmspub
35
{
36
class
MSPUBParser97
:
public
MSPUBParser2k
37
{
38
struct
TextInfo97
39
{
40
std::vector<unsigned char>
m_chars
;
41
std::vector<unsigned>
m_paragraphEnds
;
42
std::vector<unsigned>
m_shapeEnds
;
43
TextInfo97
(
const
std::vector<unsigned char> &chars,
44
const
std::vector<unsigned> ¶graphEnds,
45
const
std::vector<unsigned> &shapeEnds)
46
:
m_chars
(chars),
m_paragraphEnds
(paragraphEnds),
47
m_shapeEnds
(shapeEnds)
48
{
49
}
50
};
51
52
struct
SpanInfo97
53
{
54
unsigned
m_spanEnd
;
55
CharacterStyle
m_style
;
56
SpanInfo97
(
unsigned
spanEnd,
const
CharacterStyle
&style)
57
:
m_spanEnd
(spanEnd),
m_style
(style)
58
{
59
}
60
};
61
62
bool
m_isBanner
;
63
64
bool
parseDocument
(WPXInputStream *input);
65
int
translateCoordinateIfNecessary
(
int
coordinate)
const
;
66
unsigned
getFirstLineOffset
()
const
;
67
unsigned
getSecondLineOffset
()
const
;
68
unsigned
getShapeFillTypeOffset
()
const
;
69
unsigned
getShapeFillColorOffset
()
const
;
70
unsigned
short
getTextMarker
()
const
;
71
unsigned
getTextIdOffset
()
const
;
72
CharacterStyle
readCharacterStyle
(WPXInputStream *input,
73
unsigned
length);
74
void
parseContentsTextIfNecessary
(WPXInputStream *input);
75
std::vector<SpanInfo97>
getSpansInfo
(WPXInputStream *input,
76
unsigned
prop1Index,
unsigned
prop2Index,
unsigned
prop3Index,
77
unsigned
prop3End);
78
TextInfo97
getTextInfo
(WPXInputStream *input,
unsigned
length);
79
public
:
80
MSPUBParser97
(WPXInputStream *input,
MSPUBCollector
*collector);
81
bool
parse
();
82
};
83
}
84
85
#endif // __MSPUBPARSER97_H__
86
87
/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
Generated for libmspub by
doxygen
1.8.3.1