MacWrtProStructures.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 MAC_WRT_PRO_STRUCTURES
35 # define MAC_WRT_PRO_STRUCTURES
36 
37 #include <list>
38 #include <string>
39 #include <vector>
40 
41 #include "MWAWPosition.hxx"
42 
43 #include "MWAWEntry.hxx"
44 
45 #include "MWAWDebug.hxx"
46 #include "MWAWInputStream.hxx"
47 
48 class MacWrtProParser;
49 
51 {
52 class SubDocument;
53 }
54 
56 {
57 struct Block;
58 struct Cell;
59 struct Font;
60 struct Paragraph;
61 struct Section;
62 struct State;
63 class SubDocument;
64 }
65 
67 
71 {
72 public:
74  MacWrtProStructuresListenerState(shared_ptr<MacWrtProStructures> structures, bool mainZone);
77 
79  bool isSent(int blockId);
81  bool send(int blockId);
82 
84  void sendSection(int numSection);
86  bool sendFont(int id);
88  bool sendParagraph(int id);
90  void sendChar(char c);
91 
93  bool resendAll();
94 
96  int numSection() const
97  {
98  if (!m_isMainZone) {
99  MWAW_DEBUG_MSG(("MacWrtProStructuresListenerState::numSection: not called in main zone\n"));
100  return 0;
101  }
102  return m_section;
103  }
104 
106  std::vector<int> getPageBreaksPos() const;
108  void insertSoftPageBreak();
109 
111  std::string getFontDebugString(int fontId);
112 
114  std::string getParagraphDebugString(int paraId);
115 
116 protected:
118  bool newPage(bool softBreak=false);
119 
124 
125  // true if this is the mainZone
127  // the actual page
129  // the actual tab
130  int m_actTab;
131  // the number of tab
132  int m_numTab;
133  // the actual section ( if mainZone )
135  // the actual number of columns
137  // a flag to know if a new page has just been open
139  // the main structure parser
140  shared_ptr<MacWrtProStructures> m_structures;
141  // the current font
142  shared_ptr<MacWrtProStructuresInternal::Font> m_font;
143  // the current paragraph
144  shared_ptr<MacWrtProStructuresInternal::Paragraph> m_paragraph;
145 };
146 
153 {
154  friend class MacWrtProParser;
158 public:
160  explicit MacWrtProStructures(MacWrtProParser &mainParser);
162  virtual ~MacWrtProStructures();
163 
167  int version() const;
168 
170  void setAsciiName(char const *name)
171  {
172  m_asciiName = name;
173  }
174 
175 protected:
177  void init();
178 
180  bool createZones();
181 
186  bool createZonesV2();
187 
189  int numPages() const;
190 
192  bool sendMainZone();
193 
195  int getHeaderId(int page, int &numSimillar) const;
197  int getFooterId(int page, int &numSimillar) const;
198 
200  void flushExtra();
201 
203  void buildPageStructures();
204 
206  void buildTableStructures();
207 
208  //
209  // low level
210  //
211 
213  bool readStyles();
214 
216  bool readStyle(int styleId);
217 
219  bool readCharStyles();
220 
222  bool readParagraphs();
223 
226 
228  int getEndBlockSize();
229 
231  shared_ptr<MacWrtProStructuresInternal::Block> readBlock();
232 
234  shared_ptr<MacWrtProStructuresInternal::Block> readBlockV2(int id);
235 
237  bool readBlocksList();
238 
240  bool readFontsName();
241 
243  bool readFontsDef();
244 
247 
249  bool readSections(std::vector<MacWrtProStructuresInternal::Section> &sections);
250 
252  bool readSelection();
253 
255  bool readStructB();
256 
258  static bool readString(MWAWInputStreamPtr input, std::string &res);
259 
261  bool getColor(int colId, MWAWColor &color) const;
262 
264  bool getPattern(int patId, float &patternPercent) const;
265 
267  bool getColor(int colId, int patId, MWAWColor &color) const;
268 
270  bool isSent(int blockId);
271 
276  bool send(int blockId, bool mainZone=false);
277 
280 
283  {
284  return m_asciiFile;
285  }
286 
288  std::string const &asciiName() const
289  {
290  return m_asciiName;
291  }
292 
293 protected:
294  //
295  // data
296  //
297 
300 
303 
306 
308  shared_ptr<MacWrtProStructuresInternal::State> m_state;
309 
312 
314  std::string m_asciiName;
315 };
316 #endif
317 // vim: set filetype=cpp tabstop=2 shiftwidth=2 cindent autoindent smartindent noexpandtab:
MacWrtProStructuresInternal::State::updateLineType
static bool updateLineType(int lineType, MWAWBorder &border)
try to set the line properties of a border
Definition: MacWrtProStructures.cxx:519
MacWrtProStructuresInternal::State::m_inputData
librevenge::RVNGBinaryData m_inputData
the input data
Definition: MacWrtProStructures.cxx:552
MWAWTable::numCells
int numCells() const
returns the number of cell
Definition: MWAWTable.hxx:101
MacWrtProStructures::m_parserState
MWAWParserStatePtr m_parserState
the parser state
Definition: MacWrtProStructures.hxx:299
MacWrtProStructuresInternal::Block::m_contentType
Type m_contentType
the type
Definition: MacWrtProStructures.cxx:247
MWAW_shared_ptr_noop_deleter
an noop deleter used to transform a libwpd pointer in a false shared_ptr
Definition: libmwaw_internal.hxx:109
MWAWFont::set
void set(Script const &newscript)
sets the script position
Definition: MWAWFont.hxx:293
MWAWPosition::YPos
YPos
an enum used to define the relative Y position
Definition: MWAWPosition.hxx:57
MacWrtProStructuresInternal::State::m_footnotesList
std::vector< int > m_footnotesList
the foonote list (for MWII)
Definition: MacWrtProStructures.cxx:567
MWAWFont::setUnderlineType
void setUnderlineType(Line::Type type=Line::Single)
sets the underline type
Definition: MWAWFont.hxx:453
MWAWTextListenerPtr
shared_ptr< MWAWTextListener > MWAWTextListenerPtr
a smart pointer of MWAWTextListener
Definition: libmwaw_internal.hxx:519
MacWrtProStructuresListenerState::m_font
shared_ptr< MacWrtProStructuresInternal::Font > m_font
Definition: MacWrtProStructures.hxx:142
MacWrtProStructuresInternal::Block::m_send
bool m_send
true if we have send the data
Definition: MacWrtProStructures.cxx:298
MacWrtProStructuresInternal::State::m_tablesMap
std::map< int, shared_ptr< Table > > m_tablesMap
a map block id -> table
Definition: MacWrtProStructures.cxx:565
MacWrtProStructuresInternal::Block::hasSameBorders
bool hasSameBorders() const
Definition: MacWrtProStructures.cxx:183
MacWrtProStructuresInternal::State::m_blocksSendSet
std::set< MWAWVec2i > m_blocksSendSet
a list of block use to avoid potential loop in bad file
Definition: MacWrtProStructures.cxx:573
MacWrtProStructures::getHeaderId
int getHeaderId(int page, int &numSimillar) const
return the header blockid ( or 0)
Definition: MacWrtProStructures.cxx:619
MWAWFont::smallCapsBit
@ smallCapsBit
Definition: MWAWFont.hxx:184
MWAWTabStop::m_leaderCharacter
uint16_t m_leaderCharacter
the leader char
Definition: MWAWParagraph.hxx:75
MacWrtProStructures::getColor
bool getColor(int colId, MWAWColor &color) const
try to return the color corresponding to colId
Definition: MacWrtProStructures.cxx:661
MacWrtProStructures::getTextListener
MWAWTextListenerPtr & getTextListener()
returns the actual listener
Definition: MacWrtProStructures.cxx:607
MacWrtProStructures::readSelection
bool readSelection()
try to read a 16 bytes the zone which follow the char styles zone ( the selection?...
Definition: MacWrtProStructures.cxx:2402
MWAW_DEBUG_MSG
#define MWAW_DEBUG_MSG(M)
Definition: libmwaw_internal.hxx:127
MacWrtProStructuresInternal::Section::StartType
StartType
Definition: MacWrtProStructures.cxx:427
MacWrtProStructuresInternal::Block::m_fileBlock
int m_fileBlock
the file block id
Definition: MacWrtProStructures.cxx:250
MWAWVec2f
MWAWVec2< float > MWAWVec2f
MWAWVec2 of float.
Definition: libmwaw_internal.hxx:785
MacWrtProStructures::flushExtra
void flushExtra()
flush not send zones
Definition: MacWrtProStructures.cxx:2622
MacWrtProStructures::readStyle
bool readStyle(int styleId)
try to read a style
Definition: MacWrtProStructures.cxx:1700
MWAWListener::ColumnBreak
@ ColumnBreak
Definition: MWAWListener.hxx:58
libmwaw::DebugFile::addDelimiter
void addDelimiter(long pos, char c)
adds a not breaking delimiter in position pos
Definition: MWAWDebug.cxx:73
MWAWBorder::m_type
Type m_type
the border repetition
Definition: libmwaw_internal.hxx:355
MWAWCell::setBdBox
void setBdBox(MWAWBox2f box)
set the bdbox (unit point)
Definition: MWAWCell.hxx:185
MacWrtProStructures::readBlocksList
bool readBlocksList()
try to read the list of block entries
Definition: MacWrtProStructures.cxx:1796
MWAWBorder::isEmpty
bool isEmpty() const
returns true if the border is empty
Definition: libmwaw_internal.hxx:327
MacWrtProStructures::readSections
bool readSections(std::vector< MacWrtProStructuresInternal::Section > &sections)
try to read the section info ?
Definition: MacWrtProStructures.cxx:2280
MWAWPosition::setRelativePosition
void setRelativePosition(AnchorTo anchor, XPos X=XLeft, YPos Y=YTop)
sets the relative position
Definition: MWAWPosition.hxx:221
MacWrtProStructuresInternal::Font::m_token
int m_token
the token type(checkme)
Definition: MacWrtProStructures.cxx:332
MacWrtProStructuresInternal::Section::m_start
StartType m_start
the way to start the new section
Definition: MacWrtProStructures.cxx:495
MWAWParagraph::m_tabs
MWAWVariable< std::vector< MWAWTabStop > > m_tabs
the tabulations
Definition: MWAWParagraph.hxx:156
MacWrtProStructuresInternal::Section
Internal: the section of a MacWrtProStructures.
Definition: MacWrtProStructures.cxx:426
MacWrtProStructuresInternal::State::m_fontsList
std::vector< Font > m_fontsList
the list of fonts
Definition: MacWrtProStructures.cxx:555
MacWrtProStructuresListenerState::m_paragraph
shared_ptr< MacWrtProStructuresInternal::Paragraph > m_paragraph
Definition: MacWrtProStructures.hxx:144
MacWrtProStructures::getPattern
bool getPattern(int patId, float &patternPercent) const
try to return the pattern corresponding to patId
Definition: MacWrtProStructures.cxx:719
MacWrtProStructures::getFooterId
int getFooterId(int page, int &numSimillar) const
return the footer blockid ( or 0)
Definition: MacWrtProStructures.cxx:639
MWAWPosition::setPage
void setPage(int pg) const
sets the page
Definition: MWAWPosition.hxx:189
MacWrtProStructuresInternal::Block::isTable
bool isTable() const
returns true is this is a table zone
Definition: MacWrtProStructures.cxx:179
MacWrtProStructuresInternal::State::State
State()
constructor
Definition: MacWrtProStructures.cxx:512
MWAWFont::boldBit
@ boldBit
Definition: MWAWFont.hxx:182
MacWrtProStructures::m_mainParser
MacWrtProParser & m_mainParser
the main parser
Definition: MacWrtProStructures.hxx:305
MacWrtProStructuresInternal::Cell::m_blockId
int m_blockId
the block id
Definition: MacWrtProStructures.cxx:393
MacWrtProStructures::setAsciiName
void setAsciiName(char const *name)
Debugging: change the default ascii file (by default struct )
Definition: MacWrtProStructures.hxx:170
MWAWColor::white
static MWAWColor white()
return the white color
Definition: libmwaw_internal.hxx:231
MWAWTable.hxx
MWAWFont::setColor
void setColor(MWAWColor color)
sets the font color
Definition: MWAWFont.hxx:320
libmwaw::DebugFile::open
bool open(std::string const &filename)
opens/creates a file to store a result
Definition: MWAWDebug.cxx:46
libmwaw::BottomBit
@ BottomBit
Definition: libmwaw_internal.hxx:168
MWAWTabStop::CENTER
@ CENTER
Definition: MWAWParagraph.hxx:48
MacWrtProStructuresInternal::Block::m_extra
std::string m_extra
extra data
Definition: MacWrtProStructures.cxx:295
MacWrtProStructuresListenerState::numSection
int numSection() const
returns the actual section
Definition: MacWrtProStructures.hxx:96
MWAWEntry.hxx
MacWrtProStructuresListenerState::~MacWrtProStructuresListenerState
~MacWrtProStructuresListenerState()
the destructor
Definition: MacWrtProStructures.cxx:2683
MWAWTable::get
shared_ptr< MWAWCell > get(int id)
returns the i^th cell
Definition: MWAWTable.cxx:114
MWAWPosition::YCenter
@ YCenter
Definition: MWAWPosition.hxx:57
MWAWFontConverter.hxx
MacWrtProStructuresInternal::State::m_sectionsList
std::vector< Section > m_sectionsList
the list of section
Definition: MacWrtProStructures.cxx:559
MWAWColor
the class to store a color
Definition: libmwaw_internal.hxx:182
MacWrtProStructuresInternal::Cell::m_parser
MacWrtProStructures & m_parser
the text parser
Definition: MacWrtProStructures.cxx:391
MacWrtProStructuresInternal::Block::m_attachment
bool m_attachment
true if this is an attachment
Definition: MacWrtProStructures.cxx:256
MWAWSection::setColumns
void setColumns(int num, double width, librevenge::RVNGUnit widthUnit, double colSep=0)
a function which sets n uniform columns
Definition: MWAWSection.cxx:108
MacWrtProStructures::readBlockV2
shared_ptr< MacWrtProStructuresInternal::Block > readBlockV2(int id)
try to read a block entry
Definition: MacWrtProStructures.cxx:1877
MWAWGraphicStyle::setBackgroundColor
void setBackgroundColor(MWAWColor const &col, float opacity=1)
set the background color
Definition: MWAWGraphicStyle.hxx:314
MacWrtProStructuresInternal::Block::m_borderCellList
MWAWBorder m_borderCellList[4]
the cell borders
Definition: MacWrtProStructures.cxx:268
MacWrtProStructuresListenerState::m_numTab
int m_numTab
Definition: MacWrtProStructures.hxx:132
MacWrtProStructuresListenerState::getFontDebugString
std::string getFontDebugString(int fontId)
debug function which returns a string corresponding to a fontId
Definition: MacWrtProStructures.cxx:2850
MacWrtProStructures::m_input
MWAWInputStreamPtr m_input
the main input
Definition: MacWrtProStructures.hxx:302
MacWrtProStructuresInternal::Block::GRAPHIC
@ GRAPHIC
Definition: MacWrtProStructures.cxx:63
MacWrtProStructures::createZones
bool createZones()
finds the different objects zones
Definition: MacWrtProStructures.cxx:760
MWAWParagraph
class to store the paragraph properties
Definition: MWAWParagraph.hxx:82
MWAWPosition::WDynamic
@ WDynamic
Definition: MWAWPosition.hxx:53
MacWrtProStructuresInternal::Font
Internal: the fonts.
Definition: MacWrtProStructures.cxx:303
MWAWFont::Line::Simple
@ Simple
Definition: MWAWFont.hxx:49
MacWrtProStructuresInternal::Section::m_textLength
long m_textLength
the number of character in the sections
Definition: MacWrtProStructures.cxx:503
MacWrtProStructures::readFont
bool readFont(MacWrtProStructuresInternal::Font &font)
try to read a font
Definition: MacWrtProStructures.cxx:1265
MWAWBorder::m_width
double m_width
the border total width in point
Definition: libmwaw_internal.hxx:357
MacWrtProStructuresInternal::Cell
Internal: the cell of a MacWrtProStructure.
Definition: MacWrtProStructures.cxx:363
MWAWCell::setBackgroundColor
void setBackgroundColor(MWAWColor color)
sets the background color
Definition: MWAWCell.hxx:296
MWAWParserStatePtr
shared_ptr< MWAWParserState > MWAWParserStatePtr
a smart pointer of MWAWParserState
Definition: libmwaw_internal.hxx:509
MacWrtProStructuresInternal::Block::m_col
int m_col
number of columns, filled for table
Definition: MacWrtProStructures.cxx:289
MacWrtProStructures::readStyles
bool readStyles()
try to read the paragraph styles zone which begins at address 0x200
Definition: MacWrtProStructures.cxx:1659
MacWrtProStructuresInternal::Block::Block
Block()
the constructor
Definition: MacWrtProStructures.cxx:65
MacWrtProParser::getBlocksCalledByToken
std::vector< int > const & getBlocksCalledByToken() const
return the list of blockid called by token.
Definition: MacWrtProParser.cxx:364
libmwaw::DebugFile::addNote
void addNote(char const *note)
adds a note in the file, in actual position
Definition: MWAWDebug.cxx:59
MWAWFont::setDeltaLetterSpacing
void setDeltaLetterSpacing(float d, librevenge::RVNGUnit unit=librevenge::RVNG_POINT)
sets the letter spacing ( delta value in point )
Definition: MWAWFont.hxx:271
MacWrtProStructuresListenerState::newPage
bool newPage(bool softBreak=false)
create a new page
Definition: MacWrtProStructures.cxx:2706
MWAWGraphicStyle
a structure used to define a picture style
Definition: MWAWGraphicStyle.hxx:48
MacWrtProStructures::readBlock
shared_ptr< MacWrtProStructuresInternal::Block > readBlock()
try to read a block entry
Definition: MacWrtProStructures.cxx:2008
MacWrtProParser::parseDataZone
bool parseDataZone(int blockId, int type)
parse a data zone
Definition: MacWrtProParser.cxx:968
MWAWTabStop::DECIMAL
@ DECIMAL
Definition: MWAWParagraph.hxx:48
MacWrtProParser.hxx
MacWrtProStructures::readCharStyles
bool readCharStyles()
try to read the character styles zone
Definition: MacWrtProStructures.cxx:1571
MWAWFont::embossBit
@ embossBit
Definition: MWAWFont.hxx:182
MacWrtProStructuresInternal::Font::m_flags
int m_flags
some unknown flag
Definition: MacWrtProStructures.cxx:330
MacWrtProParser::sendEmptyFrameZone
bool sendEmptyFrameZone(MWAWPosition const &pos, MWAWGraphicStyle const &style)
try to send an empty zone (can exist in MacWrtPro1.5)
Definition: MacWrtProParser.cxx:1338
MWAWFont::uppercaseBit
@ uppercaseBit
Definition: MWAWFont.hxx:184
MWAWCell.hxx
MacWrtProStructures::ascii
libmwaw::DebugFile & ascii()
returns the debug file
Definition: MacWrtProStructures.hxx:282
MacWrtProStructures::~MacWrtProStructures
virtual ~MacWrtProStructures()
destructor
Definition: MacWrtProStructures.cxx:589
MWAWTabStop
class to store a tab use by MWAWParagraph
Definition: MWAWParagraph.hxx:46
MWAWFont::setStrikeOutStyle
void setStrikeOutStyle(Line::Style style=Line::None, bool doReset=true)
sets the strikeoutline style ( by default, we also reset the style)
Definition: MWAWFont.hxx:406
MacWrtProStructuresInternal::Paragraph::operator<<
friend std::ostream & operator<<(std::ostream &o, Paragraph const &ind)
operator<<
Definition: MacWrtProStructures.cxx:347
MWAWColor::barycenter
static MWAWColor barycenter(float alpha, MWAWColor const &colA, float beta, MWAWColor const &colB)
return alpha*colA+beta*colB
Definition: libmwaw_internal.cxx:205
MacWrtProStructures::readFontsName
bool readFontsName()
try to read the fonts zone
Definition: MacWrtProStructures.cxx:1147
MacWrtProStructuresInternal::Block::m_row
int m_row
number of row, filled for table
Definition: MacWrtProStructures.cxx:286
MacWrtProStructuresInternal::Cell::sendContent
bool sendContent(MWAWListenerPtr listener, MWAWTable &)
send the content
Definition: MacWrtProStructures.cxx:381
MacWrtProStructuresInternal::Block
Internal: the data block.
Definition: MacWrtProStructures.cxx:62
MacWrtProStructuresListenerState::resendAll
bool resendAll()
force resent data : font + paragraph
Definition: MacWrtProStructures.cxx:2818
MWAWParagraph::AtLeast
@ AtLeast
Definition: MWAWParagraph.hxx:91
MacWrtProStructuresInternal::Block::UNKNOWN
@ UNKNOWN
Definition: MacWrtProStructures.cxx:63
MacWrtProStructuresInternal::Block::m_type
int m_type
the type
Definition: MacWrtProStructures.cxx:244
libmwaw::DebugFile::reset
void reset()
writes the current file and reset to zero
Definition: MWAWDebug.hxx:85
MWAWFont::m_extra
std::string m_extra
extra data
Definition: MWAWFont.hxx:552
MacWrtProStructuresInternal::Cell::Cell
Cell(MacWrtProStructures &parser, Block *block)
constructor
Definition: MacWrtProStructures.cxx:365
MWAWBorder::m_widthsList
std::vector< double > m_widthsList
the different length used for each line/sep (if defined)
Definition: libmwaw_internal.hxx:361
MacWrtProStructuresInternal::State::m_paragraphsList
std::vector< Paragraph > m_paragraphsList
the list of paragraph
Definition: MacWrtProStructures.cxx:557
MacWrtProStructures::m_asciiName
std::string m_asciiName
the debug file name
Definition: MacWrtProStructures.hxx:314
MWAWParagraph::JustificationCenter
@ JustificationCenter
Definition: MWAWParagraph.hxx:87
MacWrtProStructuresInternal::Block::m_borderWList
double m_borderWList[4]
the borders width
Definition: MacWrtProStructures.cxx:265
MWAWFont::shadowBit
@ shadowBit
Definition: MWAWFont.hxx:183
MWAWParagraph.hxx
MWAWFont::getDebugString
std::string getDebugString(shared_ptr< MWAWFontConverter > &converter) const
returns a string which can be used for debugging
Definition: MWAWFont.cxx:181
MacWrtProStructures::readStructB
bool readStructB()
try to read a zone which follow the fonts zone(checkme)
Definition: MacWrtProStructures.cxx:2475
MacWrtProParser::findNumHardBreaks
int findNumHardBreaks(int blockId)
compute the number of hard page break
Definition: MacWrtProParser.cxx:1350
MacWrtProParser::sendTextBoxZone
bool sendTextBoxZone(int blockId, MWAWPosition const &pos, MWAWGraphicStyle const &style=MWAWGraphicStyle::emptyStyle())
send a textbox zone
Definition: MacWrtProParser.cxx:1398
libmwaw::Bottom
@ Bottom
Definition: libmwaw_internal.hxx:166
MacWrtProStructuresListenerState::m_actTab
int m_actTab
Definition: MacWrtProStructures.hxx:130
MacWrtProStructures::buildTableStructures
void buildTableStructures()
look for tables structures and if so, prepare data
Definition: MacWrtProStructures.cxx:1089
MWAWPosition.hxx
MacWrtProStructuresInternal::State
Internal: the state of a MacWrtProStructures.
Definition: MacWrtProStructures.cxx:510
MacWrtProStructuresInternal::Table::get
Cell * get(int id)
return a cell corresponding to id
Definition: MacWrtProStructures.cxx:410
MacWrtProStructuresInternal::Block::m_isHeader
bool m_isHeader
filled for header/footer
Definition: MacWrtProStructures.cxx:283
MacWrtProStructuresInternal::Block::intersects
bool intersects(MWAWBox2f const &box) const
Definition: MacWrtProStructures.cxx:232
MWAWPosition
Class to define the position of an object (textbox, picture, ..) in the document.
Definition: MWAWPosition.hxx:48
MacWrtProStructuresListenerState::m_numCols
int m_numCols
Definition: MacWrtProStructures.hxx:136
MacWrtProStructuresInternal::Section::numColumns
int numColumns() const
return the number of columns
Definition: MacWrtProStructures.cxx:453
MWAWBorder
a border
Definition: libmwaw_internal.hxx:314
MWAWSection::m_columns
std::vector< Column > m_columns
the different column
Definition: MWAWSection.hxx:100
MacWrtProStructuresInternal::Section::S_Page
@ S_Page
Definition: MacWrtProStructures.cxx:427
MacWrtProStructuresInternal::Font::Font
Font()
the constructor
Definition: MacWrtProStructures.cxx:305
MWAWPosition::m_wrapping
Wrapping m_wrapping
Wrapping.
Definition: MWAWPosition.hxx:262
MWAWGraphicStyle::setBorders
void setBorders(int wh, MWAWBorder const &border)
sets the cell border: wh=libmwaw::LeftBit|...
Definition: MWAWGraphicStyle.cxx:172
MWAWInputStream::get
static shared_ptr< MWAWInputStream > get(librevenge::RVNGBinaryData const &data, bool inverted)
returns a new input stream corresponding to a librevenge::RVNGBinaryData
Definition: MWAWInputStream.cxx:90
MWAWTable
a class used to recreate the table structure using cell informations, ....
Definition: MWAWTable.hxx:52
libmwaw::RightBit
@ RightBit
Definition: libmwaw_internal.hxx:168
MWAWVec2< float >
MWAWFont::size
float size() const
returns the font size
Definition: MWAWFont.hxx:249
MacWrtProStructuresInternal::Paragraph::Paragraph
Paragraph()
Constructor.
Definition: MacWrtProStructures.cxx:341
MacWrtProParser::getZoneData
bool getZoneData(librevenge::RVNGBinaryData &data, int blockId)
retrieve the data which corresponds to a zone
Definition: MacWrtProParser.cxx:423
MWAWTabStop::m_alignment
Alignment m_alignment
the alignment ( left, center, ...)
Definition: MWAWParagraph.hxx:73
MWAWSection
a class which stores section properties
Definition: MWAWSection.hxx:46
MWAWDebug.hxx
MacWrtProStructuresListenerState::m_isMainZone
bool m_isMainZone
Definition: MacWrtProStructures.hxx:126
MacWrtProStructuresInternal::Table::Table
Table()
constructor
Definition: MacWrtProStructures.cxx:404
MacWrtProStructures::getEndBlockSize
int getEndBlockSize()
returns the size of the block end data
Definition: MacWrtProStructures.cxx:1865
MacWrtProStructures::readFontsDef
bool readFontsDef()
try to read the list of fonts
Definition: MacWrtProStructures.cxx:1213
MacWrtProStructuresListenerState::m_actPage
int m_actPage
Definition: MacWrtProStructures.hxx:128
MWAWBox2f
MWAWBox2< float > MWAWBox2f
MWAWBox2 of float.
Definition: libmwaw_internal.hxx:1134
MacWrtProStructuresInternal::Font::operator<<
friend std::ostream & operator<<(std::ostream &o, Font const &font)
operator<<
Definition: MacWrtProStructures.cxx:310
MacWrtProStructuresInternal::Block::isText
bool isText() const
returns true is this is a text zone (or a not)
Definition: MacWrtProStructures.cxx:174
MacWrtProParser::sendPictureZone
bool sendPictureZone(int blockId, MWAWPosition const &pictPos, MWAWGraphicStyle const &style=MWAWGraphicStyle::emptyStyle())
try to send a picture
Definition: MacWrtProParser.cxx:1629
MWAWTabStop::m_position
double m_position
the tab position
Definition: MWAWParagraph.hxx:71
MWAWFont::setId
void setId(int newId)
sets the font id
Definition: MWAWFont.hxx:243
MacWrtProStructures::asciiName
std::string const & asciiName() const
return the ascii file name
Definition: MacWrtProStructures.hxx:288
MacWrtProStructures::MacWrtProStructures
MacWrtProStructures(MacWrtProParser &mainParser)
constructor
Definition: MacWrtProStructures.cxx:582
MacWrtProStructuresInternal
Internal: the structures of a MacWrtProStructures.
Definition: MacWrtProStructures.cxx:59
MWAWTabStop::m_decimalCharacter
uint16_t m_decimalCharacter
the decimal char
Definition: MWAWParagraph.hxx:77
MacWrtProStructuresInternal::Section::m_colsPos
std::vector< float > m_colsPos
the columns position ( series of end columns <-> new column begin)
Definition: MacWrtProStructures.cxx:497
MacWrtProStructuresListenerState::MacWrtProStructuresListenerState
MacWrtProStructuresListenerState(shared_ptr< MacWrtProStructures > structures, bool mainZone)
the constructor
Definition: MacWrtProStructures.cxx:2667
MacWrtProStructuresListenerState::m_structures
shared_ptr< MacWrtProStructures > m_structures
Definition: MacWrtProStructures.hxx:140
MacWrtProStructuresInternal::Paragraph::~Paragraph
~Paragraph()
destructor
Definition: MacWrtProStructures.cxx:357
MWAWPosition::Char
@ Char
Definition: MWAWPosition.hxx:51
MacWrtProStructuresInternal::State::m_footersMap
std::map< int, int > m_footersMap
a map page -> footer id
Definition: MacWrtProStructures.cxx:571
MacWrtProStructuresInternal::Block::m_surfaceColor
MWAWColor m_surfaceColor
the background color
Definition: MacWrtProStructures.cxx:274
MacWrtProStructuresInternal::Block::getPosition
MWAWPosition getPosition() const
Definition: MacWrtProStructures.cxx:203
MacWrtProStructuresListenerState::getPageBreaksPos
std::vector< int > getPageBreaksPos() const
return a list of page break position ( as some page break are soft )
Definition: MacWrtProStructures.cxx:2730
MacWrtProStructuresListenerState::m_newPageDone
bool m_newPageDone
Definition: MacWrtProStructures.hxx:138
MacWrtProParser::sendTextZone
bool sendTextZone(int blockId, bool mainZone=false)
send a text box
Definition: MacWrtProParser.cxx:1386
MacWrtProStructuresInternal::Block::operator<<
friend std::ostream & operator<<(std::ostream &o, Block const &bl)
operator<<
Definition: MacWrtProStructures.cxx:76
libmwaw::Top
@ Top
Definition: libmwaw_internal.hxx:166
MacWrtProStructuresInternal::Section::S_PageRight
@ S_PageRight
Definition: MacWrtProStructures.cxx:427
MacWrtProStructuresInternal::Section::operator<<
friend std::ostream & operator<<(std::ostream &o, Section const &sec)
operator<<
Definition: MacWrtProStructures.cxx:459
MWAWHeader.hxx
MacWrtProParserInternal::SubDocument
Internal: the subdocument of a MacWrtProParser.
Definition: MacWrtProParser.cxx:243
MWAWInputStreamPtr
shared_ptr< MWAWInputStream > MWAWInputStreamPtr
a smart pointer of MWAWInputStream
Definition: libmwaw_internal.hxx:503
MacWrtProStructuresInternal::Block::m_baseline
float m_baseline
the baseline ( in point 0=bottom aligned)
Definition: MacWrtProStructures.cxx:271
MWAWFont::setSize
void setSize(float sz, bool isRelative=false)
sets the font size
Definition: MWAWFont.hxx:254
MacWrtProStructuresInternal::Block::contains
bool contains(MWAWBox2f const &box) const
Definition: MacWrtProStructures.cxx:227
MacWrtProStructuresInternal::State::m_blocksMap
std::map< int, shared_ptr< Block > > m_blocksMap
a map block id -> block
Definition: MacWrtProStructures.cxx:563
MacWrtProStructuresListenerState::sendChar
void sendChar(char c)
send a character
Definition: MacWrtProStructures.cxx:2743
MacWrtProStructuresInternal::State::m_headersMap
std::map< int, int > m_headersMap
a map page -> header id
Definition: MacWrtProStructures.cxx:569
MWAWBorder::Double
@ Double
Definition: libmwaw_internal.hxx:318
libmwaw::LeftBit
@ LeftBit
Definition: libmwaw_internal.hxx:168
MacWrtProStructuresInternal::Section::S_Line
@ S_Line
Definition: MacWrtProStructures.cxx:427
MacWrtProStructuresInternal::Section::m_extra
std::string m_extra
extra data
Definition: MacWrtProStructures.cxx:505
MacWrtProStructuresInternal::Section::getSection
MWAWSection getSection() const
returns a MWAWSection
Definition: MacWrtProStructures.cxx:435
MWAWFont::italicBit
@ italicBit
Definition: MWAWFont.hxx:182
MacWrtProStructures::m_state
shared_ptr< MacWrtProStructuresInternal::State > m_state
the state
Definition: MacWrtProStructures.hxx:308
MacWrtProStructuresListenerState::sendParagraph
bool sendParagraph(int id)
try to send a paragraph
Definition: MacWrtProStructures.cxx:2873
MacWrtProStructuresInternal::Font::m_font
MWAWFont m_font
the font
Definition: MacWrtProStructures.cxx:328
MacWrtProStructuresInternal::Block::hasBorders
bool hasBorders() const
Definition: MacWrtProStructures.cxx:192
MacWrtProStructuresInternal::Section::Section
Section()
constructor
Definition: MacWrtProStructures.cxx:430
MacWrtProStructuresListenerState::getParagraphDebugString
std::string getParagraphDebugString(int paraId)
debug function which returns a string corresponding to a paragrapId
Definition: MacWrtProStructures.cxx:2896
MacWrtProStructures::readString
static bool readString(MWAWInputStreamPtr input, std::string &res)
try to read a string
Definition: MacWrtProStructures.cxx:2442
MacWrtProStructures::version
int version() const
returns the file version.
Definition: MacWrtProStructures.cxx:600
MWAWParagraph::NoBreakWithNextBit
@ NoBreakWithNextBit
Definition: MWAWParagraph.hxx:85
MWAWTextListener.hxx
MacWrtProStructures::send
bool send(int blockId, bool mainZone=false)
try to send a block which corresponds to blockid
Definition: MacWrtProStructures.cxx:2536
MacWrtProStructuresListenerState::m_section
int m_section
Definition: MacWrtProStructures.hxx:134
MacWrtProStructures::createZonesV2
bool createZonesV2()
finds the different objects zones in a MacWriteII file
Definition: MacWrtProStructures.cxx:878
MacWrtProStructuresInternal::Table
Definition: MacWrtProStructures.cxx:402
MacWrtProStructuresInternal::Font::m_values
int m_values[5]
unknown values
Definition: MacWrtProStructures.cxx:334
libmwaw::Right
@ Right
Definition: libmwaw_internal.hxx:166
MacWrtProStructuresInternal::State::m_numPages
int m_numPages
the number of pages
Definition: MacWrtProStructures.cxx:549
MacWrtProStructuresInternal::Block::isGraphic
bool isGraphic() const
returns true is this is a graphic zone
Definition: MacWrtProStructures.cxx:169
MacWrtProStructures::sendMainZone
bool sendMainZone()
send the main zone
Definition: MacWrtProStructures.cxx:989
MWAWPosition::Page
@ Page
Definition: MWAWPosition.hxx:51
MacWrtProStructuresInternal::Block::NOTE
@ NOTE
Definition: MacWrtProStructures.cxx:63
MWAWParagraph::JustificationFull
@ JustificationFull
Definition: MWAWParagraph.hxx:87
MWAWSection.hxx
MWAWParagraph::JustificationRight
@ JustificationRight
Definition: MWAWParagraph.hxx:88
libmwaw::TopBit
@ TopBit
Definition: libmwaw_internal.hxx:168
MWAWBox2::min
MWAWVec2< T > const & min() const
the minimum 2D point (in x and in y)
Definition: libmwaw_internal.hxx:980
MacWrtProStructuresInternal::Block::m_id
int m_id
the block id
Definition: MacWrtProStructures.cxx:253
MacWrtProStructures
the main class to read the structures part of MacWrite Pro file
Definition: MacWrtProStructures.hxx:153
libmwaw::DebugFile::addPos
void addPos(long pos)
adds a new position in the file
Definition: MWAWDebug.cxx:53
MWAWCell::setBorders
void setBorders(int wh, MWAWBorder const &border)
sets the cell border: wh=libmwaw::LeftBit|...
Definition: MWAWCell.cxx:379
libmwaw::DebugFile::setStream
void setStream(MWAWInputStreamPtr ip)
resets the input
Definition: MWAWDebug.hxx:73
MacWrtProStructuresListenerState::sendSection
void sendSection(int numSection)
try to send the i^th section
Definition: MacWrtProStructures.cxx:2913
MWAWBorder::m_extra
std::string m_extra
extra data ( if needed)
Definition: libmwaw_internal.hxx:365
MacWrtProStructuresListenerState::isSent
bool isSent(int blockId)
returns true if the block is already sent ( or does not exists)
Definition: MacWrtProStructures.cxx:2687
MWAWFont::Script::super
static Script super()
return a yposition which correspond to a basic superscript
Definition: MWAWFont.hxx:122
MWAWPosition::YTop
@ YTop
Definition: MWAWPosition.hxx:57
MacWrtProStructuresListenerState
an interface to transmit the info of MacWrtProStructures to a listener
Definition: MacWrtProStructures.hxx:71
MacWrtProStructures::readParagraph
bool readParagraph(MacWrtProStructuresInternal::Paragraph &para)
try to read a paragraph
Definition: MacWrtProStructures.cxx:1407
libmwaw::Left
@ Left
Definition: libmwaw_internal.hxx:166
MWAWBox2::size
MWAWVec2< T > size() const
the box size
Definition: libmwaw_internal.hxx:1008
MacWrtProStructuresInternal::Block::getRelativeYPos
MWAWPosition::YPos getRelativeYPos() const
Definition: MacWrtProStructures.cxx:220
MacWrtProStructuresInternal::State::m_blocksList
std::vector< shared_ptr< Block > > m_blocksList
the list of block
Definition: MacWrtProStructures.cxx:561
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:66
MacWrtProStructuresInternal::State::m_version
int m_version
the file version
Definition: MacWrtProStructures.cxx:546
MWAWPosition::WRunThrough
@ WRunThrough
Definition: MWAWPosition.hxx:53
MWAWFont::Script
a small struct to define the script position in MWAWFont
Definition: MWAWFont.hxx:100
MWAWFont::Line::Double
@ Double
Definition: MWAWFont.hxx:51
MWAWPosition::XLeft
@ XLeft
Definition: MWAWPosition.hxx:55
MWAWPosition::YBottom
@ YBottom
Definition: MWAWPosition.hxx:57
MWAWInputStream.hxx
MacWrtProStructuresInternal::Block::TEXT
@ TEXT
Definition: MacWrtProStructures.cxx:63
MacWrtProStructuresInternal::Block::Type
Type
Definition: MacWrtProStructures.cxx:63
MacWrtProStructuresInternal::Section::S_PageLeft
@ S_PageLeft
Definition: MacWrtProStructures.cxx:427
MWAWColor::isWhite
bool isWhite() const
return true if the color is white
Definition: libmwaw_internal.hxx:270
MacWrtProStructuresInternal::Block::m_box
MWAWBox2f m_box
the bdbox
Definition: MacWrtProStructures.cxx:262
MWAWFont.hxx
MacWrtProStructuresInternal::Paragraph
Internal: class to store the paragraph properties.
Definition: MacWrtProStructures.cxx:339
MacWrtProStructuresInternal::Cell::~Cell
virtual ~Cell()
destructor
Definition: MacWrtProStructures.cxx:396
MacWrtProStructuresListenerState::sendFont
bool sendFont(int id)
try to send a character style
Definition: MacWrtProStructures.cxx:2827
MWAWTabStop::RIGHT
@ RIGHT
Definition: MWAWParagraph.hxx:48
MWAWBox2< float >
MacWrtProStructuresInternal::Section::m_headerIds
int m_headerIds[2]
the header block ids
Definition: MacWrtProStructures.cxx:499
MacWrtProParserInternal
Internal: the structures of a MacWrtProParser.
Definition: MacWrtProParser.cxx:60
MacWrtProStructuresInternal::Block::fillFrame
void fillFrame(MWAWGraphicStyle &style) const
update the style to include frame style
Definition: MacWrtProStructures.cxx:152
MWAWFont
Class to store font.
Definition: MWAWFont.hxx:44
MacWrtProStructuresInternal::Paragraph::m_value
int m_value
a unknown value
Definition: MacWrtProStructures.cxx:354
MacWrtProStructuresInternal::Block::m_page
int m_page
the page (if absolute)
Definition: MacWrtProStructures.cxx:259
MWAWCell
a structure used to define a cell and its format
Definition: MWAWCell.hxx:53
MWAWFont::setLanguage
void setLanguage(std::string const &lang)
set the language ( in the for en_US, en_GB, en, ...)
Definition: MWAWFont.hxx:479
MWAWBox2::max
MWAWVec2< T > const & max() const
the maximum 2D point (in x and in y)
Definition: libmwaw_internal.hxx:985
MacWrtProStructuresInternal::Block::m_textboxCellType
int m_textboxCellType
filled for textbox : 0: unknown/textbox, 1: cell, 2: textbox(opened)
Definition: MacWrtProStructures.cxx:292
MacWrtProStructuresInternal::Block::m_textPos
int m_textPos
filled for pagebreak pos
Definition: MacWrtProStructures.cxx:280
MacWrtProStructures::buildPageStructures
void buildPageStructures()
look for pages structures
Definition: MacWrtProStructures.cxx:1020
MacWrtProStructuresInternal::Table::~Table
virtual ~Table()
destructor
Definition: MacWrtProStructures.cxx:420
MacWrtProStructuresInternal::Block::m_lineBorder
MWAWBorder m_lineBorder
the line border
Definition: MacWrtProStructures.cxx:277
MWAWBorder::m_color
MWAWColor m_color
the border color
Definition: libmwaw_internal.hxx:363
MacWrtProStructuresListenerState::send
bool send(int blockId)
try to send a block which corresponds to blockid
Definition: MacWrtProStructures.cxx:2693
MacWrtProStructuresListenerState::insertSoftPageBreak
void insertSoftPageBreak()
insert a page break ( if we are not on a new page )
Definition: MacWrtProStructures.cxx:2700
MWAWVec2i
MWAWVec2< int > MWAWVec2i
MWAWVec2 of int.
Definition: libmwaw_internal.hxx:781
MacWrtProParser
the main class to read a MacWrite II and MacWrite Pro file
Definition: MacWrtProParser.hxx:68
libmwaw::DebugStream
std::stringstream DebugStream
a basic stream (if debug_with_files is not defined, does nothing)
Definition: MWAWDebug.hxx:61
MWAWListenerPtr
shared_ptr< MWAWListener > MWAWListenerPtr
a smart pointer of MWAWListener
Definition: libmwaw_internal.hxx:505
MacWrtProStructures::readParagraphs
bool readParagraphs()
try to read a list of paragraph
Definition: MacWrtProStructures.cxx:1352
MWAWFont::setUnderlineStyle
void setUnderlineStyle(Line::Style style=Line::None, bool doReset=true)
sets the underline style ( by default, we also reset the style)
Definition: MWAWFont.hxx:445
MacWrtProStructuresInternal::Section::m_footerIds
int m_footerIds[2]
the footerer block ids
Definition: MacWrtProStructures.cxx:501
MacWrtProStructures::m_asciiFile
libmwaw::DebugFile m_asciiFile
the debug file
Definition: MacWrtProStructures.hxx:311
MacWrtProStructures::numPages
int numPages() const
returns the number of pages
Definition: MacWrtProStructures.cxx:612
MacWrtProStructures::isSent
bool isSent(int blockId)
returns true if the block is already sent ( or does not exists)
Definition: MacWrtProStructures.cxx:2517
MWAWParagraph::NoBreakBit
@ NoBreakBit
Definition: MWAWParagraph.hxx:85
MWAWFont::setFlags
void setFlags(uint32_t fl)
sets the font attributes bold, ...
Definition: MWAWFont.hxx:304
MWAWFont::lowercaseBit
@ lowercaseBit
Definition: MWAWFont.hxx:185
MacWrtProStructures.hxx
MacWrtProStructures::init
void init()
inits all internal variables
Definition: MacWrtProStructures.cxx:594

Generated on Wed Jun 17 2020 06:30:10 for libmwaw by doxygen 1.8.18