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 RagTime5Parser;
58 
61 {
62  friend class RagTime5Parser;
63 public:
65  explicit RagTime5StyleManager(RagTime5Parser &parser);
68 
69  struct GraphicStyle;
70  struct TextStyle;
71 
80 
82  bool updateSurfaceStyle(int graphicId, MWAWGraphicStyle &surfaceStyle) const;
84  bool updateBorderStyle(int graphicId, MWAWGraphicStyle &borderStyle, bool isLine) const;
86  bool getLineColor(int graphicId, MWAWColor &color) const;
88  bool updateTextStyles(int textId, MWAWFont &font, MWAWParagraph &para) const;
90  bool getCellBorder(int graphicId, MWAWBorder &border) const;
92  bool getCellBackgroundColor(int graphicId, MWAWColor &color) const;
94  bool updateCellFormat(int formatId, MWAWCell &cell) const;
95 
96 protected:
98  void updateTextStyles(size_t id, RagTime5StyleManager::TextStyle const &style,
99  std::vector<RagTime5StyleManager::TextStyle> const &listReadStyles,
100  std::multimap<size_t, size_t> const &idToChildIpMap,
101  std::set<size_t> &seens);
103  void updateGraphicStyles(size_t id, RagTime5StyleManager::GraphicStyle const &style,
104  std::vector<RagTime5StyleManager::GraphicStyle> const &listReadStyles,
105  std::multimap<size_t, size_t> const &idToChildIpMap,
106  std::set<size_t> &seens);
107 
108 public:
110  struct GraphicStyle {
113  : m_parentId(-1000)
114  , m_width(-1)
115  , m_dash()
116  , m_pattern()
117  , m_gradient(-1)
118  , m_gradientRotation(-1000)
119  , m_gradientCenter(MWAWVec2f(0.5f,0.5f))
120  , m_position(-1)
121  , m_cap(1)
122  , m_mitter(-1)
123  , m_limitPercent(-1)
124  , m_hidden(false)
125  , m_extra("")
126  {
129  for (auto &alpha : m_colorsAlpha) alpha=-1;
130  }
132  virtual ~GraphicStyle();
134  bool isDefault() const
135  {
136  return m_parentId<=-1000 && m_width<0 && !m_dash.isSet() && !m_pattern &&
137  m_gradient<0 && m_gradientRotation<=-1000 && !m_gradientCenter.isSet() &&
138  m_position<0 && m_cap<0 && m_mitter<0 &&
139  !m_colors[0].isSet() && !m_colors[1].isSet() && m_colorsAlpha[0]<0 && m_colorsAlpha[1]<0 &&
140  m_limitPercent<0 && !m_hidden.isSet() && m_extra.empty();
141  }
143  friend std::ostream &operator<<(std::ostream &o, GraphicStyle const &style);
145  void insert(GraphicStyle const &childStyle);
147  bool read(MWAWInputStreamPtr &input, RagTime5StructManager::Field const &field, std::vector<MWAWColor> const &colorList);
151  float m_width;
155  float m_colorsAlpha[2];
159  std::shared_ptr<MWAWGraphicStyle::Pattern> m_pattern;
169  int m_cap;
171  int m_mitter;
177  std::string m_extra;
178 
179  GraphicStyle(GraphicStyle const &)=default; // removeme
180  GraphicStyle(GraphicStyle &&)=default;
181  GraphicStyle &operator=(GraphicStyle const &)=default; // removeme
182  GraphicStyle &operator=(GraphicStyle &&)=default;
183  };
185  struct TextStyle {
188  : m_linkIdList()
189  , m_dateStyleId(-1)
190  , m_graphStyleId(-1)
191  , m_graphLineStyleId(-1)
192  , m_keepWithNext(false)
193  , m_justify(-1)
194  , m_breakMethod(-1)
195  , m_tabList()
196  , m_fontName("")
197  , m_fontId(-1)
198  , m_fontSize(-1)
199  , m_scriptPosition(0)
200  , m_fontScaling(-1)
201  , m_underline(-1)
202  , m_caps(-1)
203  , m_language(-1)
204  , m_widthStreching(-1)
205  , m_numColumns(-1)
206  , m_columnGap(-1)
207  , m_extra("")
208  {
209  for (auto &parentId : m_parentId) parentId=-1;
210  for (auto &fontFlag : m_fontFlags) fontFlag=0;
211  for (auto &margin : m_margins) margin=-1;
212  for (auto &spacing : m_spacings) spacing=-1;
213  for (auto &spacingUnit : m_spacingUnits) spacingUnit=-1;
214  for (auto &letterSpacing : m_letterSpacings) letterSpacing=0;
215  }
217  virtual ~TextStyle();
219  bool isDefault() const
220  {
221  if (m_parentId[0]>=0 || m_parentId[1]>=0 || !m_linkIdList.empty() ||
223  m_keepWithNext.isSet() || m_justify>=0 || m_breakMethod>=0 || !m_tabList.empty() ||
224  !m_fontName.empty() || m_fontId>=0 || m_fontSize>=0 || m_fontFlags[0] || m_fontFlags[1] || m_scriptPosition.isSet() ||
225  m_fontScaling>=0 || m_underline>=0 || m_caps>=0 || m_language>=0 || m_widthStreching>=0 ||
226  m_numColumns>=0 || m_columnGap>=0 || !m_extra.empty())
227  return false;
228  for (int i=0; i<3; ++i) {
229  if (m_margins[i]>=0 || m_spacings[i]>=0 || m_spacingUnits[i]>=0)
230  return false;
231  }
232  for (auto spacing : m_letterSpacings) {
233  if (spacing>0 || spacing<0)
234  return false;
235  }
236  return true;
237  }
239  static std::string getLanguageLocale(int id);
240 
242  friend std::ostream &operator<<(std::ostream &o, TextStyle const &style);
244  void insert(TextStyle const &childStyle);
246  bool read(RagTime5StructManager::Field const &field);
248  int m_parentId[2];
250  std::vector<int> m_linkIdList;
257 
258  // paragraph
259 
265  double m_spacings[3];
271  double m_margins[3];
273  std::vector<RagTime5StructManager::TabStop> m_tabList;
274 
275  // character
276 
278  librevenge::RVNGString m_fontName;
280  int m_fontId;
282  float m_fontSize;
284  uint32_t m_fontFlags[2];
292  int m_caps;
296  double m_letterSpacings[4];
299 
300  // column
301 
305  double m_columnGap;
306 
308  std::string m_extra;
309 
310  TextStyle(TextStyle const &)=default; // removeme
311  TextStyle(TextStyle &&)=default;
312  TextStyle &operator=(TextStyle const &)=default; // removeme
313  TextStyle &operator=(TextStyle &&)=default;
314  };
315 
316 protected:
317  //
318  // data
319  //
320 
325 
327  std::shared_ptr<RagTime5StyleManagerInternal::State> m_state;
328 
329 private:
330  RagTime5StyleManager(RagTime5StyleManager const &orig) = delete;
332 };
333 
334 #endif
335 // 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:46
RagTime5StyleManager::TextStyle::m_margins
double m_margins[3]
the spacings in point ( left, right, first)
Definition: RagTime5StyleManager.hxx:271
MWAWParagraph::m_justify
MWAWVariable< Justification > m_justify
the justification
Definition: MWAWParagraph.hxx:166
RagTime5StyleManager::GraphicStyle::m_limitPercent
float m_limitPercent
the line limit
Definition: RagTime5StyleManager.hxx:173
MWAWInputStreamPtr
std::shared_ptr< MWAWInputStream > MWAWInputStreamPtr
a smart pointer of MWAWInputStream
Definition: libmwaw_internal.hxx:549
RagTime5StructManager::Field::T_Unicode
Definition: RagTime5StructManager.hxx:238
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:322
RagTime5StyleManagerInternal::State::m_colorsList
std::vector< MWAWColor > m_colorsList
the list of color
Definition: RagTime5StyleManager.cxx:273
RagTime5StyleManager::updateCellFormat
bool updateCellFormat(int formatId, MWAWCell &cell) const
updates the cell format
Definition: RagTime5StyleManager.cxx:1211
MWAWFont::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:840
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:248
RagTime5StyleManagerInternal::State
Internal: the state of a RagTime5Style.
Definition: RagTime5StyleManager.cxx:261
MWAWBorder::Dash
Definition: libmwaw_internal.hxx:335
RagTime5StyleManager::TextStyle::m_linkIdList
std::vector< int > m_linkIdList
the link id list
Definition: RagTime5StyleManager.hxx:250
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:1239
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:176
MWAWGraphicStyle::setSurfaceColor
void setSurfaceColor(MWAWColor const &col, float opacity=1)
set the surface color
Definition: MWAWGraphicStyle.hxx:322
RagTime5StyleManagerInternal::TextFieldParser::TextFieldParser
TextFieldParser()
constructor
Definition: RagTime5StyleManager.cxx:210
RagTime5Parser::readUnicodeStringList
bool readUnicodeStringList(RagTime5ClusterManager::Link const &link, std::map< int, librevenge::RVNGString > &idToStringMap)
try to read a list of unicode string zone
Definition: RagTime5Parser.cxx:864
RagTime5StyleManager::GraphicStyle::operator=
GraphicStyle & operator=(GraphicStyle const &)=default
MWAWCell::F_DATE
Definition: MWAWCell.hxx:56
RagTime5StyleManagerInternal::ColorFieldParser::ColorFieldParser
ColorFieldParser()
constructor
Definition: RagTime5StyleManager.cxx:57
RagTime5StructManager::Field::T_Color
Definition: RagTime5StructManager.hxx:238
RagTime5StyleManager::GraphicStyle::m_mitter
int m_mitter
the line mitter ( triangle=1, round, out)
Definition: RagTime5StyleManager.hxx:171
MWAWParagraph::m_tabs
MWAWVariable< std::vector< MWAWTabStop > > m_tabs
the tabulations
Definition: MWAWParagraph.hxx:161
MWAWCell::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:175
MWAWGraphicStyle::m_gradientType
GradientType m_gradientType
the gradient type
Definition: MWAWGraphicStyle.hxx:436
RagTime5StyleManagerInternal::TextFieldParser::parseField
bool parseField(RagTime5StructManager::Field &field, RagTime5Zone &, int n, libmwaw::DebugStream &f) final
parse a field
Definition: RagTime5StyleManager.cxx:237
MWAWFont::boldBit
Definition: MWAWFont.hxx:190
MWAWCell::F_NUMBER_PERCENT
Definition: MWAWCell.hxx:58
RagTime5StructManager.hxx
RagTime5StructManager::Field::T_Unstructured
Definition: RagTime5StructManager.hxx:238
RagTime5StyleManagerInternal::ColorFieldParser::m_colorsList
std::vector< MWAWColor > m_colorsList
a map id to color
Definition: RagTime5StyleManager.cxx:132
RagTime5Parser
the main class to read a RagTime v5 file
Definition: RagTime5Parser.hxx:73
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
Definition: MWAWParagraph.hxx:48
MWAWParagraph::setInterline
void setInterline(double value, librevenge::RVNGUnit unit, LineSpacingType type=Fixed)
set the interline
Definition: MWAWParagraph.hxx:128
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:143
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:375
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:235
RagTime5StyleManagerInternal::TextFieldParser::m_styleList
std::vector< RagTime5StyleManager::TextStyle > m_styleList
the list of read style
Definition: RagTime5StyleManager.cxx:257
MWAWParagraph::m_spacings
MWAWVariable< double > m_spacings[3]
the line spacing
Definition: MWAWParagraph.hxx:155
RagTime5StyleManagerInternal::State::initColorsList
void initColorsList()
init the color list (if empty)
Definition: RagTime5StyleManager.cxx:286
MWAWParagraph::JustificationFullAllLines
Definition: MWAWParagraph.hxx:91
MWAWCell::F_NUMBER_SCIENTIFIC
Definition: MWAWCell.hxx:58
RagTime5StyleManager::GraphicStyle::m_gradientCenter
MWAWVariable< MWAWVec2f > m_gradientCenter
the rotation center(checkme)
Definition: RagTime5StyleManager.hxx:165
RagTime5StyleManagerInternal::State::m_textStyleList
std::vector< RagTime5StyleManager::TextStyle > m_textStyleList
the list of text styles
Definition: RagTime5StyleManager.cxx:279
MWAWParagraph
class to store the paragraph properties
Definition: MWAWParagraph.hxx:84
MWAWCell::setFormat
void setFormat(Format const &format)
set the cell format
Definition: MWAWCell.hxx:239
MWAWFont::Line::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:1652
MWAWCell::F_NUMBER_GENERIC
Definition: MWAWCell.hxx:58
RagTime5StyleManager::TextStyle::m_graphStyleId
int m_graphStyleId
the graphic style id
Definition: RagTime5StyleManager.hxx:254
RagTime5Parser::readFixedSizeZone
bool readFixedSizeZone(RagTime5ClusterManager::Link const &link, std::string const &name)
try to read a fixed size zone
Definition: RagTime5Parser.cxx:1681
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:47
RagTime5StyleManager::TextStyle::isDefault
bool isDefault() const
returns true if the line style is default
Definition: RagTime5StyleManager.hxx:219
MWAWCell::Format::m_DTFormat
std::string m_DTFormat
a date/time format ( using a subset of strftime format )
Definition: MWAWCell.hxx:112
MWAWParagraph::m_margins
MWAWVariable< double > m_margins[3]
the margins
Definition: MWAWParagraph.hxx:147
RagTime5StructManager::Field::T_FieldList
Definition: RagTime5StructManager.hxx:237
RagTime5StyleManagerInternal::TextFieldParser::parseHeaderField
bool parseHeaderField(RagTime5StructManager::Field &field, RagTime5Zone &, int n, libmwaw::DebugStream &f) final
parse a header field
Definition: RagTime5StyleManager.cxx:225
MWAWBorder::Dot
Definition: libmwaw_internal.hxx:335
MWAWTabStop::DECIMAL
Definition: MWAWParagraph.hxx:48
RagTime5StyleManager::readGraphicColors
bool readGraphicColors(RagTime5ClusterManager::Cluster &cluster)
try to read a graphic color zone
Definition: RagTime5StyleManager.cxx:313
RagTime5StyleManagerInternal::GraphicFieldParser
Internal: the helper to read field graphic field for a RagTime5StyleManager.
Definition: RagTime5StyleManager.cxx:141
RagTime5StyleManager::TextStyle::TextStyle
TextStyle()
constructor
Definition: RagTime5StyleManager.hxx:187
RagTime5Parser::getDataZone
std::shared_ptr< RagTime5Zone > getDataZone(int dataId) const
returns the zone corresponding to a data id (or 0)
Definition: RagTime5Parser.cxx:376
MWAWGraphicStyle::m_gradientStopList
std::vector< GradientStop > m_gradientStopList
the list of gradient limits
Definition: MWAWGraphicStyle.hxx:442
RagTime5StyleManager::GraphicStyle::m_parentId
int m_parentId
the parent id
Definition: RagTime5StyleManager.hxx:149
MWAWFont::embossBit
Definition: MWAWFont.hxx:190
RagTime5StyleManagerInternal::ColorFieldParser::~ColorFieldParser
~ColorFieldParser() final
destructor
Definition: RagTime5StyleManager.cxx:135
RagTime5StyleManager::TextStyle::m_dateStyleId
int m_dateStyleId
the date style id
Definition: RagTime5StyleManager.hxx:252
MWAWGraphicStyle::m_lineOpacity
float m_lineOpacity
the line opacity: 0=transparent
Definition: MWAWGraphicStyle.hxx:421
MWAWFont::uppercaseBit
Definition: MWAWFont.hxx:192
MWAWCell.hxx
MWAWCell::getFormat
const Format & getFormat() const
returns the cell format
Definition: MWAWCell.hxx:234
RagTime5StyleManager
basic class used to read/store RagTime 5/6 styles
Definition: RagTime5StyleManager.hxx:60
RagTime5StyleManager::RagTime5StyleManager
RagTime5StyleManager(RagTime5Parser &parser)
constructor
Definition: RagTime5StyleManager.cxx:299
MWAWCell::Format::m_digits
int m_digits
the number of digits
Definition: MWAWCell.hxx:98
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:633
MWAWGraphicStyle::Pattern
a basic pattern used in a MWAWGraphicStyle:
Definition: MWAWGraphicStyle.hxx:180
RagTime5StyleManager::TextStyle::m_language
int m_language
the language
Definition: RagTime5StyleManager.hxx:294
RagTime5StyleManager::TextStyle::m_fontId
int m_fontId
the font id
Definition: RagTime5StyleManager.hxx:280
RagTime5ClusterManager.hxx
RagTime5StyleManager::TextStyle::m_tabList
std::vector< RagTime5StructManager::TabStop > m_tabList
the tabulations
Definition: RagTime5StyleManager.hxx:273
RagTime5StyleManagerInternal::GraphicFieldParser::m_styleList
std::vector< RagTime5StyleManager::GraphicStyle > m_styleList
the list of graphic style
Definition: RagTime5StyleManager.cxx:199
RagTime5StructManager::FieldParser
virtual class use to parse the field data
Definition: RagTime5StructManager.hxx:341
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:96
RagTime5StyleManager::updateBorderStyle
bool updateBorderStyle(int graphicId, MWAWGraphicStyle &borderStyle, bool isLine) const
updates a graphic style(border)
Definition: RagTime5StyleManager.cxx:536
RagTime5StyleManagerInternal
Internal: the structures of a RagTime5Style.
Definition: RagTime5StyleManager.cxx:51
RagTime5StyleManager::TextStyle::m_caps
int m_caps
caps : none, all caps, lower caps, inital caps + other lowers
Definition: RagTime5StyleManager.hxx:292
RagTime5StyleManager::GraphicStyle::m_width
float m_width
the line width (in point)
Definition: RagTime5StyleManager.hxx:151
RagTime5StyleManager::TextStyle::read
bool read(RagTime5StructManager::Field const &field)
try to read a text style
Definition: RagTime5StyleManager.cxx:1705
RagTime5StyleManager::m_state
std::shared_ptr< RagTime5StyleManagerInternal::State > m_state
the state
Definition: RagTime5StyleManager.hxx:327
MWAWFont::initialcaseBit
Definition: MWAWFont.hxx:194
RagTime5StyleManager::TextStyle::m_letterSpacings
double m_letterSpacings[4]
the spacings in percent ( normal, minimum, maximum)
Definition: RagTime5StyleManager.hxx:296
RagTime5StructManager::Field::T_Code
Definition: RagTime5StructManager.hxx:238
MWAWParagraph::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:168
MWAWFont::Line::None
Definition: MWAWFont.hxx:49
MWAWFont::shadowBit
Definition: MWAWFont.hxx:191
MWAWFont::Line::m_type
Type m_type
the type
Definition: MWAWFont.hxx:97
RagTime5StructManager::Field::m_fileType
long m_fileType
the file type
Definition: RagTime5StructManager.hxx:269
RagTime5Parser::readLongList
bool readLongList(RagTime5ClusterManager::Link const &link, std::vector< long > &list)
try to read/get the list of long of a L_LongList
Definition: RagTime5Parser.cxx:913
MWAWParagraph.hxx
RagTime5StructManager::Field::m_longValue
long m_longValue[2]
the long value
Definition: RagTime5StructManager.hxx:273
libmwaw_internal.hxx
MWAWGraphicStyle::m_lineWidth
float m_lineWidth
the linewidth
Definition: MWAWGraphicStyle.hxx:415
RagTime5StyleManagerInternal::ColorFieldParser::parseField
bool parseField(RagTime5StructManager::Field &field, RagTime5Zone &, int, libmwaw::DebugStream &f) final
parse a field
Definition: RagTime5StyleManager.cxx:73
RagTime5StyleManager::TextStyle::m_keepWithNext
MWAWVariable< bool > m_keepWithNext
the keep with next flag
Definition: RagTime5StyleManager.hxx:261
MWAWColor::getBlue
unsigned char getBlue() const
returns the green value
Definition: libmwaw_internal.hxx:269
MWAWGraphicStyle::G_Radial
Definition: MWAWGraphicStyle.hxx:55
MWAWCell::Format
a structure uses to define the format of a cell content
Definition: MWAWCell.hxx:60
RagTime5StructManager::Field::T_Long
Definition: RagTime5StructManager.hxx:237
RagTime5StyleManagerInternal::GraphicFieldParser::m_colorsList
const std::vector< MWAWColor > & m_colorsList
Definition: RagTime5StyleManager.cxx:197
MWAWBorder
a border
Definition: libmwaw_internal.hxx:333
RagTime5Zone
main zone in a RagTime v5-v6 document
Definition: RagTime5StructManager.hxx:48
RagTime5StyleManager::GraphicStyle::m_gradient
int m_gradient
the gradient 0: none, normal, radial
Definition: RagTime5StyleManager.hxx:161
MWAWEntry::length
long length() const
returns the length of the zone
Definition: MWAWEntry.hxx:92
RagTime5StyleManager::TextStyle::m_spacings
double m_spacings[3]
the interline/before/after value
Definition: RagTime5StyleManager.hxx:265
RagTime5StyleManagerInternal::ColorFieldParser
Internal: the helper to read field color field for a RagTime5StyleManager.
Definition: RagTime5StyleManager.cxx:55
RagTime5StyleManager::TextStyle::m_numColumns
int m_numColumns
the number of columns
Definition: RagTime5StyleManager.hxx:303
RagTime5Parser::readPositions
bool readPositions(int posId, std::vector< long > &listPosition)
try to read a positions zone in data
Definition: RagTime5Parser.cxx:922
RagTime5StructManager::Field::T_DoubleList
Definition: RagTime5StructManager.hxx:237
RagTime5StyleManager::TextStyle::m_fontName
librevenge::RVNGString m_fontName
the font name
Definition: RagTime5StyleManager.hxx:278
MWAWVec2
small class which defines a vector with 2 elements
Definition: libmwaw_internal.hxx:653
MWAWCell::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:351
RagTime5StructManager::FieldParser::FieldParser
FieldParser(std::string const &zoneName)
constructor
Definition: RagTime5StructManager.hxx:343
RagTime5StyleManager::TextStyle::m_extra
std::string m_extra
extra data
Definition: RagTime5StyleManager.hxx:308
MWAWTabStop::m_alignment
Alignment m_alignment
the alignment ( left, center, ...)
Definition: MWAWParagraph.hxx:76
MWAWDebug.hxx
RagTime5StyleManager::TextStyle::m_scriptPosition
MWAWVariable< float > m_scriptPosition
the font script position ( in percent)
Definition: RagTime5StyleManager.hxx:286
RagTime5StyleManager::GraphicStyle::insert
void insert(GraphicStyle const &childStyle)
update the current style
Definition: RagTime5StyleManager.cxx:1519
RagTime5StyleManager::TextStyle::m_widthStreching
double m_widthStreching
the width streching
Definition: RagTime5StyleManager.hxx:298
MWAWEntry::begin
long begin() const
returns the begin offset
Definition: MWAWEntry.hxx:82
RagTime5StyleManager::GraphicStyle::GraphicStyle
GraphicStyle()
constructor
Definition: RagTime5StyleManager.hxx:112
RagTime5StyleManager::getLineColor
bool getLineColor(int graphicId, MWAWColor &color) const
returns the line color corresponding to a graphic style
Definition: RagTime5StyleManager.cxx:450
MWAWVariable::get
const T & get() const
return the current value
Definition: libmwaw_internal.hxx:628
MWAWGraphicStyle::setPattern
void setPattern(Pattern const &pat, float opacity=1)
set the pattern
Definition: MWAWGraphicStyle.hxx:333
RagTime5StyleManager::TextStyle::m_graphLineStyleId
int m_graphLineStyleId
the graphic line style id
Definition: RagTime5StyleManager.hxx:256
RagTime5StyleManager::GraphicStyle
the graphic style of a RagTime v5-v6 document
Definition: RagTime5StyleManager.hxx:110
RagTime5StructManager::Field::T_Double
Definition: RagTime5StructManager.hxx:237
MWAWColor::black
static MWAWColor black()
return the back color
Definition: libmwaw_internal.hxx:245
RagTime5StyleManagerInternal::TextFieldParser::~TextFieldParser
~TextFieldParser() final
destructor
Definition: RagTime5StyleManager.cxx:282
RagTime5StyleManagerInternal::TextFieldParser
Internal: the helper to read style for a RagTime5StyleManager.
Definition: RagTime5StyleManager.cxx:208
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:177
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:263
RagTime5StyleManagerInternal::GraphicFieldParser::parseHeaderField
bool parseHeaderField(RagTime5StructManager::Field &field, RagTime5Zone &zone, int n, libmwaw::DebugStream &f) final
parse a header field
Definition: RagTime5StyleManager.cxx:163
MWAWGraphicStyle::G_Linear
Definition: MWAWGraphicStyle.hxx:55
RagTime5StyleManager::readFormats
bool readFormats(RagTime5ClusterManager::Cluster &cluster)
try to read the list of format
Definition: RagTime5StyleManager.cxx:888
MWAWGraphicStyle::GradientStop
a structure used to define the gradient limit in MWAWGraphicStyle
Definition: MWAWGraphicStyle.hxx:141
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:464
RagTime5StyleManager::TextStyle::operator=
TextStyle & operator=(TextStyle const &)=default
RagTime5StructManager::Field::T_2Long
Definition: RagTime5StructManager.hxx:237
RagTime5StyleManagerInternal::GraphicFieldParser::~GraphicFieldParser
~GraphicFieldParser() final
destructor
Definition: RagTime5StyleManager.cxx:202
RagTime5ClusterManager::Cluster::m_linksList
std::vector< Link > m_linksList
the link list
Definition: RagTime5ClusterManager.hxx:273
RagTime5StyleManager::m_mainParser
RagTime5Parser & m_mainParser
the parser
Definition: RagTime5StyleManager.hxx:322
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:305
RagTime5ClusterManager::Cluster::m_dataLink
Link m_dataLink
the main data link
Definition: RagTime5ClusterManager.hxx:263
MWAWEntry::end
long end() const
returns the end offset
Definition: MWAWEntry.hxx:87
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:269
MWAWGraphicStyle::m_lineColor
MWAWColor m_lineColor
the line color
Definition: MWAWGraphicStyle.hxx:423
MWAWCell::F_NUMBER
Definition: MWAWCell.hxx:56
MWAWCell::F_TIME
Definition: MWAWCell.hxx:56
operator<<
std::ostream & operator<<(std::ostream &o, RagTime5StyleManager::GraphicStyle const &style)
Definition: RagTime5StyleManager.cxx:1545
RagTime5StyleManager::updateSurfaceStyle
bool updateSurfaceStyle(int graphicId, MWAWGraphicStyle &surfaceStyle) const
updates a graphic style
Definition: RagTime5StyleManager.cxx:572
MWAWGraphicStyle.hxx
MWAWFont::italicBit
Definition: MWAWFont.hxx:190
MWAWParagraph::m_marginsUnit
MWAWVariable< librevenge::RVNGUnit > m_marginsUnit
the margins INCH, ...
Definition: MWAWParagraph.hxx:149
MWAWCell::F_NUMBER_CURRENCY
Definition: MWAWCell.hxx:58
RagTime5StyleManager::TextStyle::m_fontSize
float m_fontSize
the font size
Definition: RagTime5StyleManager.hxx:282
RagTime5StyleManager::TextStyle::operator<<
friend std::ostream & operator<<(std::ostream &o, TextStyle const &style)
operator<<
Definition: RagTime5StyleManager.cxx:2270
MWAWParagraph::NoBreakWithNextBit
Definition: MWAWParagraph.hxx:88
MWAWCell::Format::m_format
FormatType m_format
the cell format : by default unknown
Definition: MWAWCell.hxx:94
RagTime5StyleManager::GraphicStyle::m_colors
MWAWVariable< MWAWColor > m_colors[2]
the first and second color
Definition: RagTime5StyleManager.hxx:153
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:169
RagTime5StyleManager::updateTextStyles
bool updateTextStyles(int textId, MWAWFont &font, MWAWParagraph &para) const
update the font and the paragraph properties using a text style
Definition: RagTime5StyleManager.cxx:747
MWAWParagraph::JustificationFull
Definition: MWAWParagraph.hxx:90
RagTime5StructManager::Field::T_LongList
Definition: RagTime5StructManager.hxx:237
MWAWParagraph::JustificationRight
Definition: MWAWParagraph.hxx:91
RagTime5StyleManager::TextStyle::m_fontFlags
uint32_t m_fontFlags[2]
the font flags (add and remove )
Definition: RagTime5StyleManager.hxx:284
MWAWParserStatePtr
std::shared_ptr< MWAWParserState > MWAWParserStatePtr
a smart pointer of MWAWParserState
Definition: libmwaw_internal.hxx:555
MWAWCell::Format::m_parenthesesForNegative
bool m_parenthesesForNegative
true if we use parenthese to print negative number
Definition: MWAWCell.hxx:108
RagTime5StructManager::Field::T_LongDouble
Definition: RagTime5StructManager.hxx:238
RagTime5StyleManager::GraphicStyle::isDefault
bool isDefault() const
returns true if the line style is default
Definition: RagTime5StyleManager.hxx:134
RagTime5StructManager::Field::T_TabList
Definition: RagTime5StructManager.hxx:237
RagTime5StyleManagerInternal::State::m_formatList
std::vector< MWAWCell::Format > m_formatList
the list of format
Definition: RagTime5StyleManager.cxx:275
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:413
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:277
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:427
MWAWGraphicStyle::m_gradientPercentCenter
MWAWVec2f m_gradientPercentCenter
the gradient center
Definition: MWAWGraphicStyle.hxx:448
RagTime5StructManager::Field::T_Bool
Definition: RagTime5StructManager.hxx:237
RagTime5StructManager
basic class used to store RagTime 5/6 structures
Definition: RagTime5StructManager.hxx:170
MWAWBorder::LargeDot
Definition: libmwaw_internal.hxx:335
RagTime5ClusterManager::Cluster::m_nameLink
Link m_nameLink
the name link
Definition: RagTime5ClusterManager.hxx:265
RagTime5StyleManager::m_parserState
MWAWParserStatePtr m_parserState
the parser state
Definition: RagTime5StyleManager.hxx:324
RagTime5StyleManager::GraphicStyle::operator<<
friend std::ostream & operator<<(std::ostream &o, GraphicStyle const &style)
operator<<
Definition: RagTime5StyleManager.cxx:1545
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
RagTime5ClusterManager::Cluster
the cluster data
Definition: RagTime5ClusterManager.hxx:221
RagTime5StyleManager::TextStyle::~TextStyle
virtual ~TextStyle()
destructor
Definition: RagTime5StyleManager.cxx:1648
RagTime5StyleManager::~RagTime5StyleManager
~RagTime5StyleManager()
destructor
Definition: RagTime5StyleManager.cxx:306
MWAWFont::Script
a small struct to define the script position in MWAWFont
Definition: MWAWFont.hxx:106
MWAWFont::Line::Double
Definition: MWAWFont.hxx:51
RagTime5StyleManager::TextStyle
the text style of a RagTime v5-v6 document
Definition: RagTime5StyleManager.hxx:185
RagTime5StyleManager::TextStyle::m_underline
int m_underline
underline : none, single, double
Definition: RagTime5StyleManager.hxx:290
MWAWGraphicStyle::m_gradientAngle
float m_gradientAngle
the gradient angle
Definition: MWAWGraphicStyle.hxx:444
RagTime5StyleManager::GraphicStyle::~GraphicStyle
virtual ~GraphicStyle()
destructor
Definition: RagTime5StyleManager.cxx:1235
RagTime5StyleManagerInternal::State::State
State()
constructor
Definition: RagTime5StyleManager.cxx:263
RagTime5StyleManager::TextStyle::m_fontScaling
float m_fontScaling
the font script position ( in percent)
Definition: RagTime5StyleManager.hxx:288
MWAWFont.hxx
RagTime5StyleManager::GraphicStyle::m_colorsAlpha
float m_colorsAlpha[2]
alpha of the first and second color
Definition: RagTime5StyleManager.hxx:155
MWAWTabStop::RIGHT
Definition: MWAWParagraph.hxx:48
MWAWFont
Class to store font.
Definition: MWAWFont.hxx:43
MWAWCell
a structure used to define a cell and its format
Definition: MWAWCell.hxx:52
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:157
RagTime5StructManager::Field::m_entry
MWAWEntry m_entry
entry to defined the position of a String or Unstructured data
Definition: RagTime5StructManager.hxx:291
RagTime5StyleManager::readTextStyles
bool readTextStyles(RagTime5ClusterManager::Cluster &cluster)
try to read a main text styles
Definition: RagTime5StyleManager.cxx:608
RagTime5Parser::readStructZone
bool readStructZone(RagTime5ClusterManager::Cluster &cluster, RagTime5StructManager::FieldParser &parser, int headerSz)
try to read a structured zone
Definition: RagTime5Parser.cxx:1745
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:2226
MWAWVec2i
MWAWVec2< int > MWAWVec2i
MWAWVec2 of int.
Definition: libmwaw_internal.hxx:836
libmwaw::DebugStream
std::stringstream DebugStream
a basic stream (if debug_with_files is not defined, does nothing)
Definition: MWAWDebug.hxx:61
RagTime5StyleManager::GraphicStyle::m_gradientRotation
float m_gradientRotation
the gradient rotation(checkme)
Definition: RagTime5StyleManager.hxx:163
RagTime5StructManager::Field::m_type
Type m_type
the field type
Definition: RagTime5StructManager.hxx:267
RagTime5StyleManager::GraphicStyle::m_position
int m_position
the line position inside=1/normal/outside/round
Definition: RagTime5StyleManager.hxx:167
RagTime5StructManager::Field::m_fieldList
std::vector< Field > m_fieldList
the list of field
Definition: RagTime5StructManager.hxx:289
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
RagTime5Parser.hxx
MWAWCell::Format::m_thousandHasSeparator
bool m_thousandHasSeparator
true if we must separate the thousand
Definition: MWAWCell.hxx:106
RagTime5StyleManager::TextStyle::m_spacingUnits
int m_spacingUnits[3]
the interline/before/after unit 0: line, 1:point
Definition: RagTime5StyleManager.hxx:267
RagTime5StyleManager::getCellBackgroundColor
bool getCellBackgroundColor(int graphicId, MWAWColor &color) const
returns the cell background
Definition: RagTime5StyleManager.cxx:510
MWAWFont::setFlags
void setFlags(uint32_t fl)
sets the font attributes bold, ...
Definition: MWAWFont.hxx:325
MWAWFont::lowercaseBit
Definition: MWAWFont.hxx:193
RagTime5StyleManager::GraphicStyle::m_pattern
std::shared_ptr< MWAWGraphicStyle::Pattern > m_pattern
the line pattern
Definition: RagTime5StyleManager.hxx:159

Generated on Mon Jan 20 2020 22:50:09 for libmwaw by doxygen 1.8.16