RagTime5StyleManager.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_STYLE_MANAGER
35 # define RAG_TIME_5_STYLE_MANAGER
36 
37 #include <map>
38 #include <ostream>
39 #include <sstream>
40 #include <set>
41 #include <string>
42 #include <vector>
43 
44 #include "libmwaw_internal.hxx"
45 #include "MWAWDebug.hxx"
46 #include "MWAWEntry.hxx"
47 #include "MWAWGraphicStyle.hxx"
48 
51 
53 {
54 struct State;
55 }
56 
57 class RagTime5Document;
58 
61 {
62  friend class RagTime5Document;
63 public:
68 
69  struct GraphicStyle;
70  struct TextStyle;
71 
80 
82  bool updateSurfaceStyle(int graphicId, MWAWGraphicStyle &surfaceStyle) const;
84  bool updateFrameStyle(int graphicId, MWAWGraphicStyle &surfaceStyle) const;
86  bool updateBorderStyle(int graphicId, MWAWGraphicStyle &borderStyle, bool isLine) const;
88  bool getLineColor(int graphicId, MWAWColor &color) const;
90  bool updateTextStyles(int textId, MWAWFont &font, MWAWParagraph &para, MWAWSection &section, double totalWidth=0) const;
92  bool getCellBorder(int graphicId, MWAWBorder &border) const;
94  bool getCellBackgroundColor(int graphicId, MWAWColor &color) const;
96  bool updateCellFormat(int formatId, MWAWCell &cell) const;
97 
98 protected:
100  void updateTextStyles(size_t id, RagTime5StyleManager::TextStyle const &style,
101  std::vector<RagTime5StyleManager::TextStyle> const &listReadStyles,
102  std::multimap<size_t, size_t> const &idToChildIpMap,
103  std::set<size_t> &seens);
105  void updateGraphicStyles(size_t id, RagTime5StyleManager::GraphicStyle const &style,
106  std::vector<RagTime5StyleManager::GraphicStyle> const &listReadStyles,
107  std::multimap<size_t, size_t> const &idToChildIpMap,
108  std::set<size_t> &seens);
109 
110 public:
112  struct GraphicStyle {
115  : m_parentId(-1000)
116  , m_width(-1)
117  , m_dash()
118  , m_pattern()
119  , m_gradient(-1)
120  , m_gradientRotation(-1000)
121  , m_gradientCenter(MWAWVec2f(0.5f,0.5f))
122  , m_position(-1)
123  , m_cap(1)
124  , m_mitter(-1)
125  , m_limitPercent(-1)
126  , m_hidden(false)
127  , m_extra("")
128  {
131  for (auto &alpha : m_colorsAlpha) alpha=-1;
132  }
134  virtual ~GraphicStyle();
136  bool isDefault() const
137  {
138  return m_parentId<=-1000 && m_width<0 && !m_dash.isSet() && !m_pattern &&
139  m_gradient<0 && m_gradientRotation<=-1000 && !m_gradientCenter.isSet() &&
140  m_position<0 && m_cap<0 && m_mitter<0 &&
141  !m_colors[0].isSet() && !m_colors[1].isSet() && m_colorsAlpha[0]<0 && m_colorsAlpha[1]<0 &&
142  m_limitPercent<0 && !m_hidden.isSet() && m_extra.empty();
143  }
145  bool updateColor(bool first, int colorId, std::vector<MWAWColor> const &colorList);
147  friend std::ostream &operator<<(std::ostream &o, GraphicStyle const &style);
149  void insert(GraphicStyle const &childStyle);
151  bool read(MWAWInputStreamPtr &input, RagTime5StructManager::Field const &field, std::vector<MWAWColor> const &colorList);
155  float m_width;
159  float m_colorsAlpha[2];
163  std::shared_ptr<MWAWGraphicStyle::Pattern> m_pattern;
173  int m_cap;
175  int m_mitter;
181  std::string m_extra;
182 
183  GraphicStyle(GraphicStyle const &)=default; // removeme
185  GraphicStyle &operator=(GraphicStyle const &)=default; // removeme
187  };
189  struct TextStyle {
192  : m_linkIdList()
193  , m_dateStyleId(-1)
194  , m_graphStyleId(-1)
195  , m_graphLineStyleId(-1)
196  , m_keepWithNext(false)
197  , m_justify(-1)
198  , m_breakMethod(-1)
199  , m_tabList()
200  , m_fontName("")
201  , m_fontId(-1)
202  , m_fontSize(-1)
203  , m_scriptPosition(0)
204  , m_fontScaling(-1)
205  , m_underline(-1)
206  , m_caps(-1)
207  , m_language(-1)
208  , m_widthStreching(-1)
209  , m_numColumns(-1)
210  , m_columnGap(-1)
211  , m_extra("")
212  {
213  for (auto &parentId : m_parentId) parentId=-1;
214  for (auto &fontFlag : m_fontFlags) fontFlag=0;
215  for (auto &margin : m_margins) margin=-1;
216  for (auto &spacing : m_spacings) spacing=-1;
217  for (auto &spacingUnit : m_spacingUnits) spacingUnit=-1;
218  for (auto &letterSpacing : m_letterSpacings) letterSpacing=0;
219  }
221  virtual ~TextStyle();
223  bool isDefault() const
224  {
225  if (m_parentId[0]>=0 || m_parentId[1]>=0 || !m_linkIdList.empty() ||
227  m_keepWithNext.isSet() || m_justify>=0 || m_breakMethod>=0 || !m_tabList.empty() ||
228  !m_fontName.empty() || m_fontId>=0 || m_fontSize>=0 || m_fontFlags[0] || m_fontFlags[1] || m_scriptPosition.isSet() ||
229  m_fontScaling>=0 || m_underline>=0 || m_caps>=0 || m_language>=0 || m_widthStreching>=0 ||
230  m_numColumns>=0 || m_columnGap>=0 || !m_extra.empty())
231  return false;
232  for (int i=0; i<3; ++i) {
233  if (m_margins[i]>=0 || m_spacings[i]>=0 || m_spacingUnits[i]>=0)
234  return false;
235  }
236  for (auto spacing : m_letterSpacings) {
237  if (spacing>0 || spacing<0)
238  return false;
239  }
240  return true;
241  }
243  static std::string getLanguageLocale(int id);
244 
246  friend std::ostream &operator<<(std::ostream &o, TextStyle const &style);
248  void insert(TextStyle const &childStyle);
250  bool read(RagTime5StructManager::Field const &field);
252  int m_parentId[2];
254  std::vector<int> m_linkIdList;
261 
262  // paragraph
263 
269  double m_spacings[3];
275  double m_margins[3];
277  std::vector<RagTime5StructManager::TabStop> m_tabList;
278 
279  // character
280 
282  librevenge::RVNGString m_fontName;
284  int m_fontId;
286  float m_fontSize;
288  uint32_t m_fontFlags[2];
296  int m_caps;
300  double m_letterSpacings[4];
303 
304  // column
305 
309  double m_columnGap;
310 
312  std::string m_extra;
313 
314  TextStyle(TextStyle const &)=default; // removeme
315  TextStyle(TextStyle &&)=default;
316  TextStyle &operator=(TextStyle const &)=default; // removeme
318  };
319 
320 public:
322  static std::string printType(unsigned long fileType)
323  {
324  return RagTime5StructManager::printType(fileType);
325  }
326 
327 protected:
328  //
329  // data
330  //
331 
336 
338  std::shared_ptr<RagTime5StyleManagerInternal::State> m_state;
339 
340 private:
343 };
344 
345 #endif
346 // vim: set filetype=cpp tabstop=2 shiftwidth=2 cindent autoindent smartindent noexpandtab:
MWAWEntry
basic class to store an entry in a file This contained :
Definition: MWAWEntry.hxx:47
RagTime5StyleManager::updateTextStyles
bool updateTextStyles(int textId, MWAWFont &font, MWAWParagraph &para, MWAWSection &section, double totalWidth=0) const
update the font and the paragraph properties using a text style
Definition: RagTime5StyleManager.cxx:775
RagTime5StyleManager::TextStyle::m_margins
double m_margins[3]
the spacings in point ( left, right, first)
Definition: RagTime5StyleManager.hxx:275
MWAWParagraph::m_justify
MWAWVariable< Justification > m_justify
the justification
Definition: MWAWParagraph.hxx:167
RagTime5StyleManager::GraphicStyle::m_limitPercent
float m_limitPercent
the line limit
Definition: RagTime5StyleManager.hxx:177
MWAWInputStreamPtr
std::shared_ptr< MWAWInputStream > MWAWInputStreamPtr
a smart pointer of MWAWInputStream
Definition: libmwaw_internal.hxx:551
RagTime5Document::readPositions
bool readPositions(int posId, std::vector< long > &listPosition)
try to read a positions zone in data
Definition: RagTime5Document.cxx:923
MWAWCell::getFormat
Format const & getFormat() const
returns the cell format
Definition: MWAWCell.hxx:237
RagTime5StyleManagerInternal::ColorFieldParser::parseField
bool parseField(RagTime5StructManager::Field &field, RagTime5Zone &, int n, libmwaw::DebugStream &f) final
parse a field
Definition: RagTime5StyleManager.cxx:74
RagTime5StructManager::Field::T_Unicode
@ T_Unicode
Definition: RagTime5StructManager.hxx:245
MWAWFont::set
void set(Script const &newscript)
sets the script position
Definition: MWAWFont.hxx:314
RagTime5StyleManager::readGraphicStyles
bool readGraphicStyles(RagTime5ClusterManager::Cluster &cluster)
try to read a main graphic styles
Definition: RagTime5StyleManager.cxx:329
RagTime5StyleManagerInternal::State::m_colorsList
std::vector< MWAWColor > m_colorsList
the list of color
Definition: RagTime5StyleManager.cxx:280
RagTime5StyleManager::updateCellFormat
bool updateCellFormat(int formatId, MWAWCell &cell) const
updates the cell format
Definition: RagTime5StyleManager.cxx:1242
MWAWFont::smallCapsBit
@ smallCapsBit
Definition: MWAWFont.hxx:192
MWAWTabStop::m_leaderCharacter
uint16_t m_leaderCharacter
the leader char
Definition: MWAWParagraph.hxx:78
MWAW_DEBUG_MSG
#define MWAW_DEBUG_MSG(M)
Definition: libmwaw_internal.hxx:129
MWAWVec2f
MWAWVec2< float > MWAWVec2f
MWAWVec2 of float.
Definition: libmwaw_internal.hxx:842
MWAWVariable< MWAWColor >
libmwaw::DebugFile::addDelimiter
void addDelimiter(long pos, char c)
adds a not breaking delimiter in position pos
Definition: MWAWDebug.cxx:73
RagTime5StyleManager::TextStyle::m_parentId
int m_parentId[2]
the parent id ( main and style ?)
Definition: RagTime5StyleManager.hxx:252
RagTime5StyleManagerInternal::State
Internal: the state of a RagTime5Style.
Definition: RagTime5StyleManager.cxx:268
MWAWBorder::Dash
@ Dash
Definition: libmwaw_internal.hxx:335
RagTime5StyleManager::TextStyle::m_linkIdList
std::vector< int > m_linkIdList
the link id list
Definition: RagTime5StyleManager.hxx:254
RagTime5StyleManager::GraphicStyle::read
bool read(MWAWInputStreamPtr &input, RagTime5StructManager::Field const &field, std::vector< MWAWColor > const &colorList)
try to read a graphic style
Definition: RagTime5StyleManager.cxx:1270
MWAWFont::Line
a small struct to define a line in MWAWFont
Definition: MWAWFont.hxx:47
RagTime5StyleManagerInternal::GraphicFieldParser::parseField
bool parseField(RagTime5StructManager::Field &field, RagTime5Zone &zone, int n, libmwaw::DebugStream &f) final
parse a field
Definition: RagTime5StyleManager.cxx:183
RagTime5StyleManager::TextStyle::operator=
TextStyle & operator=(TextStyle &&)=default
MWAWGraphicStyle::setSurfaceColor
void setSurfaceColor(MWAWColor const &col, float opacity=1)
set the surface color
Definition: MWAWGraphicStyle.hxx:415
RagTime5StyleManagerInternal::TextFieldParser::TextFieldParser
TextFieldParser()
constructor
Definition: RagTime5StyleManager.cxx:217
RagTime5StyleManager::GraphicStyle::operator=
GraphicStyle & operator=(GraphicStyle const &)=default
MWAWCell::F_DATE
@ F_DATE
Definition: MWAWCell.hxx:56
RagTime5StyleManagerInternal::ColorFieldParser::ColorFieldParser
ColorFieldParser()
constructor
Definition: RagTime5StyleManager.cxx:58
RagTime5StructManager::Field::T_Color
@ T_Color
Definition: RagTime5StructManager.hxx:245
RagTime5StyleManager::RagTime5StyleManager
RagTime5StyleManager(RagTime5Document &doc)
constructor
Definition: RagTime5StyleManager.cxx:306
RagTime5StyleManager::GraphicStyle::m_mitter
int m_mitter
the line mitter ( triangle=1, round, out)
Definition: RagTime5StyleManager.hxx:175
MWAWGraphicStyle::Gradient::m_type
Type m_type
the gradient type
Definition: MWAWGraphicStyle.hxx:260
MWAWParagraph::m_tabs
MWAWVariable< std::vector< MWAWTabStop > > m_tabs
the tabulations
Definition: MWAWParagraph.hxx:162
MWAWCell::F_NUMBER_DECIMAL
@ F_NUMBER_DECIMAL
Definition: MWAWCell.hxx:58
RagTime5StyleManager::GraphicStyle::m_hidden
MWAWVariable< bool > m_hidden
flag to know if we need to print the shape
Definition: RagTime5StyleManager.hxx:179
RagTime5StyleManagerInternal::TextFieldParser::parseField
bool parseField(RagTime5StructManager::Field &field, RagTime5Zone &, int n, libmwaw::DebugStream &f) final
parse a field
Definition: RagTime5StyleManager.cxx:244
MWAWFont::boldBit
@ boldBit
Definition: MWAWFont.hxx:190
MWAWCell::F_NUMBER_PERCENT
@ F_NUMBER_PERCENT
Definition: MWAWCell.hxx:58
RagTime5StructManager.hxx
RagTime5StructManager::Field::T_Unstructured
@ T_Unstructured
Definition: RagTime5StructManager.hxx:245
RagTime5StyleManagerInternal::ColorFieldParser::m_colorsList
std::vector< MWAWColor > m_colorsList
the list of color
Definition: RagTime5StyleManager.cxx:139
MWAWColor::white
static MWAWColor white()
return the white color
Definition: libmwaw_internal.hxx:250
MWAWFont::setColor
void setColor(MWAWColor color)
sets the font color
Definition: MWAWFont.hxx:341
MWAWTabStop::CENTER
@ CENTER
Definition: MWAWParagraph.hxx:48
MWAWParagraph::setInterline
void setInterline(double value, librevenge::RVNGUnit unit, LineSpacingType type=Fixed)
set the interline
Definition: MWAWParagraph.hxx:129
MWAWFont::setWidthStreching
void setWidthStreching(float scale=1.0)
sets the text width streching
Definition: MWAWFont.hxx:303
RagTime5StyleManagerInternal::GraphicFieldParser::GraphicFieldParser
GraphicFieldParser(std::vector< MWAWColor > const &colorList)
constructor
Definition: RagTime5StyleManager.cxx:150
MWAWEntry.hxx
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:387
RagTime5StyleManager::m_document
RagTime5Document & m_document
the parser
Definition: RagTime5StyleManager.hxx:333
MWAWFontConverter.hxx
MWAWColor
the class to store a color
Definition: libmwaw_internal.hxx:192
RagTime5StructManager::Field
a field of RagTime 5/6 structures
Definition: RagTime5StructManager.hxx:242
RagTime5StyleManagerInternal::TextFieldParser::m_styleList
std::vector< RagTime5StyleManager::TextStyle > m_styleList
the list of read style
Definition: RagTime5StyleManager.cxx:264
MWAWParagraph::m_spacings
MWAWVariable< double > m_spacings[3]
the line spacing
Definition: MWAWParagraph.hxx:156
MWAWSection::setColumns
void setColumns(int num, double width, librevenge::RVNGUnit widthUnit, double colSep=0)
a function which sets n uniform columns
Definition: MWAWSection.cxx:109
RagTime5StyleManagerInternal::State::initColorsList
void initColorsList()
init the color list (if empty)
Definition: RagTime5StyleManager.cxx:293
MWAWGraphicStyle::setBackgroundColor
void setBackgroundColor(MWAWColor const &col, float opacity=1)
set the background color
Definition: MWAWGraphicStyle.hxx:447
MWAWParagraph::JustificationFullAllLines
@ JustificationFullAllLines
Definition: MWAWParagraph.hxx:91
RagTime5Document::readLongList
bool readLongList(RagTime5ClusterManager::Link const &link, std::vector< long > &list)
try to read/get the list of long of a L_LongList
Definition: RagTime5Document.cxx:914
MWAWCell::F_NUMBER_SCIENTIFIC
@ F_NUMBER_SCIENTIFIC
Definition: MWAWCell.hxx:58
RagTime5StyleManager::GraphicStyle::m_gradientCenter
MWAWVariable< MWAWVec2f > m_gradientCenter
the rotation center(checkme)
Definition: RagTime5StyleManager.hxx:169
RagTime5Document.hxx
MWAWGraphicStyle::Gradient::G_Linear
@ G_Linear
Definition: MWAWGraphicStyle.hxx:177
RagTime5StyleManagerInternal::State::m_textStyleList
std::vector< RagTime5StyleManager::TextStyle > m_textStyleList
the list of text styles
Definition: RagTime5StyleManager.cxx:286
MWAWParagraph
class to store the paragraph properties
Definition: MWAWParagraph.hxx:85
RagTime5StyleManager::printType
static std::string printType(unsigned long fileType)
debug: print a file type
Definition: RagTime5StyleManager.hxx:322
RagTime5StyleManager::updateFrameStyle
bool updateFrameStyle(int graphicId, MWAWGraphicStyle &surfaceStyle) const
updates a graphic style (used for textbox)
Definition: RagTime5StyleManager.cxx:579
MWAWCell::setFormat
void setFormat(Format const &format)
set the cell format
Definition: MWAWCell.hxx:242
MWAWFont::Line::Simple
@ Simple
Definition: MWAWFont.hxx:49
MWAWFont::setUnderline
void setUnderline(Line const &line)
sets the underline
Definition: MWAWFont.hxx:461
MWAWBorder::m_width
double m_width
the border total width in point
Definition: libmwaw_internal.hxx:387
RagTime5StyleManager::TextStyle::getLanguageLocale
static std::string getLanguageLocale(int id)
returns the language locale name corresponding to an id ( if known)
Definition: RagTime5StyleManager.cxx:1692
MWAWCell::F_NUMBER_GENERIC
@ F_NUMBER_GENERIC
Definition: MWAWCell.hxx:58
RagTime5StyleManager::TextStyle::m_graphStyleId
int m_graphStyleId
the graphic style id
Definition: RagTime5StyleManager.hxx:258
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:292
MWAWGraphicStyle
a structure used to define a picture style
Definition: MWAWGraphicStyle.hxx:48
RagTime5StyleManager::TextStyle::isDefault
bool isDefault() const
returns true if the line style is default
Definition: RagTime5StyleManager.hxx:223
MWAWCell::Format::m_DTFormat
std::string m_DTFormat
a date/time format ( using a subset of strftime format )
Definition: MWAWCell.hxx:113
MWAWParagraph::m_margins
MWAWVariable< double > m_margins[3]
the margins
Definition: MWAWParagraph.hxx:148
RagTime5StructManager::Field::T_FieldList
@ T_FieldList
Definition: RagTime5StructManager.hxx:244
RagTime5StyleManagerInternal::TextFieldParser::parseHeaderField
bool parseHeaderField(RagTime5StructManager::Field &field, RagTime5Zone &, int n, libmwaw::DebugStream &f) final
parse a header field
Definition: RagTime5StyleManager.cxx:232
MWAWBorder::Dot
@ Dot
Definition: libmwaw_internal.hxx:335
RagTime5StyleManagerInternal::GraphicFieldParser::m_colorsList
std::vector< MWAWColor > const & m_colorsList
Definition: RagTime5StyleManager.cxx:204
MWAWTabStop::DECIMAL
@ DECIMAL
Definition: MWAWParagraph.hxx:48
RagTime5StyleManager::readGraphicColors
bool readGraphicColors(RagTime5ClusterManager::Cluster &cluster)
try to read a graphic color zone
Definition: RagTime5StyleManager.cxx:320
RagTime5StyleManagerInternal::GraphicFieldParser
Internal: the helper to read field graphic field for a RagTime5StyleManager.
Definition: RagTime5StyleManager.cxx:148
RagTime5StyleManager::TextStyle::TextStyle
TextStyle()
constructor
Definition: RagTime5StyleManager.hxx:191
RagTime5StyleManager::GraphicStyle::m_parentId
int m_parentId
the parent id
Definition: RagTime5StyleManager.hxx:153
RagTime5StyleManager::GraphicStyle::operator=
GraphicStyle & operator=(GraphicStyle &&)=default
MWAWFont::embossBit
@ embossBit
Definition: MWAWFont.hxx:190
RagTime5StyleManagerInternal::ColorFieldParser::~ColorFieldParser
~ColorFieldParser() final
destructor
Definition: RagTime5StyleManager.cxx:142
RagTime5StyleManager::TextStyle::m_dateStyleId
int m_dateStyleId
the date style id
Definition: RagTime5StyleManager.hxx:256
MWAWGraphicStyle::m_lineOpacity
float m_lineOpacity
the line opacity: 0=transparent
Definition: MWAWGraphicStyle.hxx:514
MWAWFont::uppercaseBit
@ uppercaseBit
Definition: MWAWFont.hxx:192
MWAWCell.hxx
Defines MWAWCell (cell content and format)
RagTime5StyleManager::GraphicStyle::GraphicStyle
GraphicStyle(GraphicStyle &&)=default
RagTime5StyleManager
basic class used to read/store RagTime 5/6 styles
Definition: RagTime5StyleManager.hxx:61
MWAWCell::Format::m_digits
int m_digits
the number of digits
Definition: MWAWCell.hxx:99
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:427
MWAWVariable::isSet
bool isSet() const
return true if the variable is set
Definition: libmwaw_internal.hxx:635
RagTime5StyleManager::TextStyle::m_language
int m_language
the language
Definition: RagTime5StyleManager.hxx:298
MWAWGraphicStyle::Pattern
a basic pattern used in a MWAWGraphicStyle:
Definition: MWAWGraphicStyle.hxx:277
RagTime5StyleManager::TextStyle::m_fontId
int m_fontId
the font id
Definition: RagTime5StyleManager.hxx:284
RagTime5ClusterManager.hxx
RagTime5StyleManager::TextStyle::m_tabList
std::vector< RagTime5StructManager::TabStop > m_tabList
the tabulations
Definition: RagTime5StyleManager.hxx:277
RagTime5StyleManagerInternal::GraphicFieldParser::m_styleList
std::vector< RagTime5StyleManager::GraphicStyle > m_styleList
the list of graphic style
Definition: RagTime5StyleManager.cxx:206
RagTime5StructManager::FieldParser
virtual class use to parse the field data
Definition: RagTime5StructManager.hxx:353
MWAWColor::barycenter
static MWAWColor barycenter(float alpha, MWAWColor const &colA, float beta, MWAWColor const &colB)
return alpha*colA+beta*colB
Definition: libmwaw_internal.cxx:206
MWAWCell::Format::m_numberFormat
NumberType m_numberFormat
the numeric format
Definition: MWAWCell.hxx:97
RagTime5StyleManager::updateBorderStyle
bool updateBorderStyle(int graphicId, MWAWGraphicStyle &borderStyle, bool isLine) const
updates a graphic style(border)
Definition: RagTime5StyleManager.cxx:543
RagTime5StyleManagerInternal
Internal: the structures of a RagTime5Style.
Definition: RagTime5StyleManager.cxx:53
RagTime5Document
the main class to read a RagTime v5 file
Definition: RagTime5Document.hxx:77
RagTime5StyleManager::TextStyle::m_caps
int m_caps
caps : none, all caps, lower caps, inital caps + other lowers
Definition: RagTime5StyleManager.hxx:296
RagTime5StyleManager::GraphicStyle::m_width
float m_width
the line width (in point)
Definition: RagTime5StyleManager.hxx:155
RagTime5StyleManager::TextStyle::read
bool read(RagTime5StructManager::Field const &field)
try to read a text style
Definition: RagTime5StyleManager.cxx:1745
RagTime5StyleManager::m_state
std::shared_ptr< RagTime5StyleManagerInternal::State > m_state
the state
Definition: RagTime5StyleManager.hxx:338
MWAWFont::initialcaseBit
@ initialcaseBit
Definition: MWAWFont.hxx:194
RagTime5StyleManager::TextStyle::m_letterSpacings
double m_letterSpacings[4]
the spacings in percent ( normal, minimum, maximum)
Definition: RagTime5StyleManager.hxx:300
RagTime5StructManager::Field::T_Code
@ T_Code
Definition: RagTime5StructManager.hxx:245
MWAWParagraph::JustificationCenter
@ JustificationCenter
Definition: MWAWParagraph.hxx:90
MWAWParagraph::m_breakStatus
MWAWVariable< int > m_breakStatus
a list of bits: 0x1 (unbreakable), 0x2 (do not break after)
Definition: MWAWParagraph.hxx:169
MWAWFont::Line::None
@ None
Definition: MWAWFont.hxx:49
MWAWFont::shadowBit
@ shadowBit
Definition: MWAWFont.hxx:191
MWAWFont::Line::m_type
Type m_type
the type
Definition: MWAWFont.hxx:97
MWAWParagraph.hxx
RagTime5StyleManager::RagTime5StyleManager
RagTime5StyleManager(RagTime5StyleManager const &orig)=delete
RagTime5StructManager::Field::m_longValue
long m_longValue[2]
the long value
Definition: RagTime5StructManager.hxx:280
libmwaw_internal.hxx
MWAWGraphicStyle::m_lineWidth
float m_lineWidth
the linewidth
Definition: MWAWGraphicStyle.hxx:508
RagTime5StructManager::printType
static std::string printType(unsigned long fileType)
debug: print a file type
Definition: RagTime5StructManager.cxx:94
RagTime5StructManager::Field::m_fileType
unsigned long m_fileType
the file type
Definition: RagTime5StructManager.hxx:276
RagTime5StyleManager::TextStyle::m_keepWithNext
MWAWVariable< bool > m_keepWithNext
the keep with next flag
Definition: RagTime5StyleManager.hxx:265
RagTime5Document::readStructZone
bool readStructZone(RagTime5ClusterManager::Link const &link, RagTime5StructManager::FieldParser &parser, int headerSz, RagTime5ClusterManager::NameLink *nameLink=nullptr)
try to read a structured zone
Definition: RagTime5Document.cxx:1722
MWAWColor::getBlue
unsigned char getBlue() const
returns the green value
Definition: libmwaw_internal.hxx:269
MWAWCell::Format
a structure uses to define the format of a cell content
Definition: MWAWCell.hxx:60
RagTime5StructManager::Field::T_Long
@ T_Long
Definition: RagTime5StructManager.hxx:244
MWAWGraphicStyle::Gradient::Stop
a structure used to define the gradient limit in MWAWGraphicStyle
Definition: MWAWGraphicStyle.hxx:141
MWAWBorder
a border
Definition: libmwaw_internal.hxx:333
RagTime5Zone
main zone in a RagTime v5-v6 document
Definition: RagTime5StructManager.hxx:51
RagTime5StyleManager::GraphicStyle::m_gradient
int m_gradient
the gradient 0: none, normal, radial
Definition: RagTime5StyleManager.hxx:165
MWAWEntry::length
long length() const
returns the length of the zone
Definition: MWAWEntry.hxx:93
RagTime5StyleManager::TextStyle::m_spacings
double m_spacings[3]
the interline/before/after value
Definition: RagTime5StyleManager.hxx:269
RagTime5StyleManagerInternal::ColorFieldParser
Internal: the helper to read field color field for a RagTime5StyleManager.
Definition: RagTime5StyleManager.cxx:56
RagTime5StyleManager::TextStyle::m_numColumns
int m_numColumns
the number of columns
Definition: RagTime5StyleManager.hxx:307
RagTime5StructManager::Field::T_DoubleList
@ T_DoubleList
Definition: RagTime5StructManager.hxx:244
RagTime5StyleManager::TextStyle::m_fontName
librevenge::RVNGString m_fontName
the font name
Definition: RagTime5StyleManager.hxx:282
MWAWVec2< float >
MWAWCell::F_NUMBER_FRACTION
@ F_NUMBER_FRACTION
Definition: MWAWCell.hxx:58
RagTime5StructManager::FieldParser::getZoneName
virtual std::string getZoneName() const
return the debug name corresponding to a zone
Definition: RagTime5StructManager.hxx:363
RagTime5StructManager::FieldParser::FieldParser
FieldParser(std::string const &zoneName)
constructor
Definition: RagTime5StructManager.hxx:355
RagTime5StyleManager::TextStyle::m_extra
std::string m_extra
extra data
Definition: RagTime5StyleManager.hxx:312
MWAWTabStop::m_alignment
Alignment m_alignment
the alignment ( left, center, ...)
Definition: MWAWParagraph.hxx:76
MWAWSection
a class which stores section properties
Definition: MWAWSection.hxx:46
MWAWDebug.hxx
RagTime5StyleManager::TextStyle::m_scriptPosition
MWAWVariable< float > m_scriptPosition
the font script position ( in percent)
Definition: RagTime5StyleManager.hxx:290
RagTime5StyleManager::GraphicStyle::insert
void insert(GraphicStyle const &childStyle)
update the current style
Definition: RagTime5StyleManager.cxx:1561
RagTime5StyleManager::TextStyle::m_widthStreching
double m_widthStreching
the width streching
Definition: RagTime5StyleManager.hxx:302
MWAWEntry::begin
long begin() const
returns the begin offset
Definition: MWAWEntry.hxx:83
RagTime5StyleManager::GraphicStyle::GraphicStyle
GraphicStyle()
constructor
Definition: RagTime5StyleManager.hxx:114
RagTime5StyleManager::getLineColor
bool getLineColor(int graphicId, MWAWColor &color) const
returns the line color corresponding to a graphic style
Definition: RagTime5StyleManager.cxx:457
MWAWGraphicStyle::setPattern
void setPattern(Pattern const &pat, float opacity=1)
set the pattern
Definition: MWAWGraphicStyle.hxx:426
RagTime5StyleManager::TextStyle::m_graphLineStyleId
int m_graphLineStyleId
the graphic line style id
Definition: RagTime5StyleManager.hxx:260
RagTime5StyleManager::GraphicStyle
the graphic style of a RagTime v5-v6 document
Definition: RagTime5StyleManager.hxx:112
RagTime5StructManager::Field::T_Double
@ T_Double
Definition: RagTime5StructManager.hxx:244
MWAWColor::black
static MWAWColor black()
return the back color
Definition: libmwaw_internal.hxx:245
RagTime5StyleManagerInternal::TextFieldParser::~TextFieldParser
~TextFieldParser() final
destructor
Definition: RagTime5StyleManager.cxx:289
RagTime5StyleManagerInternal::TextFieldParser
Internal: the helper to read style for a RagTime5StyleManager.
Definition: RagTime5StyleManager.cxx:215
MWAWTabStop::m_position
double m_position
the tab position
Definition: MWAWParagraph.hxx:74
MWAWFont::Line::m_style
Style m_style
the style
Definition: MWAWFont.hxx:95
RagTime5StyleManager::GraphicStyle::m_extra
std::string m_extra
extra data
Definition: RagTime5StyleManager.hxx:181
MWAWFont::setId
void setId(int newId)
sets the font id
Definition: MWAWFont.hxx:264
RagTime5StyleManager.hxx
RagTime5StyleManager::TextStyle::m_justify
int m_justify
justify 0: left, 1:center, 2:right, 3:full, 4:full all
Definition: RagTime5StyleManager.hxx:267
RagTime5StyleManagerInternal::GraphicFieldParser::parseHeaderField
bool parseHeaderField(RagTime5StructManager::Field &field, RagTime5Zone &zone, int n, libmwaw::DebugStream &f) final
parse a header field
Definition: RagTime5StyleManager.cxx:170
RagTime5StyleManager::readFormats
bool readFormats(RagTime5ClusterManager::Cluster &cluster)
try to read the list of format
Definition: RagTime5StyleManager.cxx:919
RagTime5Document::getDataZone
std::shared_ptr< RagTime5Zone > getDataZone(int dataId) const
returns the zone corresponding to a data id (or 0)
Definition: RagTime5Document.cxx:465
MWAWFont::Line::m_word
bool m_word
word or not word line
Definition: MWAWFont.hxx:103
RagTime5StyleManager::getCellBorder
bool getCellBorder(int graphicId, MWAWBorder &border) const
returns a cell border
Definition: RagTime5StyleManager.cxx:471
RagTime5ClusterManager::Cluster::m_nameLink
NameLink m_nameLink
the name link
Definition: RagTime5ClusterManager.hxx:312
RagTime5StyleManager::TextStyle::operator=
TextStyle & operator=(TextStyle const &)=default
RagTime5StructManager::Field::T_2Long
@ T_2Long
Definition: RagTime5StructManager.hxx:244
RagTime5StyleManagerInternal::GraphicFieldParser::~GraphicFieldParser
~GraphicFieldParser() final
destructor
Definition: RagTime5StyleManager.cxx:209
RagTime5ClusterManager::Cluster::m_linksList
std::vector< Link > m_linksList
the link list
Definition: RagTime5ClusterManager.hxx:318
MWAWBorder::m_style
Style m_style
the border style
Definition: libmwaw_internal.hxx:380
RagTime5StyleManager::TextStyle::m_columnGap
double m_columnGap
the gap between columns
Definition: RagTime5StyleManager.hxx:309
RagTime5ClusterManager::Cluster::m_dataLink
Link m_dataLink
the main data link
Definition: RagTime5ClusterManager.hxx:310
MWAWEntry::end
long end() const
returns the end offset
Definition: MWAWEntry.hxx:88
MWAWFont::setSize
void setSize(float sz, bool isRelative=false)
sets the font size
Definition: MWAWFont.hxx:275
RagTime5StyleManager::TextStyle::m_breakMethod
int m_breakMethod
the break method 0: asIs, next container, next page, next even page, next odd page
Definition: RagTime5StyleManager.hxx:273
MWAWGraphicStyle::m_lineColor
MWAWColor m_lineColor
the line color
Definition: MWAWGraphicStyle.hxx:516
MWAWCell::F_NUMBER
@ F_NUMBER
Definition: MWAWCell.hxx:56
MWAWCell::F_TIME
@ F_TIME
Definition: MWAWCell.hxx:56
operator<<
std::ostream & operator<<(std::ostream &o, RagTime5StyleManager::GraphicStyle const &style)
Definition: RagTime5StyleManager.cxx:1587
RagTime5StyleManager::updateSurfaceStyle
bool updateSurfaceStyle(int graphicId, MWAWGraphicStyle &surfaceStyle) const
updates a graphic style
Definition: RagTime5StyleManager.cxx:599
MWAWGraphicStyle.hxx
MWAWFont::italicBit
@ italicBit
Definition: MWAWFont.hxx:190
MWAWParagraph::m_marginsUnit
MWAWVariable< librevenge::RVNGUnit > m_marginsUnit
the margins INCH, ...
Definition: MWAWParagraph.hxx:150
MWAWCell::F_NUMBER_CURRENCY
@ F_NUMBER_CURRENCY
Definition: MWAWCell.hxx:58
RagTime5StyleManager::TextStyle::m_fontSize
float m_fontSize
the font size
Definition: RagTime5StyleManager.hxx:286
RagTime5StyleManager::TextStyle::operator<<
friend std::ostream & operator<<(std::ostream &o, TextStyle const &style)
operator<<
Definition: RagTime5StyleManager.cxx:2310
MWAWGraphicStyle::m_gradient
Gradient m_gradient
the gradient
Definition: MWAWGraphicStyle.hxx:533
MWAWCell::Format::m_format
FormatType m_format
the cell format : by default unknown
Definition: MWAWCell.hxx:95
RagTime5StyleManager::GraphicStyle::m_colors
MWAWVariable< MWAWColor > m_colors[2]
the first and second color
Definition: RagTime5StyleManager.hxx:157
MWAWColor::getRed
unsigned char getRed() const
returns the red value
Definition: libmwaw_internal.hxx:274
RagTime5StyleManager::GraphicStyle::m_cap
int m_cap
the line caps ( normal=1, round, square)
Definition: RagTime5StyleManager.hxx:173
MWAWParagraph::JustificationFull
@ JustificationFull
Definition: MWAWParagraph.hxx:90
RagTime5StructManager::Field::T_LongList
@ T_LongList
Definition: RagTime5StructManager.hxx:244
MWAWSection.hxx
MWAWParagraph::JustificationRight
@ JustificationRight
Definition: MWAWParagraph.hxx:91
RagTime5StyleManager::TextStyle::m_fontFlags
uint32_t m_fontFlags[2]
the font flags (add and remove )
Definition: RagTime5StyleManager.hxx:288
MWAWParserStatePtr
std::shared_ptr< MWAWParserState > MWAWParserStatePtr
a smart pointer of MWAWParserState
Definition: libmwaw_internal.hxx:557
MWAWCell::Format::m_parenthesesForNegative
bool m_parenthesesForNegative
true if we use parenthese to print negative number
Definition: MWAWCell.hxx:109
RagTime5StructManager::Field::T_LongDouble
@ T_LongDouble
Definition: RagTime5StructManager.hxx:245
RagTime5StyleManager::GraphicStyle::isDefault
bool isDefault() const
returns true if the line style is default
Definition: RagTime5StyleManager.hxx:136
RagTime5StructManager::Field::T_TabList
@ T_TabList
Definition: RagTime5StructManager.hxx:244
RagTime5StyleManagerInternal::State::m_formatList
std::vector< MWAWCell::Format > m_formatList
the list of format
Definition: RagTime5StyleManager.cxx:282
libmwaw::DebugFile::addPos
void addPos(long pos)
adds a new position in the file
Definition: MWAWDebug.cxx:53
MWAWGraphicStyle::m_lineDashWidth
std::vector< float > m_lineDashWidth
the dash array: a sequence of (fullsize, emptysize)
Definition: MWAWGraphicStyle.hxx:506
RagTime5StyleManager::operator=
RagTime5StyleManager operator=(RagTime5StyleManager const &orig)=delete
RagTime5StyleManagerInternal::State::m_graphicStyleList
std::vector< RagTime5StyleManager::GraphicStyle > m_graphicStyleList
the list of graphic styles
Definition: RagTime5StyleManager.cxx:284
RagTime5StyleManager::updateGraphicStyles
void updateGraphicStyles(size_t id, RagTime5StyleManager::GraphicStyle const &style, std::vector< RagTime5StyleManager::GraphicStyle > const &listReadStyles, std::multimap< size_t, size_t > const &idToChildIpMap, std::set< size_t > &seens)
recursive function use to update the style list
Definition: RagTime5StyleManager.cxx:434
RagTime5StructManager::Field::T_Bool
@ T_Bool
Definition: RagTime5StructManager.hxx:244
RagTime5StructManager
basic class used to store RagTime 5/6 structures
Definition: RagTime5StructManager.hxx:175
MWAWVariable::get
T const & get() const
return the current value
Definition: libmwaw_internal.hxx:630
MWAWBorder::LargeDot
@ LargeDot
Definition: libmwaw_internal.hxx:335
RagTime5StyleManager::m_parserState
MWAWParserStatePtr m_parserState
the parser state
Definition: RagTime5StyleManager.hxx:335
RagTime5StyleManager::GraphicStyle::operator<<
friend std::ostream & operator<<(std::ostream &o, GraphicStyle const &style)
operator<<
Definition: RagTime5StyleManager.cxx:1587
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
RagTime5StyleManager::GraphicStyle::updateColor
bool updateColor(bool first, int colorId, std::vector< MWAWColor > const &colorList)
update the first/second color using the color list
Definition: RagTime5StyleManager.cxx:1549
RagTime5ClusterManager::Cluster
the cluster data
Definition: RagTime5ClusterManager.hxx:261
RagTime5StyleManager::TextStyle::~TextStyle
virtual ~TextStyle()
destructor
Definition: RagTime5StyleManager.cxx:1688
RagTime5StyleManager::~RagTime5StyleManager
~RagTime5StyleManager()
destructor
Definition: RagTime5StyleManager.cxx:313
MWAWFont::Script
a small struct to define the script position in MWAWFont
Definition: MWAWFont.hxx:106
MWAWFont::Line::Double
@ Double
Definition: MWAWFont.hxx:51
RagTime5StyleManager::TextStyle
the text style of a RagTime v5-v6 document
Definition: RagTime5StyleManager.hxx:189
RagTime5StyleManager::TextStyle::m_underline
int m_underline
underline : none, single, double
Definition: RagTime5StyleManager.hxx:294
RagTime5StyleManager::TextStyle::TextStyle
TextStyle(TextStyle &&)=default
RagTime5StyleManager::GraphicStyle::~GraphicStyle
virtual ~GraphicStyle()
destructor
Definition: RagTime5StyleManager.cxx:1266
RagTime5StyleManager::GraphicStyle::GraphicStyle
GraphicStyle(GraphicStyle const &)=default
RagTime5StyleManagerInternal::State::State
State()
constructor
Definition: RagTime5StyleManager.cxx:270
RagTime5StyleManager::TextStyle::m_fontScaling
float m_fontScaling
the font script position ( in percent)
Definition: RagTime5StyleManager.hxx:292
MWAWFont.hxx
RagTime5StyleManager::GraphicStyle::m_colorsAlpha
float m_colorsAlpha[2]
alpha of the first and second color
Definition: RagTime5StyleManager.hxx:159
MWAWTabStop::RIGHT
@ RIGHT
Definition: MWAWParagraph.hxx:48
MWAWFont
Class to store font.
Definition: MWAWFont.hxx:44
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:500
MWAWColor::getGreen
unsigned char getGreen() const
returns the green value
Definition: libmwaw_internal.hxx:279
RagTime5StyleManager::GraphicStyle::m_dash
MWAWVariable< std::vector< long > > m_dash
the line dash/...
Definition: RagTime5StyleManager.hxx:161
MWAWGraphicStyle::Gradient::G_Radial
@ G_Radial
Definition: MWAWGraphicStyle.hxx:177
RagTime5Document::readUnicodeStringList
bool readUnicodeStringList(RagTime5ClusterManager::NameLink const &link, std::map< int, librevenge::RVNGString > &idToStringMap)
try to read a list of unicode string zone
Definition: RagTime5Document.cxx:843
RagTime5StructManager::Field::m_entry
MWAWEntry m_entry
entry to defined the position of a String or Unstructured data
Definition: RagTime5StructManager.hxx:298
RagTime5StyleManager::readTextStyles
bool readTextStyles(RagTime5ClusterManager::Cluster &cluster)
try to read a main text styles
Definition: RagTime5StyleManager.cxx:636
RagTime5Document::readFixedSizeZone
bool readFixedSizeZone(RagTime5ClusterManager::Link const &link, std::string const &name)
try to read a fixed size zone
Definition: RagTime5Document.cxx:1658
MWAWBorder::m_color
MWAWColor m_color
the border color
Definition: libmwaw_internal.hxx:393
RagTime5StyleManager::TextStyle::insert
void insert(TextStyle const &childStyle)
update the current style
Definition: RagTime5StyleManager.cxx:2266
MWAWVec2i
MWAWVec2< int > MWAWVec2i
MWAWVec2 of int.
Definition: libmwaw_internal.hxx:838
libmwaw::DebugStream
std::stringstream DebugStream
a basic stream (if debug_with_files is not defined, does nothing)
Definition: MWAWDebug.hxx:61
RagTime5StyleManager::TextStyle::TextStyle
TextStyle(TextStyle const &)=default
RagTime5StyleManager::GraphicStyle::m_gradientRotation
float m_gradientRotation
the gradient rotation(checkme)
Definition: RagTime5StyleManager.hxx:167
MWAWParagraph::NoBreakWithNextBit
@ NoBreakWithNextBit
Definition: MWAWParagraph.hxx:88
RagTime5StructManager::Field::m_type
Type m_type
the field type
Definition: RagTime5StructManager.hxx:274
RagTime5StyleManager::GraphicStyle::m_position
int m_position
the line position inside=1/normal/outside/round
Definition: RagTime5StyleManager.hxx:171
RagTime5StructManager::Field::m_fieldList
std::vector< Field > m_fieldList
the list of field
Definition: RagTime5StructManager.hxx:296
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:466
MWAWCell::Format::m_thousandHasSeparator
bool m_thousandHasSeparator
true if we must separate the thousand
Definition: MWAWCell.hxx:107
RagTime5StyleManager::TextStyle::m_spacingUnits
int m_spacingUnits[3]
the interline/before/after unit 0: line, 1:point
Definition: RagTime5StyleManager.hxx:271
RagTime5StyleManager::getCellBackgroundColor
bool getCellBackgroundColor(int graphicId, MWAWColor &color) const
returns the cell background
Definition: RagTime5StyleManager.cxx:517
MWAWFont::setFlags
void setFlags(uint32_t fl)
sets the font attributes bold, ...
Definition: MWAWFont.hxx:325
MWAWFont::lowercaseBit
@ lowercaseBit
Definition: MWAWFont.hxx:193
RagTime5StyleManager::GraphicStyle::m_pattern
std::shared_ptr< MWAWGraphicStyle::Pattern > m_pattern
the line pattern
Definition: RagTime5StyleManager.hxx:163

Generated on Fri Sep 18 2020 18:14:52 for libmwaw by doxygen 1.8.20