RagTime5StructManager.hxx Source File documentation

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

RagTime5StructManager.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; c-default-style: "k&r"; indent-tabs-mode: nil; tab-width: 2; c-basic-offset: 2 -*- */
2
3 /* libmwaw
4 * Version: MPL 2.0 / LGPLv2+
5 *
6 * The contents of this file are subject to the Mozilla Public License Version
7 * 2.0 (the "License"); you may not use this file except in compliance with
8 * the License or as specified alternatively below. You may obtain a copy of
9 * the License at http://www.mozilla.org/MPL/
10 *
11 * Software distributed under the License is distributed on an "AS IS" basis,
12 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13 * for the specific language governing rights and limitations under the
14 * License.
15 *
16 * Major Contributor(s):
17 * Copyright (C) 2002 William Lachance (wrlach@gmail.com)
18 * Copyright (C) 2002,2004 Marc Maurer (uwog@uwog.net)
19 * Copyright (C) 2004-2006 Fridrich Strba (fridrich.strba@bluewin.ch)
20 * Copyright (C) 2006, 2007 Andrew Ziem
21 * Copyright (C) 2011, 2012 Alonso Laurent (alonso@loria.fr)
22 *
23 *
24 * All Rights Reserved.
25 *
26 * For minor contributions see the git repository.
27 *
28 * Alternatively, the contents of this file may be used under the terms of
29 * the GNU Lesser General Public License Version 2 or later (the "LGPLv2+"),
30 * in which case the provisions of the LGPLv2+ are applicable
31 * instead of those above.
32 */
33
34 #ifndef RAG_TIME_5_STRUCT_MANAGER
35 # define RAG_TIME_5_STRUCT_MANAGER
36
37 #include <ostream>
38 #include <sstream>
39 #include <string>
40 #include <vector>
41
42 #include "libmwaw_internal.hxx"
43 #include "MWAWDebug.hxx"
44 #include "MWAWEntry.hxx"
45 #include "MWAWGraphicStyle.hxx"
46
48 class RagTime5Zone
49 {
50 public:
52 enum FileType { F_Main, F_Data, F_Empty, F_Unknown };
54 RagTime5Zone(MWAWInputStreamPtr input, libmwaw::DebugFile &asc):
55 m_fileType(F_Unknown), m_subType(0), m_defPosition(0), m_entry(), m_name(""), m_hiLoEndian(true),
56 m_entriesList(), m_extra(""), m_isParsed(false),
57 m_input(input), m_defaultInput(true), m_asciiName(""), m_asciiFile(&asc), m_localAsciiFile()
58 {
59 for (int i=0; i<3; ++i) m_ids[i]=m_idsFlag[i]=0;
60 for (int i=0; i<2; ++i) m_kinds[i]="";
61 for (int i=0; i<2; ++i) m_variableD[i]=0;
62 }
64 virtual ~RagTime5Zone() {}
66 std::string getZoneName() const;
68 bool isHeaderZone() const
69 {
70 return (m_fileType==F_Data && m_ids[0]==0) ||
71 (m_fileType==F_Main && (m_ids[0]==1 || m_ids[0]==4 || m_ids[0]==5));
72 }
74 std::string getKindLastPart(bool main=true) const
75 {
76 std::string res(m_kinds[main ? 0 : 1]);
77 std::string::size_type pos = res.find_last_of(':');
78 if (pos == std::string::npos) return res;
79 return res.substr(pos+1);
80 }
81
83 friend std::ostream &operator<<(std::ostream &o, RagTime5Zone const &z);
85 MWAWInputStreamPtr getInput()
86 {
87 return m_input;
88 }
90 void setInput(MWAWInputStreamPtr input)
91 {
92 m_input = input;
93 m_defaultInput = false;
94 }
96 bool isMainInput() const
97 {
98 return m_defaultInput;
99 }
101 libmwaw::DebugFile &ascii()
102 {
103 if (!m_defaultInput && !m_localAsciiFile)
104 createAsciiFile();
105 return *m_asciiFile;
106 }
108 void setAsciiFileName(std::string const &name)
109 {
110 m_asciiName = name;
111 }
113 void createAsciiFile();
114
116 FileType m_fileType;
118 int m_subType;
120 long m_defPosition;
122 std::string m_kinds[2];
124 MWAWEntry m_entry;
126 std::string m_name;
128 bool m_hiLoEndian;
130 int m_ids[3];
132 int m_idsFlag[3];
134 std::vector<MWAWEntry> m_entriesList;
136 std::string m_extra;
138 int m_variableD[2];
140 bool m_isParsed;
141 protected:
143 MWAWInputStreamPtr m_input;
145 bool m_defaultInput;
147 std::string m_asciiName;
149 libmwaw::DebugFile *m_asciiFile;
151 shared_ptr<libmwaw::DebugFile> m_localAsciiFile;
152 private:
153 RagTime5Zone(RagTime5Zone const &orig);
154 RagTime5Zone &operator=(RagTime5Zone const &orig);
155 };
156
158 class RagTime5StructManager
159 {
160 public:
161 struct Field;
163 RagTime5StructManager();
165 ~RagTime5StructManager();
166
168 bool readTypeDefinitions(RagTime5Zone &zone);
170 bool readField(MWAWInputStreamPtr input, long endPos, libmwaw::DebugFile &ascFile,
171 Field &field, long fSz=0);
173 static bool readCompressedLong(MWAWInputStreamPtr &input, long endPos, long &val);
175 static bool readUnicodeString(MWAWInputStreamPtr input, long endPos, librevenge::RVNGString &string);
177 static bool readDataIdList(MWAWInputStreamPtr input, int n, std::vector<int> &listIds);
178
180 struct TabStop {
182 TabStop() : m_position(0), m_type(1), m_leader("")
183 {
184 }
186 friend std::ostream &operator<<(std::ostream &o, TabStop const &tab)
187 {
188 o << tab.m_position;
189 switch (tab.m_type) {
190 case 1:
191 break;
192 case 2:
193 o << "R";
194 break;
195 case 3:
196 o << "C";
197 break;
198 case 4:
199 o << "D";
200 break;
201 case 5: // Kintou Waritsuke: sort of center
202 o << "K";
203 break;
204 default:
205 o << ":#type=" << tab.m_type;
206 break;
207 }
208 if (!tab.m_leader.empty())
209 o << ":leader=" << tab.m_leader.cstr();
210 return o;
211 }
213 float m_position;
215 int m_type;
217 librevenge::RVNGString m_leader;
218 };
220 struct Field {
222 enum Type { T_Unknown, T_Bool, T_Double, T_Long, T_2Long, T_FieldList, T_LongList, T_DoubleList, T_TabList,
223 T_Code, T_Color, T_CondColor, T_PrintInfo, T_String, T_Unicode, T_ZoneId, T_LongDouble, T_Unstructured
224 };
225
227 Field() : m_type(T_Unknown), m_fileType(0), m_name(""), m_doubleValue(0), m_color(), m_string(""),
228 m_longList(), m_doubleList(), m_numLongByData(1), m_tabList(), m_fieldList(), m_entry(), m_extra("")
229 {
230 for (int i=0; i<2; ++i) m_longValue[i]=0;
231 }
233 ~Field()
234 {
235 }
237 friend std::ostream &operator<<(std::ostream &o, Field const &field);
239 Type m_type;
241 long m_fileType;
243 std::string m_name;
245 long m_longValue[2];
247 double m_doubleValue;
249 MWAWColor m_color;
251 librevenge::RVNGString m_string;
253 std::vector<long> m_longList;
255 std::vector<double> m_doubleList;
257 int m_numLongByData;
259 std::vector<TabStop> m_tabList;
261 std::vector<Field> m_fieldList;
263 MWAWEntry m_entry;
265 std::string m_extra;
266 };
268 struct FieldParser {
270 FieldParser(std::string const &zoneName) : m_regroupFields(false), m_name(zoneName) {}
272 virtual ~FieldParser() {}
274 virtual std::string getZoneName() const
275 {
276 return m_name;
277 }
279 virtual std::string getZoneName(int n) const
280 {
281 std::stringstream s;
282 s << m_name << "-" << n;
283 return s.str();
284 }
286 virtual bool parseField(Field &field, RagTime5Zone &/*zone*/, int /*n*/, libmwaw::DebugStream &f)
287 {
288 f << field;
289 return true;
290 }
292 bool m_regroupFields;
293 protected:
295 std::string m_name;
296 private:
297 FieldParser(FieldParser const &orig);
298 FieldParser &operator=(FieldParser const &orig);
299 };
301 struct DataParser {
303 DataParser(std::string const &zoneName) : m_name(zoneName) {}
305 virtual ~DataParser() {}
307 virtual std::string getZoneName() const
308 {
309 return m_name;
310 }
312 virtual std::string getZoneName(int n) const
313 {
314 std::stringstream s;
315 s << m_name << "-" << n;
316 return s.str();
317 }
319 virtual bool parseData(MWAWInputStreamPtr &/*input*/, long /*endPos*/, RagTime5Zone &/*zone*/, int /*n*/, libmwaw::DebugStream &/*f*/)
320 {
321 return true;
322 }
323 protected:
325 std::string m_name;
326 private:
327 DataParser(DataParser const &orig);
328 DataParser &operator=(DataParser const &orig);
329 };
331 struct GraphicStyle {
333 GraphicStyle() : m_parentId(-1), m_width(-1), m_dash(), m_pattern(), m_gradient(0), m_gradientRotation(0), m_gradientCenter(0.5f,0.5f),
334 m_position(2), m_cap(1), m_mitter(1), m_limitPercent(1), m_hidden(false), m_extra("")
335 {
336 m_colors[0]=MWAWColor::black();
337 m_colors[1]=MWAWColor::white();
338 m_colorsAlpha[0]=m_colorsAlpha[1]=1;
339 }
341 virtual ~GraphicStyle()
342 {
343 }
345 bool isDefault() const
346 {
347 return m_parentId<0 && m_width<0 && m_dash.empty() && !m_pattern &&
348 m_gradient==0 && m_gradientRotation<=0 && m_gradientRotation>=0 && m_gradientCenter!=MWAWVec2f(0.5f, 0.5f) &&
349 m_position==2 && m_cap==1 && m_mitter==1 &&
350 m_colors[0].isBlack() && m_colors[1].isWhite() && m_colorsAlpha[0]>=1 && m_colorsAlpha[1]>=1 &&
351 m_limitPercent>=1 && m_limitPercent<=1 && !m_hidden && m_extra.empty();
352 }
354 friend std::ostream &operator<<(std::ostream &o, GraphicStyle const &style);
356 bool read(MWAWInputStreamPtr &input, Field const &field);
358 int m_parentId;
360 float m_width;
362 MWAWColor m_colors[2];
364 float m_colorsAlpha[2];
366 std::vector<long> m_dash;
368 shared_ptr<MWAWGraphicStyle::Pattern> m_pattern;
370 int m_gradient;
372 float m_gradientRotation;
374 MWAWVec2f m_gradientCenter;
376 int m_position;
378 int m_cap;
380 int m_mitter;
382 float m_limitPercent;
384 bool m_hidden;
386 std::string m_extra;
387 };
389 struct TextStyle {
391 TextStyle() : m_linkIdList(),
392 m_dateStyleId(-1), m_graphStyleId(-1), m_graphLineStyleId(-1), m_keepWithNext(false), m_justify(-1), m_breakMethod(-1), m_tabList(),
393 m_fontName(""), m_fontId(-1), m_fontSize(-1), m_scriptPosition(0), m_fontScaling(-1), m_underline(-1), m_caps(-1), m_language(-1),
394 m_numColumns(-1), m_columnGap(-1), m_extra("")
395 {
396 m_parentId[0]=m_parentId[1]=-1;
397 m_fontFlags[0]=m_fontFlags[1]=0;
398 for (int i=0; i<3; ++i) {
399 m_margins[i]=-1;
400 m_spacings[i]=-1;
401 m_spacingUnits[i]=-1;
402 m_letterSpacings[i]=-1;
403 }
404 }
406 virtual ~TextStyle()
407 {
408 }
410 bool isDefault() const
411 {
412 if (m_parentId[0]>=0 || m_parentId[1]>=0 || !m_linkIdList.empty() ||
413 m_dateStyleId>=0 || m_graphStyleId>=0 || m_graphLineStyleId>=0 ||
414 m_keepWithNext.isSet() || m_justify>=0 || m_breakMethod>=0 || !m_tabList.empty() ||
415 !m_fontName.empty() || m_fontId>=0 || m_fontSize>=0 || m_fontFlags[0] || m_fontFlags[1] || m_scriptPosition.isSet() ||
416 m_fontScaling>=0 || m_underline>=0 || m_caps>=0 || m_language>=0 ||
417 m_numColumns>=0 || m_columnGap>=0 || !m_extra.empty())
418 return false;
419 for (int i=0; i<3; ++i) {
420 if (m_margins[i]>=0 || m_spacings[i]>=0 || m_spacingUnits[i]>=0 || m_letterSpacings[i]>=0)
421 return false;
422 }
423 return true;
424 }
426 friend std::ostream &operator<<(std::ostream &o, TextStyle const &style);
428 bool read(MWAWInputStreamPtr &input, Field const &field);
430 int m_parentId[2];
432 std::vector<int> m_linkIdList;
434 int m_dateStyleId;
436 int m_graphStyleId;
438 int m_graphLineStyleId;
439
440 // paragraph
441
443 MWAWVariable<bool> m_keepWithNext;
445 int m_justify;
447 double m_spacings[3];
449 int m_spacingUnits[3];
451 int m_breakMethod;
453 double m_margins[3];
455 std::vector<TabStop> m_tabList;
456
457 // character
458
460 librevenge::RVNGString m_fontName;
462 long m_fontId;
464 float m_fontSize;
466 uint32_t m_fontFlags[2];
468 MWAWVariable<float> m_scriptPosition;
470 float m_fontScaling;
472 int m_underline;
474 int m_caps;
476 int m_language;
478 double m_letterSpacings[3];
479
480 // column
481
483 int m_numColumns;
485 double m_columnGap;
486
488 std::string m_extra;
489 };
490
491 private:
492 RagTime5StructManager(RagTime5StructManager const &orig);
493 RagTime5StructManager operator=(RagTime5StructManager const &orig);
494 };
495
496 #endif
497 // vim: set filetype=cpp tabstop=2 shiftwidth=2 cindent autoindent smartindent noexpandtab:
RagTime5StructManager::GraphicStyle::m_cap
int m_cap
the line caps ( normal=1, round, square)
Definition: RagTime5StructManager.hxx:378
RagTime5StructManager::TextStyle::read
bool read(MWAWInputStreamPtr &input, Field const &field)
try to read a line style
Definition: RagTime5StructManager.cxx:1790
RagTime5StructManager::TextStyle::m_parentId
int m_parentId[2]
the parent id ( main and style ?)
Definition: RagTime5StructManager.hxx:430
RagTime5StructManager::TabStop
a tabulation in RagTime 5/6 structures
Definition: RagTime5StructManager.hxx:180
RagTime5StructManager::Field::T_Color
Definition: RagTime5StructManager.hxx:223
RagTime5Zone::m_asciiName
std::string m_asciiName
the ascii file name ( used if we need to create a ascii file)
Definition: RagTime5StructManager.hxx:147
RagTime5Zone::isHeaderZone
bool isHeaderZone() const
returns true if the zone is a header zone(header, list zone, ...)
Definition: RagTime5StructManager.hxx:68
RagTime5Zone::ascii
libmwaw::DebugFile & ascii()
returns the current ascii file
Definition: RagTime5StructManager.hxx:101
RagTime5StructManager::GraphicStyle::m_pattern
shared_ptr< MWAWGraphicStyle::Pattern > m_pattern
the line pattern
Definition: RagTime5StructManager.hxx:368
RagTime5StructManager::TabStop::m_leader
librevenge::RVNGString m_leader
the leader char
Definition: RagTime5StructManager.hxx:217
RagTime5Zone::F_Unknown
Definition: RagTime5StructManager.hxx:52
RagTime5StructManager::Field::T_Bool
Definition: RagTime5StructManager.hxx:222
RagTime5Zone::m_fileType
FileType m_fileType
the zone file type
Definition: RagTime5StructManager.hxx:116
RagTime5StructManager::Field::T_Unknown
Definition: RagTime5StructManager.hxx:222
RagTime5StructManager::FieldParser::FieldParser
FieldParser(std::string const &zoneName)
constructor
Definition: RagTime5StructManager.hxx:270
RagTime5StructManager::Field::m_fileType
long m_fileType
the file type
Definition: RagTime5StructManager.hxx:241
RagTime5StructManager::Field::T_TabList
Definition: RagTime5StructManager.hxx:222
RagTime5StructManager::DataParser::m_name
std::string m_name
the field name
Definition: RagTime5StructManager.hxx:325
RagTime5StructManager::FieldParser::getZoneName
virtual std::string getZoneName() const
return the debug name corresponding to a zone
Definition: RagTime5StructManager.hxx:274
RagTime5StructManager::GraphicStyle::operator<<
friend std::ostream & operator<<(std::ostream &o, GraphicStyle const &style)
operator<<
Definition: RagTime5StructManager.cxx:1705
RagTime5StructManager::TextStyle::m_language
int m_language
the language
Definition: RagTime5StructManager.hxx:476
RagTime5StructManager::FieldParser::~FieldParser
virtual ~FieldParser()
destructor
Definition: RagTime5StructManager.hxx:272
RagTime5Zone::getKindLastPart
std::string getKindLastPart(bool main=true) const
returns the main type
Definition: RagTime5StructManager.hxx:74
MWAWEntry.hxx
libmwaw_internal.hxx
RagTime5StructManager::TabStop::TabStop
TabStop()
constructor
Definition: RagTime5StructManager.hxx:182
RagTime5StructManager::TextStyle::operator<<
friend std::ostream & operator<<(std::ostream &o, TextStyle const &style)
operator<<
Definition: RagTime5StructManager.cxx:2308
RagTime5StructManager::DataParser::getZoneName
virtual std::string getZoneName(int n) const
return the debug name corresponding to a field
Definition: RagTime5StructManager.hxx:312
RagTime5StructManager::readTypeDefinitions
bool readTypeDefinitions(RagTime5Zone &zone)
try to read a list of type definition
Definition: RagTime5StructManager.cxx:74
RagTime5Zone::isMainInput
bool isMainInput() const
returns true if the input correspond to the basic file
Definition: RagTime5StructManager.hxx:96
MWAWColor::white
static MWAWColor white()
return the white color
Definition: libmwaw_internal.hxx:226
RagTime5StructManager::TextStyle::m_letterSpacings
double m_letterSpacings[3]
the spacings in percent ( normal, minimum, maximum)
Definition: RagTime5StructManager.hxx:478
libmwaw::DebugFile
an interface used to insert comment in a binary file, written in ascii form (if debug_with_files is n...
Definition: MWAWDebug.hxx:65
RagTime5StructManager::Field::m_longValue
long m_longValue[2]
the long value
Definition: RagTime5StructManager.hxx:245
RagTime5StructManager::GraphicStyle::m_limitPercent
float m_limitPercent
the line limit
Definition: RagTime5StructManager.hxx:382
RagTime5StructManager::GraphicStyle::m_mitter
int m_mitter
the line mitter ( triangle=1, round, out)
Definition: RagTime5StructManager.hxx:380
RagTime5StructManager::TextStyle::m_graphLineStyleId
int m_graphLineStyleId
the graphic line style id
Definition: RagTime5StructManager.hxx:438
RagTime5StructManager::GraphicStyle::m_width
float m_width
the line width (in point)
Definition: RagTime5StructManager.hxx:360
RagTime5StructManager::GraphicStyle::m_extra
std::string m_extra
extra data
Definition: RagTime5StructManager.hxx:386
MWAWColor::black
static MWAWColor black()
return the back color
Definition: libmwaw_internal.hxx:221
RagTime5StructManager::~RagTime5StructManager
~RagTime5StructManager()
destructor
Definition: RagTime5StructManager.cxx:51
RagTime5StructManager::Field::T_Long
Definition: RagTime5StructManager.hxx:222
RagTime5StructManager::TextStyle::m_dateStyleId
int m_dateStyleId
the date style id
Definition: RagTime5StructManager.hxx:434
RagTime5StructManager::TextStyle::m_scriptPosition
MWAWVariable< float > m_scriptPosition
the font script position ( in percent)
Definition: RagTime5StructManager.hxx:468
RagTime5StructManager::TextStyle::m_columnGap
double m_columnGap
the gap between columns
Definition: RagTime5StructManager.hxx:485
RagTime5StructManager::TextStyle::~TextStyle
virtual ~TextStyle()
destructor
Definition: RagTime5StructManager.hxx:406
RagTime5Zone::m_idsFlag
int m_idsFlag[3]
the zone flag
Definition: RagTime5StructManager.hxx:132
RagTime5Zone::m_variableD
int m_variableD[2]
the content of the zone D if it exists
Definition: RagTime5StructManager.hxx:138
RagTime5StructManager::TextStyle::m_margins
double m_margins[3]
the spacings in point ( left, right, first)
Definition: RagTime5StructManager.hxx:453
RagTime5StructManager::Field::m_doubleValue
double m_doubleValue
the double value
Definition: RagTime5StructManager.hxx:247
RagTime5Zone::m_asciiFile
libmwaw::DebugFile * m_asciiFile
the ascii file corresponding to an input
Definition: RagTime5StructManager.hxx:149
RagTime5StructManager::Field::~Field
~Field()
destructor
Definition: RagTime5StructManager.hxx:233
RagTime5StructManager::FieldParser
virtual class use to parse the field data
Definition: RagTime5StructManager.hxx:268
RagTime5StructManager::TextStyle::m_numColumns
int m_numColumns
the number of columns
Definition: RagTime5StructManager.hxx:483
RagTime5Zone::m_subType
int m_subType
the zone sub type
Definition: RagTime5StructManager.hxx:118
RagTime5StructManager::TextStyle::m_fontFlags
uint32_t m_fontFlags[2]
the font flags (add and remove )
Definition: RagTime5StructManager.hxx:466
RagTime5Zone::m_localAsciiFile
shared_ptr< libmwaw::DebugFile > m_localAsciiFile
the local ascii file ( if we need to create a new input)
Definition: RagTime5StructManager.hxx:151
RagTime5Zone
main zone in a RagTime v5-v6 document
Definition: RagTime5StructManager.hxx:48
MWAWColor
the class to store a color
Definition: libmwaw_internal.hxx:177
RagTime5StructManager::GraphicStyle::m_colors
MWAWColor m_colors[2]
the first and second color
Definition: RagTime5StructManager.hxx:362
RagTime5Zone::~RagTime5Zone
virtual ~RagTime5Zone()
destructor
Definition: RagTime5StructManager.hxx:64
RagTime5StructManager::TabStop::m_type
int m_type
the type
Definition: RagTime5StructManager.hxx:215
RagTime5StructManager::TextStyle::m_fontName
librevenge::RVNGString m_fontName
the font name
Definition: RagTime5StructManager.hxx:460
RagTime5StructManager::TextStyle::m_fontScaling
float m_fontScaling
the font script position ( in percent)
Definition: RagTime5StructManager.hxx:470
RagTime5StructManager::Field::T_LongDouble
Definition: RagTime5StructManager.hxx:223
RagTime5StructManager::TextStyle::TextStyle
TextStyle()
constructor
Definition: RagTime5StructManager.hxx:391
RagTime5StructManager::Field::m_doubleList
std::vector< double > m_doubleList
the list of double value
Definition: RagTime5StructManager.hxx:255
RagTime5StructManager::DataParser::getZoneName
virtual std::string getZoneName() const
return the debug name corresponding to a zone
Definition: RagTime5StructManager.hxx:307
RagTime5StructManager::GraphicStyle::m_gradientCenter
MWAWVec2f m_gradientCenter
the rotation center(checkme)
Definition: RagTime5StructManager.hxx:374
RagTime5Zone::F_Empty
Definition: RagTime5StructManager.hxx:52
RagTime5StructManager::DataParser
virtual class use to parse the unstructured data
Definition: RagTime5StructManager.hxx:301
RagTime5StructManager::TextStyle::m_fontSize
float m_fontSize
the font size
Definition: RagTime5StructManager.hxx:464
RagTime5StructManager::Field::m_type
Type m_type
the field type
Definition: RagTime5StructManager.hxx:239
RagTime5StructManager::GraphicStyle::GraphicStyle
GraphicStyle()
constructor
Definition: RagTime5StructManager.hxx:333
RagTime5Zone::operator<<
friend std::ostream & operator<<(std::ostream &o, RagTime5Zone const &z)
operator<<
Definition: RagTime5StructManager.cxx:2547
RagTime5StructManager::TextStyle::m_breakMethod
int m_breakMethod
the break method 0: asIs, next container, next page, next even page, next odd page ...
Definition: RagTime5StructManager.hxx:451
RagTime5StructManager::TextStyle::m_extra
std::string m_extra
extra data
Definition: RagTime5StructManager.hxx:488
RagTime5StructManager::readDataIdList
static bool readDataIdList(MWAWInputStreamPtr input, int n, std::vector< int > &listIds)
try to read n data id
Definition: RagTime5StructManager.cxx:260
MWAWVec2f
MWAWVec2< float > MWAWVec2f
MWAWVec2 of float.
Definition: libmwaw_internal.hxx:721
RagTime5StructManager::readField
bool readField(MWAWInputStreamPtr input, long endPos, libmwaw::DebugFile &ascFile, Field &field, long fSz=0)
try to read a field
Definition: RagTime5StructManager.cxx:281
RagTime5StructManager::GraphicStyle::m_gradientRotation
float m_gradientRotation
the gradient rotation(checkme)
Definition: RagTime5StructManager.hxx:372
RagTime5StructManager::Field::T_FieldList
Definition: RagTime5StructManager.hxx:222
RagTime5StructManager::GraphicStyle::read
bool read(MWAWInputStreamPtr &input, Field const &field)
try to read a line style
Definition: RagTime5StructManager.cxx:1439
RagTime5StructManager::Field::T_Code
Definition: RagTime5StructManager.hxx:223
RagTime5Zone::m_isParsed
bool m_isParsed
a flag to know if the zone is parsed
Definition: RagTime5StructManager.hxx:140
RagTime5StructManager::TextStyle::m_underline
int m_underline
underline : none, single, double
Definition: RagTime5StructManager.hxx:472
RagTime5Zone::m_defPosition
long m_defPosition
the position of the definition in the main zones
Definition: RagTime5StructManager.hxx:120
RagTime5StructManager::readUnicodeString
static bool readUnicodeString(MWAWInputStreamPtr input, long endPos, librevenge::RVNGString &string)
try to read a unicode string
Definition: RagTime5StructManager.cxx:231
RagTime5Zone::F_Main
Definition: RagTime5StructManager.hxx:52
RagTime5StructManager::Field::T_String
Definition: RagTime5StructManager.hxx:223
RagTime5StructManager::FieldParser::operator=
FieldParser & operator=(FieldParser const &orig)
RagTime5Zone::setAsciiFileName
void setAsciiFileName(std::string const &name)
defines the ascii name
Definition: RagTime5StructManager.hxx:108
RagTime5StructManager::Field::T_ZoneId
Definition: RagTime5StructManager.hxx:223
RagTime5Zone::m_kinds
std::string m_kinds[2]
the zone types: normal and packing
Definition: RagTime5StructManager.hxx:122
RagTime5StructManager::operator=
RagTime5StructManager operator=(RagTime5StructManager const &orig)
RagTime5StructManager::Field::m_name
std::string m_name
the field type name
Definition: RagTime5StructManager.hxx:243
RagTime5Zone::RagTime5Zone
RagTime5Zone(MWAWInputStreamPtr input, libmwaw::DebugFile &asc)
constructor
Definition: RagTime5StructManager.hxx:54
RagTime5StructManager::Field
a field of RagTime 5/6 structures
Definition: RagTime5StructManager.hxx:220
RagTime5StructManager::GraphicStyle::m_colorsAlpha
float m_colorsAlpha[2]
alpha of the first and second color
Definition: RagTime5StructManager.hxx:364
RagTime5StructManager::FieldParser::getZoneName
virtual std::string getZoneName(int n) const
return the debug name corresponding to a field
Definition: RagTime5StructManager.hxx:279
RagTime5StructManager::Field::m_longList
std::vector< long > m_longList
the list of long value
Definition: RagTime5StructManager.hxx:253
RagTime5StructManager::FieldParser::m_regroupFields
bool m_regroupFields
a flag use to decide if we output one debug message by field or not
Definition: RagTime5StructManager.hxx:292
RagTime5Zone::createAsciiFile
void createAsciiFile()
creates the ascii file
Definition: RagTime5StructManager.cxx:2472
RagTime5Zone::getZoneName
std::string getZoneName() const
returns the zone name
Definition: RagTime5StructManager.cxx:2486
RagTime5StructManager::Field::T_2Long
Definition: RagTime5StructManager.hxx:222
MWAWInputStreamPtr
shared_ptr< MWAWInputStream > MWAWInputStreamPtr
a smart pointer of MWAWInputStream
Definition: libmwaw_internal.hxx:439
RagTime5Zone::m_entriesList
std::vector< MWAWEntry > m_entriesList
the list of original entries
Definition: RagTime5StructManager.hxx:134
RagTime5StructManager::Field::Field
Field()
constructor
Definition: RagTime5StructManager.hxx:227
RagTime5Zone::m_entry
MWAWEntry m_entry
the zone entry
Definition: RagTime5StructManager.hxx:124
RagTime5StructManager::Field::T_Double
Definition: RagTime5StructManager.hxx:222
RagTime5StructManager::GraphicStyle::m_hidden
bool m_hidden
flag to know if we need to print the shape
Definition: RagTime5StructManager.hxx:384
RagTime5StructManager::TextStyle::m_fontId
long m_fontId
the font id
Definition: RagTime5StructManager.hxx:462
RagTime5StructManager::GraphicStyle::m_position
int m_position
the line position inside=1/normal/outside/round
Definition: RagTime5StructManager.hxx:376
MWAWDebug.hxx
RagTime5StructManager::TextStyle::m_tabList
std::vector< TabStop > m_tabList
the tabulations
Definition: RagTime5StructManager.hxx:455
RagTime5StructManager::FieldParser::m_name
std::string m_name
the field name
Definition: RagTime5StructManager.hxx:295
RagTime5StructManager::Field::m_tabList
std::vector< TabStop > m_tabList
the list of tabStop
Definition: RagTime5StructManager.hxx:259
RagTime5Zone::m_name
std::string m_name
the zone name ( mainly used for debugging)
Definition: RagTime5StructManager.hxx:126
RagTime5StructManager::Field::T_DoubleList
Definition: RagTime5StructManager.hxx:222
RagTime5StructManager::Field::m_color
MWAWColor m_color
the color
Definition: RagTime5StructManager.hxx:249
RagTime5StructManager::Field::T_PrintInfo
Definition: RagTime5StructManager.hxx:223
RagTime5StructManager::TextStyle::m_graphStyleId
int m_graphStyleId
the graphic style id
Definition: RagTime5StructManager.hxx:436
RagTime5Zone::setInput
void setInput(MWAWInputStreamPtr input)
reset the current input
Definition: RagTime5StructManager.hxx:90
RagTime5StructManager::Field::T_CondColor
Definition: RagTime5StructManager.hxx:223
RagTime5StructManager::Field::m_extra
std::string m_extra
extra data
Definition: RagTime5StructManager.hxx:265
RagTime5StructManager::GraphicStyle::~GraphicStyle
virtual ~GraphicStyle()
destructor
Definition: RagTime5StructManager.hxx:341
RagTime5StructManager::GraphicStyle
the graphic style of a RagTime v5-v6 document
Definition: RagTime5StructManager.hxx:331
RagTime5StructManager::TextStyle
the text style of a RagTime v5-v6 document
Definition: RagTime5StructManager.hxx:389
RagTime5StructManager::TabStop::m_position
float m_position
the position
Definition: RagTime5StructManager.hxx:213
RagTime5StructManager::TextStyle::m_linkIdList
std::vector< int > m_linkIdList
the link id list
Definition: RagTime5StructManager.hxx:432
RagTime5Zone::F_Data
Definition: RagTime5StructManager.hxx:52
RagTime5StructManager::Field::m_numLongByData
int m_numLongByData
the number of long by data (in m_longList)
Definition: RagTime5StructManager.hxx:257
RagTime5StructManager::GraphicStyle::isDefault
bool isDefault() const
returns true if the line style is default
Definition: RagTime5StructManager.hxx:345
libmwaw::DebugStream
std::stringstream DebugStream
a basic stream (if debug_with_files is not defined, does nothing)
Definition: MWAWDebug.hxx:61
RagTime5StructManager::Field::T_Unicode
Definition: RagTime5StructManager.hxx:223
RagTime5StructManager::Field::Type
Type
the different type
Definition: RagTime5StructManager.hxx:222
MWAWColor::isWhite
bool isWhite() const
return true if the color is white
Definition: libmwaw_internal.hxx:265
RagTime5StructManager::DataParser::DataParser
DataParser(std::string const &zoneName)
constructor
Definition: RagTime5StructManager.hxx:303
RagTime5Zone::FileType
FileType
the zone file type
Definition: RagTime5StructManager.hxx:52
RagTime5StructManager::DataParser::~DataParser
virtual ~DataParser()
destructor
Definition: RagTime5StructManager.hxx:305
RagTime5StructManager::TextStyle::m_spacings
double m_spacings[3]
the interline/before/after value
Definition: RagTime5StructManager.hxx:447
MWAWColor::isBlack
bool isBlack() const
return true if the color is black
Definition: libmwaw_internal.hxx:260
RagTime5StructManager::RagTime5StructManager
RagTime5StructManager()
constructor
Definition: RagTime5StructManager.cxx:47
RagTime5Zone::operator=
RagTime5Zone & operator=(RagTime5Zone const &orig)
MWAWEntry
basic class to store an entry in a file This contained :
Definition: MWAWEntry.hxx:46
RagTime5StructManager
basic class used to store RagTime 5/6 structures
Definition: RagTime5StructManager.hxx:158
RagTime5StructManager::GraphicStyle::m_dash
std::vector< long > m_dash
the line dash/...
Definition: RagTime5StructManager.hxx:366
RagTime5StructManager::TabStop::operator<<
friend std::ostream & operator<<(std::ostream &o, TabStop const &tab)
operator<<
Definition: RagTime5StructManager.hxx:186
RagTime5StructManager::TextStyle::m_keepWithNext
MWAWVariable< bool > m_keepWithNext
the keep with next flag
Definition: RagTime5StructManager.hxx:443
RagTime5Zone::m_hiLoEndian
bool m_hiLoEndian
true if the endian is hilo
Definition: RagTime5StructManager.hxx:128
RagTime5Zone::m_defaultInput
bool m_defaultInput
a flag used to know if the input is or not the default input
Definition: RagTime5StructManager.hxx:145
RagTime5Zone::m_ids
int m_ids[3]
the zone id
Definition: RagTime5StructManager.hxx:130
RagTime5StructManager::GraphicStyle::m_gradient
int m_gradient
the gradient 0: none, normal, radial
Definition: RagTime5StructManager.hxx:370
RagTime5StructManager::DataParser::operator=
DataParser & operator=(DataParser const &orig)
RagTime5StructManager::TextStyle::m_spacingUnits
int m_spacingUnits[3]
the interline/before/after unit 0: line, 1:point
Definition: RagTime5StructManager.hxx:449
RagTime5StructManager::Field::m_fieldList
std::vector< Field > m_fieldList
the list of field
Definition: RagTime5StructManager.hxx:261
RagTime5StructManager::FieldParser::parseField
virtual bool parseField(Field &field, RagTime5Zone &, int, libmwaw::DebugStream &f)
parse a field
Definition: RagTime5StructManager.hxx:286
RagTime5StructManager::GraphicStyle::m_parentId
int m_parentId
the parent id
Definition: RagTime5StructManager.hxx:358
RagTime5StructManager::Field::T_LongList
Definition: RagTime5StructManager.hxx:222
MWAWVariable::isSet
bool isSet() const
return true if the variable is set
Definition: libmwaw_internal.hxx:522
RagTime5Zone::m_input
MWAWInputStreamPtr m_input
the main input
Definition: RagTime5StructManager.hxx:143
RagTime5StructManager::Field::m_entry
MWAWEntry m_entry
entry to defined the position of a String or Unstructured data
Definition: RagTime5StructManager.hxx:263
MWAWVariable< bool >
RagTime5StructManager::TextStyle::m_justify
int m_justify
justify 0: left, 1:center, 2:right, 3:full, 4:full all
Definition: RagTime5StructManager.hxx:445
RagTime5StructManager::Field::operator<<
friend std::ostream & operator<<(std::ostream &o, Field const &field)
operator<<
Definition: RagTime5StructManager.cxx:1325
MWAWGraphicStyle.hxx
RagTime5Zone::getInput
MWAWInputStreamPtr getInput()
returns the current input
Definition: RagTime5StructManager.hxx:85
RagTime5Zone::m_extra
std::string m_extra
extra data
Definition: RagTime5StructManager.hxx:136
MWAWVec2< float >
RagTime5StructManager::Field::T_Unstructured
Definition: RagTime5StructManager.hxx:223
RagTime5StructManager::DataParser::parseData
virtual bool parseData(MWAWInputStreamPtr &, long, RagTime5Zone &, int, libmwaw::DebugStream &)
parse a data
Definition: RagTime5StructManager.hxx:319
RagTime5StructManager::readCompressedLong
static bool readCompressedLong(MWAWInputStreamPtr &input, long endPos, long &val)
try to read a compressed long
Definition: RagTime5StructManager.cxx:58
RagTime5StructManager::TextStyle::isDefault
bool isDefault() const
returns true if the line style is default
Definition: RagTime5StructManager.hxx:410
RagTime5StructManager::TextStyle::m_caps
int m_caps
caps : none, all caps, lower caps, inital caps + other lowers
Definition: RagTime5StructManager.hxx:474
RagTime5StructManager::Field::m_string
librevenge::RVNGString m_string
small string use to store a string or a 4 char code
Definition: RagTime5StructManager.hxx:251