RagTime5Graph.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 /*
35  * Parser to RagTime 5-6 document ( graphic part )
36  *
37  */
38 #ifndef RAGTIME5_GRAPH
39 # define RAGTIME5_GRAPH
40 
41 #include <string>
42 #include <map>
43 #include <vector>
44 
45 #include <librevenge/librevenge.h>
46 
47 #include "libmwaw_internal.hxx"
48 
49 #include "MWAWDebug.hxx"
50 #include "MWAWInputStream.hxx"
51 #include "MWAWPosition.hxx"
52 
55 
56 namespace RagTime5GraphInternal
57 {
58 struct ClusterGraphic;
59 struct ClusterPicture;
60 
61 struct Shape;
62 struct State;
63 
64 class SubDocument;
65 }
66 
67 class RagTime5Parser;
70 class RagTime5Zone;
71 
72 class MWAWGraphicStyle;
73 
80 {
82  friend class RagTime5Parser;
83 
84 public:
86  explicit RagTime5Graph(RagTime5Parser &parser);
88  virtual ~RagTime5Graph();
89 
91  int version() const;
92 
94  int numPages() const;
95 
96 protected:
97 
99  void flushExtra();
100 
101  // interface with main parser
102 
104  bool sendTextZone(MWAWListenerPtr listener, int zId, int pId);
105 
106  //
107  // Intermediate level
108  //
109 
110  //
111  // picture
112  //
113 
117  bool readPictureData(RagTime5Zone &zone);
119  bool readPictureData(RagTime5Zone &zone, librevenge::RVNGBinaryData &data, std::string &type);
121  bool readPictureList(RagTime5Zone &zone);
123  bool readPictureRep(RagTime5Zone &zone);
125  bool readPictureMatch(RagTime5Zone &zone, bool color);
126 
127  //
128  // basic graphic
129  //
130 
133 
136 
138  std::shared_ptr<RagTime5ClusterManager::Cluster> readGraphicCluster(RagTime5Zone &zone, int zoneType);
140  bool readGraphicUnknown(int typeId);
144  bool readGraphicShape(RagTime5GraphInternal::ClusterGraphic &cluster, RagTime5Zone &dataZone, long endPos, int n, librevenge::RVNGString const &dataName);
147 
149  std::shared_ptr<RagTime5ClusterManager::Cluster> readPictureCluster(RagTime5Zone &zone, int zoneType);
150 
151  //
152  // low level
153  //
154 
157 
158  //
159  // send data
160  //
161 
163  bool send(int zoneId, MWAWListenerPtr listener, MWAWPosition const &pos);
164 
166  bool send(RagTime5GraphInternal::ClusterGraphic &cluster, MWAWListenerPtr listener, MWAWPosition const &pos);
168  bool send(RagTime5GraphInternal::Shape const &shape, RagTime5GraphInternal::ClusterGraphic const &cluster, MWAWListenerPtr listener, MWAWPosition const &pos);
169 
171  bool send(RagTime5GraphInternal::ClusterPicture &cluster, MWAWListenerPtr listener, MWAWPosition const &pos);
172 
173 private:
174  RagTime5Graph(RagTime5Graph const &orig);
175  RagTime5Graph &operator=(RagTime5Graph const &orig);
176 
177 protected:
178  //
179  // data
180  //
183 
185  std::shared_ptr<RagTime5StructManager> m_structManager;
187  std::shared_ptr<RagTime5StyleManager> m_styleManager;
190 
192  std::shared_ptr<RagTime5GraphInternal::State> m_state;
193 };
194 #endif
195 // vim: set filetype=cpp tabstop=2 shiftwidth=2 cindent autoindent smartindent noexpandtab:
RagTime5GraphInternal::State::m_idGraphicMap
std::map< int, std::shared_ptr< ClusterGraphic > > m_idGraphicMap
map data id to graphic zone
Definition: RagTime5Graph.cxx:460
MWAWEntry
basic class to store an entry in a file This contained :
Definition: MWAWEntry.hxx:46
RagTime5GraphInternal::ClusterGraphic::m_idToShapeMap
std::map< int, std::shared_ptr< Shape > > m_idToShapeMap
the shape list
Definition: RagTime5Graph.cxx:387
RagTime5GraphInternal::IntListParser::m_dataList
std::vector< int > m_dataList
the list of read int
Definition: RagTime5Graph.cxx:185
RagTime5Zone::m_isParsed
bool m_isParsed
a flag to know if the zone is parsed
Definition: RagTime5StructManager.hxx:148
MWAWInputStreamPtr
std::shared_ptr< MWAWInputStream > MWAWInputStreamPtr
a smart pointer of MWAWInputStream
Definition: libmwaw_internal.hxx:549
RagTime5GraphInternal::ClusterGraphic::m_rootIdList
std::vector< int > m_rootIdList
the root id list
Definition: RagTime5Graph.cxx:389
RagTime5GraphInternal::PictCParser::m_fieldName
std::string m_fieldName
the actual field name
Definition: RagTime5Graph.cxx:2311
RagTime5GraphInternal::Shape::m_graphicId
int m_graphicId
the graphic id
Definition: RagTime5Graph.cxx:273
RagTime5GraphInternal::Shape::m_id
int m_id
the shape id
Definition: RagTime5Graph.cxx:253
RagTime5GraphInternal::SubDocument::~SubDocument
~SubDocument() final
destructor
Definition: RagTime5Graph.cxx:518
RagTime5GraphInternal::PictCParser::parseHeaderZone
bool parseHeaderZone(MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f)
parse the header zone
Definition: RagTime5Graph.cxx:2202
RagTime5GraphInternal::Shape::m_extra
std::string m_extra
extra data
Definition: RagTime5Graph.cxx:277
RagTime5Parser::getClusterManager
std::shared_ptr< RagTime5ClusterManager > getClusterManager()
returns the cluster manager
Definition: RagTime5Parser.cxx:326
RagTime5GraphInternal::Shape::S_Spline
@ S_Spline
Definition: RagTime5Graph.cxx:226
MWAWGraphicShape::getBdBox
MWAWBox2f getBdBox() const
returns the basic bdbox
Definition: MWAWGraphicShape.hxx:196
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
libmwaw::DebugFile::addDelimiter
void addDelimiter(long pos, char c)
adds a not breaking delimiter in position pos
Definition: MWAWDebug.cxx:73
RagTime5GraphInternal::GraphicCParser::endZone
void endZone() final
end of a start zone call
Definition: RagTime5Graph.cxx:2349
RagTime5Parser::getPipelineContainerType
RagTime5ClusterManager::Cluster::Type getPipelineContainerType(int pipelineId) const
try to return the container's type corresponding to an id
Definition: RagTime5Parser.cxx:388
RagTime5GraphInternal::FloatParser
Internal: the helper to read a int16 float.
Definition: RagTime5Graph.cxx:198
RagTime5GraphInternal::ClustListParser::ClustListParser
ClustListParser(RagTime5ClusterManager &clusterManager, std::string const &zoneName)
constructor
Definition: RagTime5Graph.cxx:67
RagTime5GraphInternal::FloatParser::~FloatParser
~FloatParser() final
destructor
Definition: RagTime5Graph.cxx:219
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
RagTime5GraphInternal::IntListParser::~IntListParser
~IntListParser() final
destructor
Definition: RagTime5Graph.cxx:193
RagTime5GraphInternal::SubDocument::parse
void parse(MWAWListenerPtr &listener, libmwaw::SubDocumentType type) final
the parser function
Definition: RagTime5Graph.cxx:535
RagTime5Zone::m_defPosition
long m_defPosition
the position of the definition in the main zones
Definition: RagTime5StructManager.hxx:128
RagTime5GraphInternal::GraphicCParser::m_cluster
std::shared_ptr< ClusterGraphic > m_cluster
the current cluster
Definition: RagTime5Graph.cxx:2871
RagTime5ClusterManager::Cluster::Cluster
Cluster(Type type)
constructor
Definition: RagTime5ClusterManager.hxx:237
RagTime5ClusterManager::Cluster::C_Pipeline
@ C_Pipeline
Definition: RagTime5ClusterManager.hxx:224
MWAWGraphicShape::pie
static MWAWGraphicShape pie(MWAWBox2f const &box, MWAWBox2f const &circleBox, MWAWVec2f const &angles)
static constructor to create a pie
Definition: MWAWGraphicShape.hxx:146
RagTime5GraphInternal::ClusterGraphic::ClusterGraphic
ClusterGraphic()
constructor
Definition: RagTime5Graph.cxx:362
RagTime5GraphInternal::ClusterGraphic::~ClusterGraphic
~ClusterGraphic() final
destructor
Definition: RagTime5Graph.cxx:394
RagTime5GraphInternal::Shape::Shape
Shape()
constructor
Definition: RagTime5Graph.cxx:228
RagTime5GraphInternal::ClusterGraphic::m_dimensionLinks
std::vector< RagTime5ClusterManager::Link > m_dimensionLinks
the list of dimension's link
Definition: RagTime5Graph.cxx:382
MWAWGraphicStyle::Arrow::plain
static Arrow plain()
returns a basic plain arrow
Definition: MWAWGraphicStyle.hxx:76
RagTime5ClusterManager::ClusterParser::m_link
Link m_link
the actual link
Definition: RagTime5ClusterManager.hxx:428
RagTime5Zone::m_kinds
std::string m_kinds[2]
the zone types: normal and packing
Definition: RagTime5StructManager.hxx:130
RagTime5GraphInternal::Shape::S_Rect
@ S_Rect
Definition: RagTime5Graph.cxx:226
RagTime5GraphInternal::GraphicCParser::getGraphicCluster
std::shared_ptr< ClusterGraphic > getGraphicCluster()
return the current graphic cluster
Definition: RagTime5Graph.cxx:2344
RagTime5StructManager.hxx
RagTime5StructManager::Field::T_Unstructured
@ T_Unstructured
Definition: RagTime5StructManager.hxx:238
RagTime5GraphInternal::State::P_ScreenRep
@ P_ScreenRep
Definition: RagTime5Graph.cxx:429
RagTime5GraphInternal::ClustListParser::parseData
bool parseData(MWAWInputStreamPtr &input, long endPos, RagTime5Zone &, int, libmwaw::DebugStream &f) final
try to parse a data
Definition: RagTime5Graph.cxx:82
RagTime5Parser
the main class to read a RagTime v5 file
Definition: RagTime5Parser.hxx:73
RagTime5Graph::readPictureCluster
std::shared_ptr< RagTime5ClusterManager::Cluster > readPictureCluster(RagTime5Zone &zone, int zoneType)
try to read a picture zone
Definition: RagTime5Graph.cxx:2894
RagTime5GraphInternal::State::P_Pict
@ P_Pict
Definition: RagTime5Graph.cxx:429
MWAWColor::white
static MWAWColor white()
return the white color
Definition: libmwaw_internal.hxx:250
RagTime5Zone::ascii
libmwaw::DebugFile & ascii()
returns the current ascii file
Definition: RagTime5StructManager.hxx:107
RagTime5Parser::readListZone
bool readListZone(RagTime5ClusterManager::Link const &link)
try to read a list zone
Definition: RagTime5Parser.cxx:1608
RagTime5GraphInternal::State::m_idPictClusterMap
std::map< int, std::shared_ptr< ClusterPicture > > m_idPictClusterMap
map data id to picture zone
Definition: RagTime5Graph.cxx:462
RagTime5Graph::m_styleManager
std::shared_ptr< RagTime5StyleManager > m_styleManager
the style manager
Definition: RagTime5Graph.hxx:187
RagTime5GraphInternal::Shape::S_Circle
@ S_Circle
Definition: RagTime5Graph.cxx:226
MWAWGraphicShape
a structure used to define a picture shape
Definition: MWAWGraphicShape.hxx:45
MWAWColor
the class to store a color
Definition: libmwaw_internal.hxx:192
MWAWEmbeddedObject
small class use to define a embedded object
Definition: libmwaw_internal.hxx:467
RagTime5StructManager::Field
a field of RagTime 5/6 structures
Definition: RagTime5StructManager.hxx:235
RagTime5GraphInternal::State::getShapeType
Shape::Type getShapeType(int id) const
try to return a set type
Definition: RagTime5Graph.cxx:467
RagTime5ClusterManager::ClusterParser::readLinkHeader
bool readLinkHeader(MWAWInputStreamPtr &input, long fSz, Link &link, long(&values)[4], std::string &message)
try to read a link header
Definition: RagTime5ClusterManager.cxx:552
MWAWGraphicShape::line
static MWAWGraphicShape line(MWAWVec2f const &orign, MWAWVec2f const &dest)
static constructor to create a line
Definition: MWAWGraphicShape.cxx:228
RagTime5ClusterManager::Cluster::m_isSent
bool m_isSent
true if the cluster was send
Definition: RagTime5ClusterManager.hxx:277
RagTime5GraphInternal::State::P_Tiff
@ P_Tiff
Definition: RagTime5Graph.cxx:429
MWAWPosition::setUnit
void setUnit(librevenge::RVNGUnit newUnit)
sets the dimension unit
Definition: MWAWPosition.hxx:224
RagTime5ClusterManager::getClusterName
std::string getClusterName(int id)
returns "data"+id+"A" ( followed by the cluster type and name if know)
Definition: RagTime5ClusterManager.cxx:223
RagTime5GraphInternal::Shape
Internal: the shape of a RagTime5Graph.
Definition: RagTime5Graph.cxx:224
RagTime5GraphInternal::Shape::m_partId
int m_partId
the link part id
Definition: RagTime5Graph.cxx:259
RagTime5GraphInternal::GraphicCParser::m_linkId
int m_linkId
the link id: 0: unicode, 1: condition, 2: clustLink, 3: clustLink[list], 4: clustLink[8],...
Definition: RagTime5Graph.cxx:2875
RagTime5GraphInternal::FloatParser::FloatParser
FloatParser(std::string const &zoneName)
constructor
Definition: RagTime5Graph.cxx:200
RagTime5GraphInternal::IntListParser::parseData
bool parseData(MWAWInputStreamPtr &input, long endPos, RagTime5Zone &, int, libmwaw::DebugStream &f) final
try to parse a data
Definition: RagTime5Graph.cxx:164
RagTime5GraphInternal::PictCParser::~PictCParser
~PictCParser() final
destructor
Definition: RagTime5Graph.cxx:2319
RagTime5ClusterManager::ClusterParser
virtual class use to parse the cluster data
Definition: RagTime5ClusterManager.hxx:350
RagTime5GraphInternal::Shape::S_Arc
@ S_Arc
Definition: RagTime5Graph.cxx:226
RagTime5Zone::m_entry
MWAWEntry m_entry
the zone entry
Definition: RagTime5StructManager.hxx:132
MWAWPosition::WDynamic
@ WDynamic
Definition: MWAWPosition.hxx:53
RagTime5GraphInternal::PictCParser::getCluster
std::shared_ptr< RagTime5ClusterManager::Cluster > getCluster() final
return the current cluster
Definition: RagTime5Graph.cxx:1960
RagTime5GraphInternal::PictCParser::PictCParser
PictCParser(RagTime5ClusterManager &parser, int type)
constructor
Definition: RagTime5Graph.cxx:1949
RagTime5Graph::flushExtra
void flushExtra()
sends the data which have not yet been sent to the listener
Definition: RagTime5Graph.cxx:1741
RagTime5StructManager::DataParser
virtual class use to parse the unstructured data
Definition: RagTime5StructManager.hxx:384
RagTime5ClusterManager::ClusterParser::getClusterName
std::string getClusterName(int id)
returns "data"+id+"A" ( followed by the cluster type and name if know)
Definition: RagTime5ClusterManager.cxx:547
RagTime5StructManager::DataParser::DataParser
DataParser(std::string const &zoneName)
constructor
Definition: RagTime5StructManager.hxx:386
RagTime5GraphInternal
Internal: the structures of a RagTime5Graph.
Definition: RagTime5Graph.cxx:62
RagTime5Parser::readFixedSizeZone
bool readFixedSizeZone(RagTime5ClusterManager::Link const &link, std::string const &name)
try to read a fixed size zone
Definition: RagTime5Parser.cxx:1681
RagTime5GraphInternal::Shape::getBdBox
MWAWBox2f getBdBox() const
return the shape bdbox
Definition: RagTime5Graph.cxx:245
RagTime5GraphInternal::SubDocument
Internal: the subdocument of a RagTime5Graph.
Definition: RagTime5Graph.cxx:505
libmwaw::DebugFile::addNote
void addNote(char const *note)
adds a note in the file, in actual position
Definition: MWAWDebug.cxx:59
RagTime5Graph::operator=
RagTime5Graph & operator=(RagTime5Graph const &orig)
MWAWSubDocument
abstract class used to store a subdocument (with a comparison function)
Definition: MWAWSubDocument.hxx:41
MWAWGraphicStyle
a structure used to define a picture style
Definition: MWAWGraphicStyle.hxx:47
RagTime5StructManager::Field::T_FieldList
@ T_FieldList
Definition: RagTime5StructManager.hxx:237
MWAWGraphicStyle::hasLine
bool hasLine() const
returns true if the border is defined
Definition: MWAWGraphicStyle.hxx:317
MWAWGraphicStyle::Pattern::m_data
std::vector< unsigned char > m_data
the pattern data: a sequence of data: p[0..7,0],p[8..15,0]...p[0..7,1],p[8..15,1],...
Definition: MWAWGraphicStyle.hxx:265
RagTime5ClusterManager::Cluster::C_PictureZone
@ C_PictureZone
Definition: RagTime5ClusterManager.hxx:228
RagTime5GraphInternal::GraphicCParser::parseHeaderZone
bool parseHeaderZone(MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f)
parse the header zone
Definition: RagTime5Graph.cxx:2760
RagTime5Graph::readPictureRep
bool readPictureRep(RagTime5Zone &zone)
try to read a picture rep
Definition: RagTime5Graph.cxx:1385
RagTime5GraphInternal::ClusterGraphic::m_linkList
std::vector< RagTime5StructManager::ZoneLink > m_linkList
list of link to other zone
Definition: RagTime5Graph.cxx:391
MWAWPosition::setOrder
void setOrder(int ord) const
set background/foward order
Definition: MWAWPosition.hxx:263
RagTime5Parser::readClusterLinkList
bool readClusterLinkList(RagTime5Zone &zone, RagTime5ClusterManager::Link const &link, std::vector< RagTime5StructManager::ZoneLink > &listLinks)
try to read a cluster link zone
Definition: RagTime5Parser.cxx:1200
RagTime5Parser::getDataZone
std::shared_ptr< RagTime5Zone > getDataZone(int dataId) const
returns the zone corresponding to a data id (or 0)
Definition: RagTime5Parser.cxx:376
RagTime5GraphInternal::GraphicCParser
low level: parser of graph cluster
Definition: RagTime5Graph.cxx:2326
MWAWParser::ascii
libmwaw::DebugFile & ascii()
a DebugFile used to write what we recognize when we parse the document
Definition: MWAWParser.hxx:195
RagTime5GraphInternal::Shape::m_childIdList
std::vector< int > m_childIdList
the child list (for group)
Definition: RagTime5Graph.cxx:267
RagTime5ClusterManager
basic class used to manage RagTime 5/6 zones
Definition: RagTime5ClusterManager.hxx:58
RagTime5Zone::m_childIdToZoneMap
std::map< int, std::shared_ptr< RagTime5Zone > > m_childIdToZoneMap
the child zones
Definition: RagTime5StructManager.hxx:144
RagTime5GraphInternal::Shape::m_shape
MWAWGraphicShape m_shape
the graphic shape
Definition: RagTime5Graph.cxx:265
MWAWGraphicShape::circle
static MWAWGraphicShape circle(MWAWBox2f const &box)
static constructor to create a circle
Definition: MWAWGraphicShape.hxx:128
RagTime5GraphInternal::State::m_numPages
int m_numPages
the number of pages
Definition: RagTime5Graph.cxx:441
RagTime5Parser::send
bool send(int zoneId, MWAWListenerPtr listener, MWAWPosition const &pos, int partId=0, int part2Id=0)
try to send a cluster zone (mainly unimplemented)
Definition: RagTime5Parser.cxx:2448
RagTime5StyleManager
basic class used to read/store RagTime 5/6 styles
Definition: RagTime5StyleManager.hxx:60
RagTime5Graph.hxx
RagTime5GraphInternal::PictCParser::m_cluster
std::shared_ptr< ClusterPicture > m_cluster
the current cluster
Definition: RagTime5Graph.cxx:2305
RagTime5GraphInternal::Shape::S_TextBox
@ S_TextBox
Definition: RagTime5Graph.cxx:226
RagTime5GraphInternal::ClusterGraphic::m_unknownZoneId
int m_unknownZoneId
the graphic unknown zone id
Definition: RagTime5Graph.cxx:378
RagTime5Parser::checkClusterList
bool checkClusterList(std::vector< RagTime5StructManager::ZoneLink > const &list)
check a cluster list
Definition: RagTime5Parser.cxx:1093
RagTime5GraphInternal::Shape::S_Line
@ S_Line
Definition: RagTime5Graph.cxx:226
MWAWGraphicStyle::Pattern
a basic pattern used in a MWAWGraphicStyle:
Definition: MWAWGraphicStyle.hxx:180
MWAWSubDocument.hxx
RagTime5ClusterManager.hxx
RagTime5Graph::m_state
std::shared_ptr< RagTime5GraphInternal::State > m_state
the state
Definition: RagTime5Graph.hxx:192
RagTime5Graph::m_structManager
std::shared_ptr< RagTime5StructManager > m_structManager
the structure manager
Definition: RagTime5Graph.hxx:185
RagTime5Graph::RagTime5Graph
RagTime5Graph(RagTime5Parser &parser)
constructor
Definition: RagTime5Graph.cxx:563
RagTime5StructManager::FieldParser
virtual class use to parse the field data
Definition: RagTime5StructManager.hxx:341
MWAWGraphicShape::Polygon
@ Polygon
Definition: MWAWGraphicShape.hxx:49
MWAWBox2::getUnion
MWAWBox2< T > getUnion(MWAWBox2< T > const &box) const
returns the union between this and box
Definition: libmwaw_internal.hxx:1127
RagTime5GraphInternal::PictCParser::m_what
int m_what
a index to know which field is parsed : 0: main, 1: list, 2: unkn zone58
Definition: RagTime5Graph.cxx:2307
RagTime5Graph
the main class to read the graphic part of RagTime 56 file
Definition: RagTime5Graph.hxx:79
RagTime5Graph::version
int version() const
returns the file version
Definition: RagTime5Graph.cxx:576
libmwaw::SubDocumentType
SubDocumentType
Definition: libmwaw_internal.hxx:188
RagTime5GraphInternal::Shape::S_Unknown
@ S_Unknown
Definition: RagTime5Graph.cxx:226
RagTime5Graph::~RagTime5Graph
virtual ~RagTime5Graph()
destructor
Definition: RagTime5Graph.cxx:572
RagTime5Graph::readGraphicShape
bool readGraphicShape(RagTime5GraphInternal::ClusterGraphic &cluster, RagTime5Zone &dataZone, long endPos, int n, librevenge::RVNGString const &dataName)
try to read a graphic
Definition: RagTime5Graph.cxx:882
RagTime5GraphInternal::State::State
State()
constructor
Definition: RagTime5Graph.cxx:432
RagTime5GraphInternal::State::m_idPictureMap
std::map< int, std::shared_ptr< MWAWEmbeddedObject > > m_idPictureMap
map data id to picture
Definition: RagTime5Graph.cxx:464
MWAWGraphicStyle::emptyStyle
static MWAWGraphicStyle emptyStyle()
returns an empty style.
Definition: MWAWGraphicStyle.hxx:308
RagTime5GraphInternal::Shape::operator<<
friend std::ostream & operator<<(std::ostream &o, Shape const &shape)
operator<<
Definition: RagTime5Graph.cxx:280
RagTime5GraphInternal::GraphicCParser::parseDataZone
bool parseDataZone(MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f)
parse a data block
Definition: RagTime5Graph.cxx:2517
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
libmwaw::DebugFile::skipZone
void skipZone(long beginPos, long endPos)
skips the file zone defined by beginPos-endPos
Definition: MWAWDebug.hxx:113
RagTime5GraphInternal::Shape::Type
Type
the different shape
Definition: RagTime5Graph.cxx:226
RagTime5Graph::readPictureList
bool readPictureList(RagTime5Zone &zone)
try to read a picture list
Definition: RagTime5Graph.cxx:1327
libmwaw::Debug::dumpFile
bool dumpFile(librevenge::RVNGBinaryData &data, char const *fileName)
a debug function to store in a datafile in the current directory WARNING: this function erase the fil...
Definition: MWAWDebug.cxx:193
RagTime5GraphInternal::ClusterPicture::ClusterPicture
ClusterPicture()
constructor
Definition: RagTime5Graph.cxx:401
RagTime5GraphInternal::GraphicCParser::m_what
int m_what
a index to know which field is parsed : 0: graphdata, 1: list, 2: clustLink, graph transform,...
Definition: RagTime5Graph.cxx:2873
libmwaw_internal.hxx
MWAWGraphicStyle::m_lineWidth
float m_lineWidth
the linewidth
Definition: MWAWGraphicStyle.hxx:415
RagTime5Graph::numPages
int numPages() const
returns the number of pages
Definition: RagTime5Graph.cxx:581
MWAWPosition.hxx
MWAWPosition::setSize
void setSize(MWAWVec2f const &sz)
sets the frame size
Definition: MWAWPosition.hxx:214
RagTime5GraphInternal::State::m_shapeTypeIdVector
std::vector< int > m_shapeTypeIdVector
the vector of shape type id
Definition: RagTime5Graph.cxx:458
ClarisDrawTextInternal::P_Unknown
@ P_Unknown
Definition: ClarisDrawText.cxx:60
RagTime5GraphInternal::State::P_Epsf
@ P_Epsf
Definition: RagTime5Graph.cxx:429
RagTime5GraphInternal::Shape::m_flags
uint32_t m_flags
the shape flag
Definition: RagTime5Graph.cxx:269
RagTime5GraphInternal::SubDocument::m_subId
int m_subId
the zone sub id
Definition: RagTime5Graph.cxx:532
RagTime5Graph::readPictureData
bool readPictureData(RagTime5Zone &zone)
try to read a picture data zone: ie. the zone which contains jpeg, tiff, ...
Definition: RagTime5Graph.cxx:1483
RagTime5Zone::getKindLastPart
std::string getKindLastPart(bool main=true) const
returns the main type
Definition: RagTime5StructManager.hxx:80
MWAWPosition
Class to define the position of an object (textbox, picture, ..) in the document.
Definition: MWAWPosition.hxx:47
RagTime5ClusterManager::ClusterParser::m_dataId
int m_dataId
the actual zone id
Definition: RagTime5ClusterManager.hxx:426
RagTime5StructManager::Field::T_Long
@ T_Long
Definition: RagTime5StructManager.hxx:237
RagTime5ClusterManager::Cluster::C_GraphicZone
@ C_GraphicZone
Definition: RagTime5ClusterManager.hxx:228
MWAWEntry::setBegin
void setBegin(long off)
sets the begin offset
Definition: MWAWEntry.hxx:66
RagTime5ClusterManager::Cluster::m_hiLoEndian
bool m_hiLoEndian
the cluster hiLo endian
Definition: RagTime5ClusterManager.hxx:259
RagTime5GraphInternal::Shape::m_linkId
int m_linkId
the link to a zone id
Definition: RagTime5Graph.cxx:257
RagTime5Zone
main zone in a RagTime v5-v6 document
Definition: RagTime5StructManager.hxx:48
RagTime5ClusterManager::Cluster::C_TextZone
@ C_TextZone
Definition: RagTime5ClusterManager.hxx:228
RagTime5GraphInternal::ClusterGraphic::m_textboxZoneId
int m_textboxZoneId
the main textbox zone id(if defined)
Definition: RagTime5Graph.cxx:376
MWAWGraphicStyle::Pattern::m_dim
MWAWVec2i m_dim
the dimension width x height
Definition: MWAWGraphicStyle.hxx:260
MWAWPosition::m_wrapping
Wrapping m_wrapping
Wrapping.
Definition: MWAWPosition.hxx:277
RagTime5Graph::send
bool send(int zoneId, MWAWListenerPtr listener, MWAWPosition const &pos)
try to send the cluster zone
Definition: RagTime5Graph.cxx:588
MWAWEntry::length
long length() const
returns the length of the zone
Definition: MWAWEntry.hxx:92
RagTime5GraphInternal::ClustListParser::~ClustListParser
~ClustListParser() final
destructor
Definition: RagTime5Graph.cxx:144
MWAWGraphicShape::Path
@ Path
Definition: MWAWGraphicShape.hxx:49
RagTime5Parser::readPositions
bool readPositions(int posId, std::vector< long > &listPosition)
try to read a positions zone in data
Definition: RagTime5Parser.cxx:922
RagTime5GraphInternal::IntListParser
Internal: the helper to read an integer list.
Definition: RagTime5Graph.cxx:149
RagTime5GraphInternal::ClustListParser::getClusterName
std::string getClusterName(int id) const
returns a name with can be used for debugging
Definition: RagTime5Graph.cxx:76
RagTime5GraphInternal::Shape::m_dimension
MWAWBox2f m_dimension
the dimension
Definition: RagTime5Graph.cxx:263
MWAWVec2< float >
RagTime5Zone::getInput
MWAWInputStreamPtr getInput()
returns the current input
Definition: RagTime5StructManager.hxx:91
RagTime5GraphInternal::State::P_PNG
@ P_PNG
Definition: RagTime5Graph.cxx:429
MWAWGraphicShape.hxx
MWAWDebug.hxx
RagTime5GraphInternal::State::P_Unknown
@ P_Unknown
Definition: RagTime5Graph.cxx:429
MWAWPosition::setOrigin
void setOrigin(MWAWVec2f const &orig)
sets the frame origin
Definition: MWAWPosition.hxx:209
RagTime5GraphInternal::State::P_WMF
@ P_WMF
Definition: RagTime5Graph.cxx:429
RagTime5GraphInternal::PictCParser::operator=
PictCParser & operator=(PictCParser const &orig)=delete
copy operator (not implemented)
MWAWEntry::begin
long begin() const
returns the begin offset
Definition: MWAWEntry.hxx:82
MWAWEntry::setLength
void setLength(long l)
sets the zone size
Definition: MWAWEntry.hxx:71
RagTime5GraphInternal::State::PictureType
PictureType
enum used to defined list of classical pict
Definition: RagTime5Graph.cxx:429
RagTime5GraphInternal::PictCParser::parseZone
bool parseZone(MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f) final
parse a zone
Definition: RagTime5Graph.cxx:1996
MWAWGraphicStyle::m_arrows
Arrow m_arrows[2]
the two arrows corresponding to start and end extremity
Definition: MWAWGraphicStyle.hxx:470
RagTime5Graph::readGraphicShapes
bool readGraphicShapes(RagTime5GraphInternal::ClusterGraphic &cluster)
try to read the graphic shapes of a cluster
Definition: RagTime5Graph.cxx:785
MWAWColor::black
static MWAWColor black()
return the back color
Definition: libmwaw_internal.hxx:245
MWAWBox2f
MWAWBox2< float > MWAWBox2f
MWAWBox2 of float.
Definition: libmwaw_internal.hxx:1191
RagTime5GraphInternal::GraphicCParser::GraphicCParser
GraphicCParser(RagTime5ClusterManager &parser, int type)
constructor
Definition: RagTime5Graph.cxx:2328
RagTime5Graph::readGraphicUnknown
bool readGraphicUnknown(int typeId)
try to read a graphic unknown zone in data
Definition: RagTime5Graph.cxx:1211
RagTime5GraphInternal::Shape::S_RegularPoly
@ S_RegularPoly
Definition: RagTime5Graph.cxx:226
RagTime5StyleManager.hxx
RagTime5GraphInternal::ClusterGraphic
the shape cluster
Definition: RagTime5Graph.cxx:360
RagTime5GraphInternal::GraphicCParser::m_fieldName
std::string m_fieldName
the actual field name
Definition: RagTime5Graph.cxx:2877
RagTime5GraphInternal::Shape::m_type
Type m_type
the shape type
Definition: RagTime5Graph.cxx:261
RagTime5GraphInternal::PictCParser::parseField
bool parseField(RagTime5StructManager::Field const &field, int, libmwaw::DebugStream &f) final
parse a field
Definition: RagTime5Graph.cxx:2010
MWAWPosition::Char
@ Char
Definition: MWAWPosition.hxx:51
RagTime5ClusterManager::Cluster::m_linksList
std::vector< Link > m_linksList
the link list
Definition: RagTime5ClusterManager.hxx:273
RagTime5GraphInternal::ClusterPicture
the picture cluster
Definition: RagTime5Graph.cxx:399
MWAWGraphicShape::arc
static MWAWGraphicShape arc(MWAWBox2f const &box, MWAWBox2f const &circleBox, MWAWVec2f const &angles)
static constructor to create a arc
Definition: MWAWGraphicShape.hxx:136
RagTime5GraphInternal::SubDocument::m_ragtimeParser
RagTime5Graph & m_ragtimeParser
the main parser
Definition: RagTime5Graph.cxx:528
RagTime5GraphInternal::GraphicCParser::parseField
bool parseField(RagTime5StructManager::Field const &field, int, libmwaw::DebugStream &f) final
parse a field
Definition: RagTime5Graph.cxx:2405
MWAWGraphicStyle::Pattern::m_colors
MWAWColor m_colors[2]
the two indexed colors
Definition: MWAWGraphicStyle.hxx:263
RagTime5GraphInternal::FloatParser::parseData
bool parseData(MWAWInputStreamPtr &input, long endPos, RagTime5Zone &, int, libmwaw::DebugStream &f) final
try to parse a data
Definition: RagTime5Graph.cxx:207
RagTime5Zone::m_name
std::string m_name
the zone name ( mainly used for debugging)
Definition: RagTime5StructManager.hxx:134
RagTime5Zone::isMainInput
bool isMainInput() const
returns true if the input correspond to the basic file
Definition: RagTime5StructManager.hxx:102
RagTime5Graph::m_mainParser
RagTime5Parser & m_mainParser
the parser
Definition: RagTime5Graph.hxx:182
RagTime5Graph::readPictureContainer
bool readPictureContainer(RagTime5Zone &zone)
try to read a picture data zone
Definition: RagTime5Graph.cxx:1410
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
RagTime5GraphInternal::GraphicCParser::parseZone
bool parseZone(MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f) final
parse a zone
Definition: RagTime5Graph.cxx:2391
RagTime5GraphInternal::IntListParser::IntListParser
IntListParser(int fieldSz, std::string const &zoneName)
constructor
Definition: RagTime5Graph.cxx:151
RagTime5GraphInternal::Shape::S_Pie
@ S_Pie
Definition: RagTime5Graph.cxx:226
RagTime5Parser::getClusterType
RagTime5ClusterManager::Cluster::Type getClusterType(int zId) const
returns the cluster type corresponding to zone id or C_Unknown (if the zone is not a cluster or was n...
Definition: RagTime5Parser.cxx:383
RagTime5GraphInternal::SubDocument::SubDocument
SubDocument(RagTime5Graph &parser, MWAWInputStreamPtr const &input, int zoneId, int partId)
Definition: RagTime5Graph.cxx:509
MWAWGraphicStyle.hxx
RagTime5ClusterManager::Cluster::m_zoneId
int m_zoneId
the zone id
Definition: RagTime5ClusterManager.hxx:257
RagTime5GraphInternal::ClusterGraphic::m_clusterLinks
RagTime5ClusterManager::Link m_clusterLinks[3]
two cluster links: list of pipeline: fixedSize=12, second list with field size 10),...
Definition: RagTime5Graph.cxx:384
RagTime5GraphInternal::Shape::m_transformId
int m_transformId
the transformation id
Definition: RagTime5Graph.cxx:275
RagTime5GraphInternal::PictCParser::parseDataZone
bool parseDataZone(MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f)
parse a data block, find fSz=36, 36|36|28|28|32
Definition: RagTime5Graph.cxx:2088
RagTime5Graph::m_parserState
MWAWParserStatePtr m_parserState
the parser state
Definition: RagTime5Graph.hxx:189
RagTime5GraphInternal::PictCParser
low level: parser of picture cluster
Definition: RagTime5Graph.cxx:1947
RagTime5Graph::readGraphicCluster
std::shared_ptr< RagTime5ClusterManager::Cluster > readGraphicCluster(RagTime5Zone &zone, int zoneType)
try to read a graphic zone
Definition: RagTime5Graph.cxx:2949
RagTime5GraphInternal::GraphicCParser::getCluster
std::shared_ptr< RagTime5ClusterManager::Cluster > getCluster() final
return the current cluster
Definition: RagTime5Graph.cxx:2339
RagTime5GraphInternal::Shape::m_parentId
int m_parentId
the shape parent id
Definition: RagTime5Graph.cxx:255
RagTime5StructManager::Field::T_LongList
@ T_LongList
Definition: RagTime5StructManager.hxx:237
MWAWParserStatePtr
std::shared_ptr< MWAWParserState > MWAWParserStatePtr
a smart pointer of MWAWParserState
Definition: libmwaw_internal.hxx:555
RagTime5Graph::readGraphicTypes
bool readGraphicTypes(RagTime5ClusterManager::Link const &link)
try to read a main graphic types
Definition: RagTime5Graph.cxx:614
RagTime5ClusterManager::Cluster::C_SpreadsheetZone
@ C_SpreadsheetZone
Definition: RagTime5ClusterManager.hxx:228
RagTime5GraphInternal::GraphicCParser::operator=
GraphicCParser & operator=(GraphicCParser const &orig)=delete
copy operator (not implemented)
RagTime5GraphInternal::Shape::m_borderId
int m_borderId
the border id
Definition: RagTime5Graph.cxx:271
libmwaw::DebugFile::addPos
void addPos(long pos)
adds a new position in the file
Definition: MWAWDebug.cxx:53
RagTime5GraphInternal::SubDocument::m_id
int m_id
the zone id
Definition: RagTime5Graph.cxx:530
RagTime5GraphInternal::Shape::S_Polygon
@ S_Polygon
Definition: RagTime5Graph.cxx:226
MWAWEntry::valid
bool valid() const
returns true if the zone length is positive
Definition: MWAWEntry.hxx:98
RagTime5StructManager
basic class used to store RagTime 5/6 structures
Definition: RagTime5StructManager.hxx:170
RagTime5Zone::m_ids
int m_ids[3]
the zone id
Definition: RagTime5StructManager.hxx:138
MWAWListener.hxx
RagTime5ClusterManager::Cluster::m_nameLink
Link m_nameLink
the name link
Definition: RagTime5ClusterManager.hxx:265
MWAWBox2::size
MWAWVec2< T > size() const
the box size
Definition: libmwaw_internal.hxx:1065
RagTime5Graph::readPictureMatch
bool readPictureMatch(RagTime5Zone &zone, bool color)
try to read a picture match zone
Definition: RagTime5Graph.cxx:1667
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
RagTime5GraphInternal::ClusterGraphic::m_transformationLinks
std::vector< RagTime5ClusterManager::Link > m_transformationLinks
the list of transformation's link
Definition: RagTime5Graph.cxx:380
RagTime5GraphInternal::IntListParser::operator=
IntListParser & operator=(IntListParser &orig)=delete
copy operator, not implemented
libmwaw
namespace used to regroup all libwpd functions, enumerations which we have redefined for internal usa...
Definition: libmwaw_internal.cxx:50
RagTime5GraphInternal::PictCParser::getPictureCluster
std::shared_ptr< ClusterPicture > getPictureCluster()
return the current cluster
Definition: RagTime5Graph.cxx:1965
RagTime5GraphInternal::GraphicCParser::~GraphicCParser
~GraphicCParser() final
destructor
Definition: RagTime5Graph.cxx:2885
RagTime5GraphInternal::SubDocument::operator!=
bool operator!=(MWAWSubDocument const &doc) const final
operator!=
Definition: RagTime5Graph.cxx:547
RagTime5ClusterManager::ClusterParser::m_type
int m_type
the cluster type
Definition: RagTime5ClusterManager.hxx:420
MWAWInputStream.hxx
RagTime5GraphInternal::ClustListParser
Internal: the helper to read a clustList.
Definition: RagTime5Graph.cxx:65
RagTime5GraphInternal::operator<<
std::ostream & operator<<(std::ostream &o, Shape const &shape)
Definition: RagTime5Graph.cxx:280
RagTime5Graph::checkGraphicCluster
void checkGraphicCluster(RagTime5GraphInternal::ClusterGraphic &cluster)
check the graphic cluster data: check if there is no loop, ...
Definition: RagTime5Graph.cxx:3032
MWAWListenerPtr
std::shared_ptr< MWAWListener > MWAWListenerPtr
a smart pointer of MWAWListener
Definition: libmwaw_internal.hxx:551
MWAWFont.hxx
MWAWPosition::m_anchorTo
AnchorTo m_anchorTo
anchor position
Definition: MWAWPosition.hxx:269
RagTime5GraphInternal::Shape::S_Group
@ S_Group
Definition: RagTime5Graph.cxx:226
RagTime5GraphInternal::ClustListParser::operator=
ClustListParser & operator=(ClustListParser &orig)
copy operator, not implemented
MWAWBox2< float >
RagTime5GraphInternal::ClustListParser::m_clusterManager
RagTime5ClusterManager & m_clusterManager
the main zone manager
Definition: RagTime5Graph.cxx:137
MWAWGraphicShape::PathData
a simple path component
Definition: MWAWGraphicShape.hxx:53
RagTime5GraphInternal::ClustListParser::m_clusterList
std::vector< int > m_clusterList
the list of read cluster
Definition: RagTime5Graph.cxx:134
MWAWPosition::WParallel
@ WParallel
Definition: MWAWPosition.hxx:53
RagTime5GraphInternal::PictCParser::endZone
void endZone() final
end of a start zone call
Definition: RagTime5Graph.cxx:1970
MWAWGraphicShape::rectangle
static MWAWGraphicShape rectangle(MWAWBox2f const &box, MWAWVec2f const &corners=MWAWVec2f(0, 0))
static constructor to create a rectangle
Definition: MWAWGraphicShape.hxx:119
RagTime5GraphInternal::IntListParser::m_fieldSize
int m_fieldSize
the field size
Definition: RagTime5Graph.cxx:183
RagTime5Graph::readColorPatternZone
bool readColorPatternZone(RagTime5ClusterManager::Cluster &cluster)
try to read a zone of color and pattern
Definition: RagTime5Graph.cxx:704
RagTime5GraphInternal::State
Internal: the state of a RagTime5Graph.
Definition: RagTime5Graph.cxx:427
RagTime5Zone::m_hiLoEndian
bool m_hiLoEndian
true if the endian is hilo
Definition: RagTime5StructManager.hxx:136
RagTime5Parser::readStructZone
bool readStructZone(RagTime5ClusterManager::Cluster &cluster, RagTime5StructManager::FieldParser &parser, int headerSz)
try to read a structured zone
Definition: RagTime5Parser.cxx:1745
RagTime5Graph::sendTextZone
bool sendTextZone(MWAWListenerPtr listener, int zId, int pId)
ask to send a text zone
Definition: RagTime5Graph.cxx:600
RagTime5GraphInternal::Shape::S_RectOval
@ S_RectOval
Definition: RagTime5Graph.cxx:226
MWAWVec2i
MWAWVec2< int > MWAWVec2i
MWAWVec2 of int.
Definition: libmwaw_internal.hxx:836
RagTime5GraphInternal::State::getPictureType
static PictureType getPictureType(std::string const &type)
returns the picture type corresponding to a name
Definition: RagTime5Graph.cxx:445
RagTime5StructManager::readDataIdList
static bool readDataIdList(MWAWInputStreamPtr input, int n, std::vector< int > &listIds)
try to read n data id
Definition: RagTime5StructManager.cxx:269
libmwaw::DebugStream
std::stringstream DebugStream
a basic stream (if debug_with_files is not defined, does nothing)
Definition: MWAWDebug.hxx:61
RagTime5Graph::readGraphicTransformations
bool readGraphicTransformations(RagTime5ClusterManager::Link const &link)
try to read a graphic transformations zone
Definition: RagTime5Graph.cxx:1266
RagTime5Parser.hxx
RagTime5GraphInternal::ClusterPicture::m_containerId
int m_containerId
the picture container id
Definition: RagTime5Graph.cxx:416
RagTime5ClusterManager::ClusterParser::ClusterParser
ClusterParser(RagTime5ClusterManager &parser, int type, std::string const &zoneName)
constructor
Definition: RagTime5ClusterManager.hxx:352
RagTime5GraphInternal::PictCParser::m_linkId
int m_linkId
the link id: 0: fieldSz=8 ?, data2: dataId+?
Definition: RagTime5Graph.cxx:2309
RagTime5ClusterManager::Cluster::C_Unknown
@ C_Unknown
Definition: RagTime5ClusterManager.hxx:234
RagTime5GraphInternal::State::P_Jpeg
@ P_Jpeg
Definition: RagTime5Graph.cxx:429

Generated on Wed Jan 29 2020 00:00:00 for libmwaw by doxygen 1.8.17