CanvasGraph.hxx Source File documentation

CanvasGraph.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 Canvas text document ( graphic part )
36 *
37 */
38 #ifndef CANVAS_GRAPH
39 # define CANVAS_GRAPH
40
41 #include <string>
42 #include <vector>
43
44 #include <librevenge/librevenge.h>
45
46 #include "libmwaw_internal.hxx"
47
48 #include "MWAWDebug.hxx"
49 #include "MWAWGraphicStyle.hxx"
50 #include "MWAWInputStream.hxx"
51 #include "MWAWPosition.hxx"
52
53 namespace CanvasGraphInternal
54 {
55 struct LocalTransform;
56 struct Shape;
57 struct State;
58
59 class SubDocument;
60 }
61
62 class CanvasParser;
63 class CanvasStyleManager;
64
70 class CanvasGraph
71 {
72 friend class CanvasGraphInternal::SubDocument;
73 friend class CanvasParser;
74
75 public:
77 explicit CanvasGraph(CanvasParser &parser);
79 virtual ~CanvasGraph();
80
82 int version() const;
83
84 protected:
86 void setInput(MWAWInputStreamPtr &input);
88 MWAWInputStreamPtr &getInput();
89
90 // interface with main parser
91
93 bool sendShape(int id);
94
95 //
96 // Intermediate level
97 //
98
100 bool readShapes(int numShapes, unsigned long shapeLength, unsigned long dataLength);
102 bool readShape(int n, std::vector<MWAWEntry> const &dataZonesList);
104 bool readShapeData(CanvasGraphInternal::Shape &shape);
105
107 bool getBitmapBW(CanvasGraphInternal::Shape const &shape, MWAWEmbeddedObject &obj);
109 bool getBitmap(CanvasGraphInternal::Shape const &shape, MWAWEmbeddedObject &obj);
111 bool readFileBitmap(long length);
113 bool getPicture(CanvasGraphInternal::Shape const &shape, MWAWEmbeddedObject &obj);
114
115 //
116 // send data to the listener
117 //
118
120 void update(CanvasGraphInternal::Shape const &shape, MWAWGraphicStyle &style) const;
122 bool send(CanvasGraphInternal::Shape const &shape, CanvasGraphInternal::LocalTransform const *local=nullptr);
124 bool sendDimension(CanvasGraphInternal::Shape const &shape, CanvasGraphInternal::LocalTransform const &local);
126 bool sendMultiLines(CanvasGraphInternal::Shape const &shape, CanvasGraphInternal::LocalTransform const &local);
128 bool sendSpecial(CanvasGraphInternal::Shape const &shape, CanvasGraphInternal::LocalTransform const &local);
130 bool sendText(CanvasGraphInternal::Shape const &shape);
132 bool sendText(int zId);
133
134 //
135 // Low level
136 //
137
139 void markSent(int id);
141 void checkUnsent() const;
142
143 private:
144 CanvasGraph(CanvasGraph const &orig) = delete;
145 CanvasGraph &operator=(CanvasGraph const &orig) = delete;
146
147 protected:
148 //
149 // data
150 //
152 MWAWParserStatePtr m_parserState;
153
155 std::shared_ptr<CanvasGraphInternal::State> m_state;
156
158 CanvasParser *m_mainParser;
160 std::shared_ptr<CanvasStyleManager> m_styleManager;
161 };
162 #endif
163 // 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
MWAWParagraph::m_justify
MWAWVariable< Justification > m_justify
the justification
Definition: MWAWParagraph.hxx:167
MWAWInputStreamPtr
std::shared_ptr< MWAWInputStream > MWAWInputStreamPtr
a smart pointer of MWAWInputStream
Definition: libmwaw_internal.hxx:551
CanvasGraphInternal::LocalTransform::m_position
MWAWPosition m_position
Definition: CanvasGraph.cxx:292
CanvasParser::decode
bool decode(long length)
try to decode some data: length==-1 means decode end of input
Definition: CanvasParser.cxx:565
CanvasStyleManager.hxx
MWAWFont::set
void set(Script const &newscript)
sets the script position
Definition: MWAWFont.hxx:314
CanvasGraphInternal::SubDocument::SubDocument
SubDocument(SubDocument const &orig)=delete
MWAWGraphicListenerPtr
std::shared_ptr< MWAWGraphicListener > MWAWGraphicListenerPtr
a smart pointer of MWAWGraphicListener
Definition: libmwaw_internal.hxx:549
CanvasGraphInternal::Shape::getSpecialId
int getSpecialId() const
try to return the special type
Definition: CanvasGraph.cxx:129
MWAWFont::smallCapsBit
@ smallCapsBit
Definition: MWAWFont.hxx:192
CanvasGraphInternal::SubDocument::operator!=
bool operator!=(MWAWSubDocument const &doc) const final
operator!=
Definition: CanvasGraph.cxx:396
CanvasGraph::readFileBitmap
bool readFileBitmap(long length)
tries to read the file bitmap: windows v3.5
Definition: CanvasGraph.cxx:1338
MWAWGraphicShape::getBdBox
MWAWBox2f getBdBox() const
returns the basic bdbox
Definition: MWAWGraphicShape.hxx:197
MWAW_DEBUG_MSG
#define MWAW_DEBUG_MSG(M)
Definition: libmwaw_internal.hxx:129
CanvasGraphInternal::Shape::m_specialType
std::string m_specialType
the special type
Definition: CanvasGraph.cxx:277
MWAWVec2f
MWAWVec2< float > MWAWVec2f
MWAWVec2 of float.
Definition: libmwaw_internal.hxx:842
CanvasGraph::readShapeData
bool readShapeData(CanvasGraphInternal::Shape &shape)
try to read the shapes data
Definition: CanvasGraph.cxx:731
MWAWPictBitmapIndexed::setColors
void setColors(std::vector< MWAWColor > const &cols)
sets the array of indexed colors
Definition: MWAWPictBitmap.hxx:446
libmwaw::DebugFile::addDelimiter
void addDelimiter(long pos, char c)
adds a not breaking delimiter in position pos
Definition: MWAWDebug.cxx:73
MWAWGraphicStyle::setSurfaceColor
void setSurfaceColor(MWAWColor const &col, float opacity=1)
set the surface color
Definition: MWAWGraphicStyle.hxx:415
CanvasGraphInternal::smoothPoints
std::vector< MWAWVec2f > smoothPoints(std::vector< MWAWVec2f > const &vertices)
Internal: try to smooth a list of points.
Definition: CanvasGraph.cxx:329
CanvasGraphInternal::Shape::m_rotation
int m_rotation
the transformed child rotation
Definition: CanvasGraph.cxx:245
CanvasGraphInternal::Shape::m_sent
bool m_sent
a flag to know if the shape is already send
Definition: CanvasGraph.cxx:281
MWAWGraphicShape::pie
static MWAWGraphicShape pie(MWAWBox2f const &box, MWAWBox2f const &circleBox, MWAWVec2f const &angles)
static constructor to create a pie
Definition: MWAWGraphicShape.hxx:147
MWAWGraphicShape::m_path
std::vector< PathData > m_path
the list of path component
Definition: MWAWGraphicShape.hxx:228
MWAWPictBitmapIndexed::set
void set(int i, int j, int v)
sets a cell contents
Definition: MWAWPictBitmap.hxx:425
CanvasGraphInternal::State::m_idToShapeMap
std::map< int, Shape > m_idToShapeMap
the map id to shape
Definition: CanvasGraph.cxx:367
CanvasGraph::setInput
void setInput(MWAWInputStreamPtr &input)
store the actual input
Definition: CanvasGraph.cxx:467
MWAWGraphicStyle::Arrow::plain
static Arrow plain()
returns a basic plain arrow
Definition: MWAWGraphicStyle.hxx:74
MWAWFont::boldBit
@ boldBit
Definition: MWAWFont.hxx:190
MWAWPosition::order
int order() const
returns background/foward order
Definition: MWAWPosition.hxx:259
CanvasGraphInternal::SubDocument::~SubDocument
~SubDocument() final
destructor
Definition: CanvasGraph.cxx:393
MWAWEmbeddedObject::m_dataList
std::vector< librevenge::RVNGBinaryData > m_dataList
the picture content: one data by representation
Definition: libmwaw_internal.hxx:512
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
MWAWParagraph::setInterline
void setInterline(double value, librevenge::RVNGUnit unit, LineSpacingType type=Fixed)
set the interline
Definition: MWAWParagraph.hxx:129
CanvasGraph.hxx
MWAWEntry::id
int id() const
returns the id
Definition: MWAWEntry.hxx:164
CanvasGraphInternal::Shape::Shape
Shape()
constructor
Definition: CanvasGraph.cxx:70
MWAWGraphicShape
a structure used to define a picture shape
Definition: MWAWGraphicShape.hxx:46
MWAWColor
the class to store a color
Definition: libmwaw_internal.hxx:192
libmwaw::appendUnicode
void appendUnicode(uint32_t val, librevenge::RVNGString &buffer)
adds an unicode character to a string
Definition: libmwaw_internal.cxx:63
MWAWEmbeddedObject
small class use to define a embedded object
Definition: libmwaw_internal.hxx:467
CanvasGraphInternal::SubDocument::m_graphParser
CanvasGraph & m_graphParser
the graph parser
Definition: CanvasGraph.cxx:412
MWAWGraphicShape::line
static MWAWGraphicShape line(MWAWVec2f const &orign, MWAWVec2f const &dest)
static constructor to create a line
Definition: MWAWGraphicShape.cxx:228
CanvasGraphInternal::Shape::m_align
int m_align
the text alignment: 0:left, 1:center, ...
Definition: CanvasGraph.cxx:271
CanvasGraph::getInput
MWAWInputStreamPtr & getInput()
returns the current input
Definition: CanvasGraph.cxx:472
CanvasGraphInternal::Shape::operator<<
friend std::ostream & operator<<(std::ostream &o, Shape const &s)
operator<<
Definition: CanvasGraph.cxx:150
MWAWGraphicStyle::Pattern::getAverageColor
bool getAverageColor(MWAWColor &col) const
return the average color
Definition: MWAWGraphicStyle.cxx:101
CanvasGraphInternal::Shape::m_mode
int m_mode
the copy mode (8: copy, 9: xor)
Definition: CanvasGraph.cxx:249
MWAWParagraph
class to store the paragraph properties
Definition: MWAWParagraph.hxx:85
CanvasGraph::operator=
CanvasGraph & operator=(CanvasGraph const &orig)=delete
MWAWColor::str
std::string str() const
print the color in the form #rrggbb
Definition: libmwaw_internal.cxx:232
MWAWFont::Line::Simple
@ Simple
Definition: MWAWFont.hxx:49
CanvasParser::isWindowsFile
bool isWindowsFile() const
returns true if the file is a windows file
Definition: CanvasParser.cxx:577
CanvasGraphInternal::Shape::m_dashWidth
std::vector< float > m_dashWidth
the dash array: a sequence of (fullsize, emptysize) v3.5
Definition: CanvasGraph.cxx:255
MWAWPictData::get
static MWAWPictData * get(MWAWInputStreamPtr const &input, int size)
checks if the data pointed by input is known
Definition: MWAWPictData.hxx:108
MWAWPictBitmap::getBinary
bool getBinary(MWAWEmbeddedObject &picture) const override
returns the final picture
Definition: MWAWPictBitmap.hxx:225
CanvasGraph::update
void update(CanvasGraphInternal::Shape const &shape, MWAWGraphicStyle &style) const
updates the style corresponding to a shape
Definition: CanvasGraph.cxx:1517
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
MWAWSubDocument
abstract class used to store a subdocument (with a comparison function)
Definition: MWAWSubDocument.hxx:42
MWAWGraphicStyle
a structure used to define a picture style
Definition: MWAWGraphicStyle.hxx:48
MWAWGraphicShape::m_bdBox
MWAWBox2f m_bdBox
the shape bdbox
Definition: MWAWGraphicShape.hxx:218
CanvasGraphInternal::LocalTransform
Internal: the local state of a CanvasGraph.
Definition: CanvasGraph.cxx:285
MWAWPictBitmapColor::set
void set(int i, int j, MWAWColor const &v)
sets a cell contents
Definition: MWAWPictBitmap.hxx:529
CanvasGraphInternal::SubDocument::operator=
SubDocument & operator=(SubDocument const &orig)=delete
CanvasGraph::readShape
bool readShape(int n, std::vector< MWAWEntry > const &dataZonesList)
try to read a shape: to do
Definition: CanvasGraph.cxx:589
MWAWPosition::setOrder
void setOrder(int ord) const
set background/foward order
Definition: MWAWPosition.hxx:264
CanvasGraphInternal::State::State
State()
constructor
Definition: CanvasGraph.cxx:353
MWAWFont::embossBit
@ embossBit
Definition: MWAWFont.hxx:190
MWAWFont::uppercaseBit
@ uppercaseBit
Definition: MWAWFont.hxx:192
MWAWGraphicShape::circle
static MWAWGraphicShape circle(MWAWBox2f const &box)
static constructor to create a circle
Definition: MWAWGraphicShape.hxx:129
MWAWGraphicStyle::Pattern
a basic pattern used in a MWAWGraphicStyle:
Definition: MWAWGraphicStyle.hxx:277
CanvasGraphInternal::Shape::m_hatchGradChild
int m_hatchGradChild
the hatch or gradient child
Definition: CanvasGraph.cxx:257
MWAWSubDocument.hxx
CanvasGraphInternal::Shape::m_bitmapType
int m_bitmapType
the bitmap type
Definition: CanvasGraph.cxx:273
CanvasGraphInternal::SubDocument::SubDocument
SubDocument(CanvasGraph &parser, MWAWInputStreamPtr const &input, librevenge::RVNGString const &measure)
constructor from string
Definition: CanvasGraph.cxx:384
MWAWPosition::size
MWAWVec2f const & size() const
returns the frame size
Definition: MWAWPosition.hxx:135
MWAWGraphicShape::Polygon
@ Polygon
Definition: MWAWGraphicShape.hxx:49
MWAWGraphicShape::polygon
static MWAWGraphicShape polygon(MWAWBox2f const &box)
static constructor to create a polygon
Definition: MWAWGraphicShape.hxx:165
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
CanvasGraphInternal::Shape::m_arrow
MWAWGraphicStyle::Arrow m_arrow
the line/arc arrow
Definition: CanvasGraph.cxx:275
libmwaw::SubDocumentType
SubDocumentType
Definition: libmwaw_internal.hxx:188
CanvasGraphInternal::getOffsetPoint
MWAWVec2f getOffsetPoint(std::vector< MWAWVec2f > const &vertices, size_t id, float offset)
Internal: given a list of vertices, an indice and an offset computes a new point.
Definition: CanvasGraph.cxx:297
CanvasStyleManager
the main class to read the style part of Canvas file
Definition: CanvasStyleManager.hxx:67
MWAWSubDocument::m_input
std::shared_ptr< MWAWInputStream > m_input
the input
Definition: MWAWSubDocument.hxx:77
CanvasParser
the main class to read a Canvas 2 and 3 files
Definition: CanvasParser.hxx:64
CanvasGraphInternal::Shape::m_points
std::vector< MWAWVec2f > m_points
the points: line, ...
Definition: CanvasGraph.cxx:263
MWAWFont::initialcaseBit
@ initialcaseBit
Definition: MWAWFont.hxx:194
CanvasGraphInternal::Shape::m_box
MWAWBox2f m_box
the bounding box
Definition: CanvasGraph.cxx:243
CanvasGraphInternal::Shape::m_childs
std::vector< int > m_childs
the childs (group 99)
Definition: CanvasGraph.cxx:269
MWAWParagraph::JustificationCenter
@ JustificationCenter
Definition: MWAWParagraph.hxx:90
CanvasGraph::CanvasGraph
CanvasGraph(CanvasGraph const &orig)=delete
MWAWFont::shadowBit
@ shadowBit
Definition: MWAWFont.hxx:191
MWAWParagraph.hxx
libmwaw::DebugFile::skipZone
void skipZone(long beginPos, long endPos)
skips the file zone defined by beginPos-endPos
Definition: MWAWDebug.hxx:113
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
libmwaw_internal.hxx
MWAWGraphicStyle::m_lineWidth
float m_lineWidth
the linewidth
Definition: MWAWGraphicStyle.hxx:508
MWAWPosition.hxx
MWAWPosition::setSize
void setSize(MWAWVec2f const &sz)
sets the frame size
Definition: MWAWPosition.hxx:215
CanvasGraph::m_mainParser
CanvasParser * m_mainParser
the main parser;
Definition: CanvasGraph.hxx:158
MWAWPosition
Class to define the position of an object (textbox, picture, ..) in the document.
Definition: MWAWPosition.hxx:48
CanvasGraphInternal::SubDocument::m_id
int m_id
the subdocument id
Definition: CanvasGraph.cxx:414
MWAWEntry::setBegin
void setBegin(long off)
sets the begin offset
Definition: MWAWEntry.hxx:67
MWAWGraphicShape::m_vertices
std::vector< MWAWVec2f > m_vertices
the list of vertices for lines or polygons
Definition: MWAWGraphicShape.hxx:226
M_PI
#define M_PI
Definition: libmwaw_internal.hxx:52
MWAWEntry::length
long length() const
returns the length of the zone
Definition: MWAWEntry.hxx:93
CanvasGraph::checkUnsent
void checkUnsent() const
look for unsent shapes in debug mode
Definition: CanvasGraph.cxx:1495
MWAWGraphicShape::m_type
Type m_type
the type
Definition: MWAWGraphicShape.hxx:216
MWAWPict::MWAW_R_BAD
@ MWAW_R_BAD
Definition: MWAWPict.hxx:73
MWAWVec2< float >
CanvasGraph::sendSpecial
bool sendSpecial(CanvasGraphInternal::Shape const &shape, CanvasGraphInternal::LocalTransform const &local)
tries to send the special content
Definition: CanvasGraph.cxx:2552
MWAWGraphicListener.hxx
MWAWPictMac.hxx
CanvasGraphInternal::SubDocument
Internal: the subdocument of a CanvasGraph.
Definition: CanvasGraph.cxx:373
MWAWGraphicShape.hxx
MWAWDebug.hxx
CanvasGraphInternal::Shape::m_dash
int m_dash
the line dash
Definition: CanvasGraph.cxx:253
MWAWFont::getDebugString
std::string getDebugString(std::shared_ptr< MWAWFontConverter > &converter) const
returns a string which can be used for debugging
Definition: MWAWFont.cxx:181
MWAWPosition::setOrigin
void setOrigin(MWAWVec2f const &orig)
sets the frame origin
Definition: MWAWPosition.hxx:210
MWAWEntry::begin
long begin() const
returns the begin offset
Definition: MWAWEntry.hxx:83
MWAWGraphicShape::Polyline
@ Polyline
Definition: MWAWGraphicShape.hxx:49
MWAWEntry::setLength
void setLength(long l)
sets the zone size
Definition: MWAWEntry.hxx:72
CanvasGraphInternal
Internal: the structures of a CanvasGraph.
Definition: CanvasGraph.cxx:66
MWAWGraphicStyle::m_arrows
Arrow m_arrows[2]
the two arrows corresponding to start and end extremity
Definition: MWAWGraphicStyle.hxx:553
MWAWGraphicStyle::setPattern
void setPattern(Pattern const &pat, float opacity=1)
set the pattern
Definition: MWAWGraphicStyle.hxx:426
CanvasGraphInternal::Shape::m_child
int m_child
the main child (all)
Definition: CanvasGraph.cxx:265
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:1193
CanvasGraphInternal::SubDocument::parse
void parse(MWAWListenerPtr &listener, libmwaw::SubDocumentType type) final
the parser function
Definition: CanvasGraph.cxx:422
CanvasGraph::sendShape
bool sendShape(int id)
tries to send a shape with id
Definition: CanvasGraph.cxx:477
MWAWFont::setId
void setId(int newId)
sets the font id
Definition: MWAWFont.hxx:264
CanvasGraphInternal::SubDocument::SubDocument
SubDocument(CanvasGraph &parser, MWAWInputStreamPtr const &input, int zoneId)
constructor from a zoneId
Definition: CanvasGraph.cxx:376
CanvasGraph::markSent
void markSent(int id)
mark the id's shape as read in debug mode
Definition: CanvasGraph.cxx:1477
CanvasGraphInternal::Shape::m_entry
MWAWEntry m_entry
the data zone
Definition: CanvasGraph.cxx:279
CanvasGraphInternal::Shape
Internal: the shape of a CanvasGraph.
Definition: CanvasGraph.cxx:68
MWAWEntry::setId
void setId(int newId)
sets the id
Definition: MWAWEntry.hxx:169
CanvasGraphInternal::Shape::getTypeName
std::string getTypeName() const
returns the type name
Definition: CanvasGraph.cxx:96
CanvasGraph::send
bool send(CanvasGraphInternal::Shape const &shape, CanvasGraphInternal::LocalTransform const *local=nullptr)
tries to send a shape
Definition: CanvasGraph.cxx:1596
CanvasGraph::sendText
bool sendText(CanvasGraphInternal::Shape const &shape)
tries to send the text of a text's shape
Definition: CanvasGraph.cxx:2774
CanvasGraphInternal::Shape::m_values
int m_values[2]
the values
Definition: CanvasGraph.cxx:259
MWAWGraphicShape::arc
static MWAWGraphicShape arc(MWAWBox2f const &box, MWAWBox2f const &circleBox, MWAWVec2f const &angles)
static constructor to create a arc
Definition: MWAWGraphicShape.hxx:137
CanvasGraph::~CanvasGraph
virtual ~CanvasGraph()
destructor
Definition: CanvasGraph.cxx:458
MWAWGraphicStyle::Pattern::m_colors
MWAWColor m_colors[2]
the two indexed colors
Definition: MWAWGraphicStyle.hxx:361
MWAWGraphicStyle::Arrow::m_width
float m_width
the arrow width in point
Definition: MWAWGraphicStyle.hxx:133
CanvasGraph::getBitmap
bool getBitmap(CanvasGraphInternal::Shape const &shape, MWAWEmbeddedObject &obj)
tries to read the color bitmap stored in 55's shape: v3.5
Definition: CanvasGraph.cxx:1070
CanvasParser.hxx
MWAWPictData::check
static ReadResult check(MWAWInputStreamPtr const &input, int size, MWAWBox2f &box)
checks if the data pointed by input is known
Definition: MWAWPictData.hxx:100
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
MWAWGraphicStyle::m_lineColor
MWAWColor m_lineColor
the line color
Definition: MWAWGraphicStyle.hxx:516
MWAWBox2i
MWAWBox2< int > MWAWBox2i
MWAWBox2 of int.
Definition: libmwaw_internal.hxx:1191
CanvasGraphInternal::Shape::m_type
int m_type
the shape type
Definition: CanvasGraph.cxx:241
MWAWGraphicStyle.hxx
MWAWFont::italicBit
@ italicBit
Definition: MWAWFont.hxx:190
CanvasGraph::sendMultiLines
bool sendMultiLines(CanvasGraphInternal::Shape const &shape, CanvasGraphInternal::LocalTransform const &local)
tries the multiligne's special shape: Palm
Definition: CanvasGraph.cxx:2234
CanvasGraphInternal::State
Internal: the state of a CanvasGraph.
Definition: CanvasGraph.cxx:351
CanvasGraphInternal::State::m_idToGradientMap
std::map< int, MWAWGraphicStyle::Gradient > m_idToGradientMap
the map id to gradient
Definition: CanvasGraph.cxx:365
CanvasGraph::m_state
std::shared_ptr< CanvasGraphInternal::State > m_state
the state
Definition: CanvasGraph.hxx:155
MWAWGraphicStyle::Gradient
a basic gradient used in a MWAWGraphicStyle
Definition: MWAWGraphicStyle.hxx:139
MWAWPictBitmapIndexed
a bitmap of int to store indexed bitmap
Definition: MWAWPictBitmap.hxx:357
MWAWGraphicShape::path
static MWAWGraphicShape path(MWAWBox2f const &box)
static constructor to create a path
Definition: MWAWGraphicShape.hxx:173
MWAWGraphicStyle::m_gradient
Gradient m_gradient
the gradient
Definition: MWAWGraphicStyle.hxx:533
CanvasGraphInternal::Shape::m_patterns
int m_patterns[2]
the line, surface pattern
Definition: CanvasGraph.cxx:251
CanvasGraphInternal::LocalTransform::LocalTransform
LocalTransform(MWAWPosition const &pos, MWAWGraphicStyle const &style)
default constructor
Definition: CanvasGraph.cxx:287
MWAWPosition::Page
@ Page
Definition: MWAWPosition.hxx:51
MWAWParagraph::JustificationFull
@ JustificationFull
Definition: MWAWParagraph.hxx:90
CanvasGraph::sendDimension
bool sendDimension(CanvasGraphInternal::Shape const &shape, CanvasGraphInternal::LocalTransform const &local)
tries the dimension line's special shape: DIMN
Definition: CanvasGraph.cxx:1907
MWAWParagraph::JustificationRight
@ JustificationRight
Definition: MWAWParagraph.hxx:91
MWAWParserStatePtr
std::shared_ptr< MWAWParserState > MWAWParserStatePtr
a smart pointer of MWAWParserState
Definition: libmwaw_internal.hxx:557
libmwaw::DebugFile::addPos
void addPos(long pos)
adds a new position in the file
Definition: MWAWDebug.cxx:53
CanvasGraph
the main class to read the graphic part of Canvas file
Definition: CanvasGraph.hxx:71
MWAWGraphicStyle::m_lineDashWidth
std::vector< float > m_lineDashWidth
the dash array: a sequence of (fullsize, emptysize)
Definition: MWAWGraphicStyle.hxx:506
CanvasGraph::getBitmapBW
bool getBitmapBW(CanvasGraphInternal::Shape const &shape, MWAWEmbeddedObject &obj)
tries to read a bitmap stored in the rectangle's data
Definition: CanvasGraph.cxx:1233
MWAWPosition::origin
MWAWVec2f const & origin() const
return the frame origin
Definition: MWAWPosition.hxx:130
MWAWEntry::valid
bool valid() const
returns true if the zone length is positive
Definition: MWAWEntry.hxx:99
CanvasGraph::version
int version() const
returns the file version
Definition: CanvasGraph.cxx:462
CanvasGraphInternal::Shape::m_colors
MWAWColor m_colors[2]
the color
Definition: CanvasGraph.cxx:261
CanvasGraph::getPicture
bool getPicture(CanvasGraphInternal::Shape const &shape, MWAWEmbeddedObject &obj)
tries to read a picture stored in the picture's data
Definition: CanvasGraph.cxx:1433
MWAWListener.hxx
MWAWBox2::size
MWAWVec2< T > size() const
the box size
Definition: libmwaw_internal.hxx:1067
CanvasGraphInternal::LocalTransform::m_style
MWAWGraphicStyle m_style
Definition: CanvasGraph.cxx:293
MWAWGraphicShape::polyline
static MWAWGraphicShape polyline(MWAWBox2f const &box)
static constructor to create a polyline
Definition: MWAWGraphicShape.hxx:157
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
MWAWFont::Script
a small struct to define the script position in MWAWFont
Definition: MWAWFont.hxx:106
CanvasParser::readString
bool readString(librevenge::RVNGString &string, int maxSize, bool canBeCString=false)
try to read a pascal string in the data fork or a Pascal/C string depending on the file type
Definition: CanvasParser.cxx:1718
CanvasGraph::m_parserState
MWAWParserStatePtr m_parserState
the parser state
Definition: CanvasGraph.hxx:152
MWAWInputStream.hxx
CanvasGraph::m_styleManager
std::shared_ptr< CanvasStyleManager > m_styleManager
the style manager
Definition: CanvasGraph.hxx:160
MWAWListenerPtr
std::shared_ptr< MWAWListener > MWAWListenerPtr
a smart pointer of MWAWListener
Definition: libmwaw_internal.hxx:553
MWAWFont.hxx
MWAWPosition::m_anchorTo
AnchorTo m_anchorTo
anchor position
Definition: MWAWPosition.hxx:270
MWAWGraphicStyle::m_rotate
float m_rotate
the rotation
Definition: MWAWGraphicStyle.hxx:544
MWAWPictBitmap.hxx
MWAWBox2< float >
MWAWPictBitmapColor
a bitmap of MWAWColor to store true color bitmap
Definition: MWAWPictBitmap.hxx:469
MWAWFont
Class to store font.
Definition: MWAWFont.hxx:44
CanvasGraph::readShapes
bool readShapes(int numShapes, unsigned long shapeLength, unsigned long dataLength)
try to read the shapes: in fact, the compression header + the list of shapes
Definition: CanvasGraph.cxx:497
CanvasGraphInternal::Shape::m_penSize
MWAWVec2f m_penSize
the pen size
Definition: CanvasGraph.cxx:247
MWAWGraphicShape::PathData
a simple path component
Definition: MWAWGraphicShape.hxx:53
CanvasGraphInternal::Shape::m_origChild
int m_origChild
the child before the transformation
Definition: CanvasGraph.cxx:267
MWAWGraphicStyle::hasSurface
bool hasSurface() const
returns true if the interior surface is defined
Definition: MWAWGraphicStyle.hxx:442
MWAWGraphicShape::rectangle
static MWAWGraphicShape rectangle(MWAWBox2f const &box, MWAWVec2f const &corners=MWAWVec2f(0, 0))
static constructor to create a rectangle
Definition: MWAWGraphicShape.hxx:120
CanvasGraphInternal::State::m_input
MWAWInputStreamPtr m_input
the main input
Definition: CanvasGraph.cxx:362
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
MWAWParser.hxx
CanvasGraph::CanvasGraph
CanvasGraph(CanvasParser &parser)
constructor
Definition: CanvasGraph.cxx:450
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
CanvasGraphInternal::SubDocument::m_measure
librevenge::RVNGString m_measure
the measure
Definition: CanvasGraph.cxx:416
MWAWFont::setFlags
void setFlags(uint32_t fl)
sets the font attributes bold, ...
Definition: MWAWFont.hxx:325
MWAWFont::lowercaseBit
@ lowercaseBit
Definition: MWAWFont.hxx:193
MWAWGraphicStyle::Arrow
a structure used to define an arrow
Definition: MWAWGraphicStyle.hxx:56