Canvas5Image.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 5/6 drawing document ( image part )
36  */
37 #ifndef CANVAS5_IMAGE
38 # define CANVAS5_IMAGE
39 
40 #include <string>
41 #include <utility>
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 Canvas5Structure
54 {
55 struct Stream;
56 }
57 
58 namespace Canvas5ImageInternal
59 {
60 struct VKFLImage;
61 struct VKFLShape;
62 
63 struct State;
64 }
65 
66 class Canvas5Parser;
68 
78 {
79  friend class Canvas5Parser;
80 
81 public:
83  explicit Canvas5Image(Canvas5Parser &parser);
85  virtual ~Canvas5Image();
86 
88  int version() const;
89 
90  // interface with other parser
91 
93  bool readAGIFRsrc(std::shared_ptr<Canvas5Structure::Stream> stream);
95  bool readMACORsrc(std::shared_ptr<Canvas5Structure::Stream> stream);
100  bool readVKFL(std::shared_ptr<Canvas5Structure::Stream> stream, long len, std::shared_ptr<Canvas5ImageInternal::VKFLImage> &image);
101 
103  bool readImages(std::shared_ptr<Canvas5Structure::Stream> stream);
105  bool readImages9(std::shared_ptr<Canvas5Structure::Stream> stream);
107  bool getBitmap(int bitmapId, MWAWEmbeddedObject &object);
109  std::shared_ptr<Canvas5ImageInternal::VKFLImage> getGIF(int gifId);
111  bool readMacroIndent(Canvas5Structure::Stream &stream, std::vector<unsigned> &id, std::string &extra);
113  std::shared_ptr<Canvas5ImageInternal::VKFLImage> getMACO(std::vector<unsigned> const &id);
115  bool getQuickTime(int quicktimeId, MWAWEmbeddedObject &object);
117  bool getArrow(std::shared_ptr<Canvas5ImageInternal::VKFLImage> image, MWAWGraphicStyle::Arrow &arrow) const;
119  bool getTexture(std::shared_ptr<Canvas5ImageInternal::VKFLImage> image, MWAWEmbeddedObject &texture, MWAWVec2i &textureDim, MWAWColor &averageColor) const;
121  bool send(std::shared_ptr<Canvas5ImageInternal::VKFLImage> image, MWAWListenerPtr listener,
122  MWAWBox2f const &box, MWAWTransformation const &transformation) const;
123 
124 protected:
125  //
126  // Low level
127  //
129  std::shared_ptr<Canvas5StyleManager> getStyleManager() const;
131  bool readVKFLShape(std::shared_ptr<Canvas5Structure::Stream> stream, Canvas5ImageInternal::VKFLImage &image);
133  bool readVKFLShapeMainData(std::shared_ptr<Canvas5Structure::Stream> stream, Canvas5ImageInternal::VKFLImage &image, Canvas5ImageInternal::VKFLShape &shape,
134  MWAWEntry const &data);
136  bool readVKFLShapeOtherData(std::shared_ptr<Canvas5Structure::Stream> stream, Canvas5ImageInternal::VKFLImage &image,
137  std::tuple<MWAWEntry, unsigned, long> const &dataTypePos,
138  std::vector<long> &childFieldPos, int subId);
139 
141  bool send(Canvas5ImageInternal::VKFLImage const &image, size_t &shapeId, MWAWListenerPtr listener,
142  MWAWGraphicStyle const &style, MWAWTransformation const &transformation) const;
143 private:
144  Canvas5Image(Canvas5Image const &orig) = delete;
145  Canvas5Image &operator=(Canvas5Image const &orig) = delete;
146 
147 protected:
148  //
149  // data
150  //
153 
155  std::shared_ptr<Canvas5ImageInternal::State> m_state;
156 
159 };
160 #endif
161 // vim: set filetype=cpp tabstop=2 shiftwidth=2 cindent autoindent smartindent noexpandtab:
Canvas5Image
the main class to read/convert the image or movie inside of Canvas 5-11 files
Definition: Canvas5Image.hxx:78
MWAWEntry
basic class to store an entry in a file This contained :
Definition: MWAWEntry.hxx:47
Canvas5Image::getGIF
std::shared_ptr< Canvas5ImageInternal::VKFLImage > getGIF(int gifId)
try to retrieve a gif given a GIF id
Definition: Canvas5Image.cxx:269
Canvas5Parser::checkTAG9
bool checkTAG9(Canvas5Structure::Stream &stream, std::string const &tag, int type)
try to check is the following is a tag: v9
Definition: Canvas5Parser.cxx:3509
Canvas5Image::readVKFLShape
bool readVKFLShape(std::shared_ptr< Canvas5Structure::Stream > stream, Canvas5ImageInternal::VKFLImage &image)
try to read a shape in an image
Definition: Canvas5Image.cxx:1118
Canvas5Image::readMacroIndent
bool readMacroIndent(Canvas5Structure::Stream &stream, std::vector< unsigned > &id, std::string &extra)
try to read a macro indent (low level)
Definition: Canvas5Image.cxx:423
MWAWGraphicShape::transform
MWAWGraphicShape transform(MWAWTransformation const &matrix) const
returns a new shape corresponding to a matrix transformation
Definition: MWAWGraphicShape.cxx:404
Canvas5ImageInternal::VKFLImage::m_posToDashMap
std::map< long, std::vector< float > > m_posToDashMap
the position to dash map
Definition: Canvas5Image.cxx:201
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
MWAWVec2f
MWAWVec2< float > MWAWVec2f
MWAWVec2 of float.
Definition: libmwaw_internal.hxx:842
Canvas5Image::getBitmap
bool getBitmap(int bitmapId, MWAWEmbeddedObject &object)
try to retrieve a bitmap given a bitmapId
Definition: Canvas5Image.cxx:258
Canvas5ImageInternal::VKFLImage::VKFLImage
VKFLImage()
constructor
Definition: Canvas5Image.cxx:168
Canvas5Parser::Item::m_id
int m_id
the identifier
Definition: Canvas5Parser.hxx:195
Canvas5ImageInternal::VKFLImage::m_posToArrowMap
std::map< long, MWAWGraphicStyle::Arrow > m_posToArrowMap
the position to arrow map
Definition: Canvas5Image.cxx:197
Canvas5Image::Canvas5Image
Canvas5Image(Canvas5Image const &orig)=delete
Canvas5ImageInternal::VKFLShape::m_bitmap
MWAWEmbeddedObject m_bitmap
the bitmap
Definition: Canvas5Image.cxx:156
MWAWGraphicShape::pie
static MWAWGraphicShape pie(MWAWBox2f const &box, MWAWBox2f const &circleBox, MWAWVec2f const &angles)
static constructor to create a pie
Definition: MWAWGraphicShape.hxx:147
Canvas5ImageInternal::VKFLImage::m_posToColorMap
std::map< long, std::shared_ptr< Canvas5StyleManagerInternal::ColorStyle > > m_posToColorMap
the position to color map
Definition: Canvas5Image.cxx:199
Canvas5Image::readVKFLShapeMainData
bool readVKFLShapeMainData(std::shared_ptr< Canvas5Structure::Stream > stream, Canvas5ImageInternal::VKFLImage &image, Canvas5ImageInternal::VKFLShape &shape, MWAWEntry const &data)
try to read a shape header in an image
Definition: Canvas5Image.cxx:1218
MWAWGraphicShape::m_path
std::vector< PathData > m_path
the list of path component
Definition: MWAWGraphicShape.hxx:234
Canvas5ImageInternal::VKFLShape::VKFLShape
VKFLShape()
constructor
Definition: Canvas5Image.cxx:95
MWAWGraphicStyle::Arrow::plain
static Arrow plain()
returns a basic plain arrow
Definition: MWAWGraphicStyle.hxx:74
MWAWEmbeddedObject::m_dataList
std::vector< librevenge::RVNGBinaryData > m_dataList
the picture content: one data by representation
Definition: libmwaw_internal.hxx:512
Canvas5ImageInternal::VKFLImage::m_posToStrokeMap
std::map< long, Stroke > m_posToStrokeMap
the position to stroke map
Definition: Canvas5Image.cxx:207
Canvas5ImageInternal::State::m_idToQkTm
std::map< int, librevenge::RVNGBinaryData > m_idToQkTm
the map id to quicktime
Definition: Canvas5Image.cxx:229
Canvas5ImageInternal::VKFLImage::m_posToTypesMap
std::map< long, std::pair< unsigned, unsigned > > m_posToTypesMap
the map pos to type and sub type
Definition: Canvas5Image.cxx:194
MWAWEntry::id
int id() const
returns the id
Definition: MWAWEntry.hxx:164
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
MWAWEmbeddedObject
small class use to define a embedded object
Definition: libmwaw_internal.hxx:467
MWAWGraphicShape::line
static MWAWGraphicShape line(MWAWVec2f const &orign, MWAWVec2f const &dest)
static constructor to create a line
Definition: MWAWGraphicShape.cxx:228
Canvas5Image::operator=
Canvas5Image & operator=(Canvas5Image const &orig)=delete
Canvas5ImageInternal::State::State
State()
constructor
Definition: Canvas5Image.cxx:214
Canvas5Image::getTexture
bool getTexture(std::shared_ptr< Canvas5ImageInternal::VKFLImage > image, MWAWEmbeddedObject &texture, MWAWVec2i &textureDim, MWAWColor &averageColor) const
try to retrieve an texture from a VKFL image
Definition: Canvas5Image.cxx:862
Canvas5Parser.hxx
MWAW_FALLTHROUGH
#define MWAW_FALLTHROUGH
Definition: libmwaw_internal.hxx:118
Canvas5Structure::Stream::input
MWAWInputStreamPtr input()
returns the input file
Definition: Canvas5Structure.hxx:65
libmwaw::DebugFile::addNote
void addNote(char const *note)
adds a note in the file, in actual position
Definition: MWAWDebug.cxx:59
Canvas5Graph::LocalState::m_transform
MWAWTransformation m_transform
the shape transformation
Definition: Canvas5Graph.hxx:115
MWAWGraphicStyle
a structure used to define a picture style
Definition: MWAWGraphicStyle.hxx:48
Canvas5ImageInternal::VKFLShape::m_special
std::shared_ptr< Canvas5GraphInternal::PseudoShape > m_special
a graph pseudo box: special
Definition: Canvas5Image.cxx:160
Canvas5ImageInternal::VKFLShape::getTypeName
static std::string getTypeName(int type)
Definition: Canvas5Image.cxx:111
MWAWGraphicShape::circle
static MWAWGraphicShape circle(MWAWBox2f const &box)
static constructor to create a circle
Definition: MWAWGraphicShape.hxx:129
Canvas5StyleManager.hxx
Canvas5ImageInternal::VKFLImage::m_posToMatrixMap
std::map< long, std::array< double, 9 > > m_posToMatrixMap
the position to matrix map
Definition: Canvas5Image.cxx:203
Canvas5Parser::Item::m_pos
long m_pos
the data beginning position (may be before the current position: v9)
Definition: Canvas5Parser.hxx:201
Canvas5Structure::readBitmap
bool readBitmap(Stream &stream, int version, MWAWEmbeddedObject &object, MWAWColor *avgColor)
try to read a bitmap(low level)
Definition: Canvas5Structure.cxx:60
MWAWGraphicShape::polygon
static MWAWGraphicShape polygon(MWAWBox2f const &box)
static constructor to create a polygon
Definition: MWAWGraphicShape.hxx:165
Canvas5Parser::getTAG9
bool getTAG9(Canvas5Structure::Stream &stream, std::string &tag, int &type)
try to return a tag, type:0 means begin, type:1 means end: v9
Definition: Canvas5Parser.cxx:3542
Canvas5Image::m_parserState
MWAWParserStatePtr m_parserState
the parser state
Definition: Canvas5Image.hxx:152
Canvas5ImageInternal::VKFLShape::m_subType
unsigned m_subType
the sub type
Definition: Canvas5Image.cxx:143
Canvas5ImageInternal::VKFLShape
Internal: the internal shape of a Canvas5Image.
Definition: Canvas5Image.cxx:93
MWAWGraphicStyle::emptyStyle
static MWAWGraphicStyle emptyStyle()
returns an empty style.
Definition: MWAWGraphicStyle.hxx:473
Canvas5Graph::LocalState::m_style
MWAWGraphicStyle m_style
the shape style
Definition: Canvas5Graph.hxx:113
MWAWGraphicEncoder.hxx
Canvas5ImageInternal::Stroke::m_penPos
long m_penPos
the pen id
Definition: Canvas5Image.cxx:84
Canvas5ImageInternal::VKFLShape::m_macoImage
std::shared_ptr< VKFLImage > m_macoImage
a macro image : special
Definition: Canvas5Image.cxx:162
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
Canvas5Image::readImages
bool readImages(std::shared_ptr< Canvas5Structure::Stream > stream)
try to read the second big block: the list of bitmap
Definition: Canvas5Image.cxx:311
MWAWGraphicStyle::m_lineWidth
float m_lineWidth
the linewidth
Definition: MWAWGraphicStyle.hxx:585
MWAWPosition.hxx
Canvas5ImageInternal::VKFLImage::m_shapes
std::vector< VKFLShape > m_shapes
the list of shape
Definition: Canvas5Image.cxx:187
MWAWPosition
Class to define the position of an object (textbox, picture, ..) in the document.
Definition: MWAWPosition.hxx:48
Canvas5ImageInternal::VKFLShape::m_box
MWAWBox2f m_box
the dimension
Definition: Canvas5Image.cxx:145
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:232
Canvas5Structure::Stream::ascii
libmwaw::DebugFile & ascii()
return the ascii file
Definition: Canvas5Structure.hxx:70
Canvas5Image::readVKFL
bool readVKFL(std::shared_ptr< Canvas5Structure::Stream > stream, long len, std::shared_ptr< Canvas5ImageInternal::VKFLImage > &image)
try to read an unknown vectorized graphic format used to store symbol, texture and arrow
Definition: Canvas5Image.cxx:886
Canvas5Image::getQuickTime
bool getQuickTime(int quicktimeId, MWAWEmbeddedObject &object)
try to retrieve a quicktime given a quicktimeId
Definition: Canvas5Image.cxx:289
Canvas5Structure
a namespace used to define basic function or structure to read a Canvas v5-v11 file
Definition: Canvas5BMParser.hxx:64
M_PI
#define M_PI
Definition: libmwaw_internal.hxx:52
MWAWGraphicEncoder::getBinaryResult
bool getBinaryResult(MWAWEmbeddedObject &result)
return the final graphic
Definition: MWAWGraphicEncoder.cxx:77
MWAWEntry::length
long length() const
returns the length of the zone
Definition: MWAWEntry.hxx:93
Canvas5Parser
the main class to read a Canvas 5-10 files (and probably some not password protected Windows 11 files...
Definition: Canvas5Parser.hxx:72
Canvas5ImageInternal
Internal: the structures of a Canvas5Image.
Definition: Canvas5Image.cxx:70
MWAWVec2< int >
MWAWBox2::setMax
void setMax(MWAWVec2< T > const &y)
resets the maximum point
Definition: libmwaw_internal.hxx:1090
MWAWGraphicListener.hxx
MWAWGraphicShape.hxx
Canvas5Structure::readBitmapDAD58Bim
bool readBitmapDAD58Bim(Stream &stream, int version, MWAWEmbeddedObject &object)
try to read a bitmap followed by DAD5 and 8BIM zones
Definition: Canvas5Structure.cxx:286
MWAWDebug.hxx
Canvas5ImageInternal::VKFLImage::m_boxes
MWAWBox2f m_boxes[2]
the dimensions
Definition: Canvas5Image.cxx:189
Canvas5Parser::readDefined
bool readDefined(Canvas5Structure::Stream &stream, std::vector< bool > &defined, std::string const &what)
try to read the defined list
Definition: Canvas5Parser.cxx:3246
MWAWEntry::begin
long begin() const
returns the begin offset
Definition: MWAWEntry.hxx:83
MWAWEntry::setLength
void setLength(long l)
sets the zone size
Definition: MWAWEntry.hxx:72
Canvas5Structure.hxx
Canvas5Image::m_state
std::shared_ptr< Canvas5ImageInternal::State > m_state
the state
Definition: Canvas5Image.hxx:155
MWAWGraphicStyle::m_arrows
Arrow m_arrows[2]
the two arrows corresponding to start and end extremity
Definition: MWAWGraphicStyle.hxx:632
Canvas5ImageInternal::VKFLImage::m_matrices
std::array< double, 9 > m_matrices[2]
the transformations
Definition: Canvas5Image.cxx:191
MWAWBox2f
MWAWBox2< float > MWAWBox2f
MWAWBox2 of float.
Definition: libmwaw_internal.hxx:1193
Canvas5Image::readQkTmRsrc
bool readQkTmRsrc(Canvas5Structure::Stream &stream)
try to read the QkTm rsrc block: a list of media? v6
Definition: Canvas5Image.cxx:754
Canvas5Image::getMACO
std::shared_ptr< Canvas5ImageInternal::VKFLImage > getMACO(std::vector< unsigned > const &id)
try to retrieve a macros image given a MACO id
Definition: Canvas5Image.cxx:279
Canvas5ImageInternal::VKFLShape::m_vertices
std::vector< MWAWVec2f > m_vertices
the vertices: spline, poly, ...
Definition: Canvas5Image.cxx:152
MWAWEntry::setId
void setId(int newId)
sets the id
Definition: MWAWEntry.hxx:169
Canvas5ImageInternal::Stroke::Stroke
Stroke()
constructor
Definition: Canvas5Image.cxx:74
Canvas5Image::readVKFLShapeOtherData
bool readVKFLShapeOtherData(std::shared_ptr< Canvas5Structure::Stream > stream, Canvas5ImageInternal::VKFLImage &image, std::tuple< MWAWEntry, unsigned, long > const &dataTypePos, std::vector< long > &childFieldPos, int subId)
try to read a external data corresponding to some shapes in an image
Definition: Canvas5Image.cxx:1440
Canvas5Parser::readInteger
int readInteger(Canvas5Structure::Stream &stream, int fieldSize) const
try to read a int: either a cast a double: fieldSize=8 or a int32/int16
Definition: Canvas5Parser.cxx:2906
Canvas5Parser::m_styleManager
std::shared_ptr< Canvas5StyleManager > m_styleManager
the style manager
Definition: Canvas5Parser.hxx:256
Canvas5Parser::readExtendedHeader
bool readExtendedHeader(std::shared_ptr< Canvas5Structure::Stream > stream, int expectedValue, std::string const &what, DataFunction const &func)
try to read an extended data header, ie.
Definition: Canvas5Parser.cxx:3039
Canvas5Graph.hxx
Canvas5ImageInternal::VKFLImage
Internal: the internal image of a Canvas5Image.
Definition: Canvas5Image.cxx:166
Canvas5Parser::Item
a structure used to store the item data of a Canvas5Parser
Definition: Canvas5Parser.hxx:183
Canvas5Image::readImages9
bool readImages9(std::shared_ptr< Canvas5Structure::Stream > stream)
try to read the list of bitmap: v9
Definition: Canvas5Image.cxx:355
MWAWEntry::end
long end() const
returns the end offset
Definition: MWAWEntry.hxx:88
MWAWGraphicEncoder
main class used to define store librevenge::RVNGDrawingInterface lists of command in a librevenge::RV...
Definition: MWAWGraphicEncoder.hxx:56
Canvas5Image::Canvas5Image
Canvas5Image(Canvas5Parser &parser)
constructor
Definition: Canvas5Image.cxx:237
Canvas5ImageInternal::State
Internal: the state of a Canvas5Image.
Definition: Canvas5Image.cxx:212
MWAWBox2i
MWAWBox2< int > MWAWBox2i
MWAWBox2 of int.
Definition: libmwaw_internal.hxx:1191
Canvas5ImageInternal::VKFLImage::m_posToPenMap
std::map< long, std::shared_ptr< Canvas5StyleManagerInternal::PenStyle > > m_posToPenMap
the position to pen map
Definition: Canvas5Image.cxx:205
Canvas5Image::version
int version() const
returns the file version
Definition: Canvas5Image.cxx:248
Canvas5Graph::LocalState::m_position
MWAWPosition m_position
the shape position position
Definition: Canvas5Graph.hxx:111
MWAWGraphicStyle.hxx
Canvas5Structure::getString
std::string getString(unsigned val)
very low level: debug print some uint32_t either at char4 or sample int
Definition: Canvas5Structure.cxx:47
MWAWGraphicShape::path
static MWAWGraphicShape path(MWAWBox2f const &box)
static constructor to create a path
Definition: MWAWGraphicShape.hxx:173
Canvas5Image::readAGIFRsrc
bool readAGIFRsrc(std::shared_ptr< Canvas5Structure::Stream > stream)
try to read the AGIF rsrc block: a list of vectorised image v6
Definition: Canvas5Image.cxx:626
Canvas5ImageInternal::VKFLImage::m_data
MWAWEntry m_data[2]
the data entry
Definition: Canvas5Image.cxx:185
Canvas5Parser::Item::m_length
long m_length
the data length (from current position)
Definition: Canvas5Parser.hxx:199
MWAWPosition::Page
@ Page
Definition: MWAWPosition.hxx:51
Canvas5Structure::Stream
a sub stream of Canvas5Structure
Definition: Canvas5Structure.hxx:49
Canvas5Image::~Canvas5Image
virtual ~Canvas5Image()
destructor
Definition: Canvas5Image.cxx:244
Canvas5ImageInternal::State::m_idToMACO
std::map< std::vector< unsigned >, std::shared_ptr< VKFLImage > > m_idToMACO
the map id to maco
Definition: Canvas5Image.cxx:227
Canvas5ImageInternal::Stroke
Internal: the stroke style of a Canvas5Image.
Definition: Canvas5Image.cxx:72
MWAWParserStatePtr
std::shared_ptr< MWAWParserState > MWAWParserStatePtr
a smart pointer of MWAWParserState
Definition: libmwaw_internal.hxx:557
MWAWTransformation
a transformation which stored the first row of a 3x3 perspective matrix
Definition: libmwaw_internal.hxx:1199
Canvas5ImageInternal::Stroke::m_dashPos
long m_dashPos
the dash id
Definition: Canvas5Image.cxx:86
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:583
MWAWEntry::valid
bool valid() const
returns true if the zone length is positive
Definition: MWAWEntry.hxx:99
MWAWVec3f
MWAWVec3< float > MWAWVec3f
MWAWVec3 of float.
Definition: libmwaw_internal.hxx:1019
MWAWListener.hxx
Canvas5ImageInternal::Stroke::m_arrowPos
long m_arrowPos[2]
the arrow id (beg/end)
Definition: Canvas5Image.cxx:88
MWAWBox2::size
MWAWVec2< T > size() const
the box size
Definition: libmwaw_internal.hxx:1067
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
Canvas5ImageInternal::VKFLShape::m_idToDataPos
std::map< int, long > m_idToDataPos
the map id(type) to data pos in the main zone
Definition: Canvas5Image.cxx:147
Canvas5ImageInternal::State::m_idToGIF
std::map< int, std::shared_ptr< VKFLImage > > m_idToGIF
the map id to git
Definition: Canvas5Image.cxx:225
MWAWInputStream.hxx
Canvas5Image.hxx
Canvas5Image::m_mainParser
Canvas5Parser * m_mainParser
the main parser;
Definition: Canvas5Image.hxx:158
MWAWListenerPtr
std::shared_ptr< MWAWListener > MWAWListenerPtr
a smart pointer of MWAWListener
Definition: libmwaw_internal.hxx:553
Canvas5Image::readMACORsrc
bool readMACORsrc(std::shared_ptr< Canvas5Structure::Stream > stream)
try to read the macros rsrc blocks: a list of vectorised image
Definition: Canvas5Image.cxx:456
MWAWPosition::m_anchorTo
AnchorTo m_anchorTo
anchor position
Definition: MWAWPosition.hxx:270
Canvas5ImageInternal::State::m_idToObject
std::map< int, MWAWEmbeddedObject > m_idToObject
the map id to bitmap
Definition: Canvas5Image.cxx:223
MWAWGraphicStyle::m_rotate
float m_rotate
the rotation
Definition: MWAWGraphicStyle.hxx:623
Canvas5ImageInternal::VKFLShape::m_type
int m_type
the type
Definition: Canvas5Image.cxx:141
MWAWVec3
small class which defines a vector with 3 elements
Definition: libmwaw_internal.hxx:848
MWAWBox2< float >
Canvas5ImageInternal::Stroke::m_type
unsigned m_type
the type
Definition: Canvas5Image.cxx:82
MWAWGraphicShape::PathData
a simple path component
Definition: MWAWGraphicShape.hxx:53
MWAWGraphicStyle::hasSurface
bool hasSurface() const
returns true if the interior surface is defined
Definition: MWAWGraphicStyle.hxx:519
MWAWGraphicShape::rectangle
static MWAWGraphicShape rectangle(MWAWBox2f const &box, MWAWVec2f const &corners=MWAWVec2f(0, 0))
static constructor to create a rectangle
Definition: MWAWGraphicShape.hxx:120
Canvas5StyleManager
the main class to read the style part of Canvas 5 file
Definition: Canvas5StyleManager.hxx:86
Canvas5Parser::m_graphParser
std::shared_ptr< Canvas5Graph > m_graphParser
the graph parser
Definition: Canvas5Parser.hxx:252
Canvas5ImageInternal::VKFLShape::m_style
MWAWGraphicStyle m_style
the graphic style
Definition: Canvas5Image.cxx:149
Canvas5StyleManager::CharStyle
a structure use to store a character style
Definition: Canvas5StyleManager.hxx:92
Canvas5ImageInternal::VKFLShape::m_locals
float m_locals[2]
the local values : arc=>angles, rectOval=>oval size
Definition: Canvas5Image.cxx:154
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
Canvas5Graph::LocalState
Internal: the local state of a Canvas5Graph.
Definition: Canvas5Graph.hxx:100
Canvas5Image::getArrow
bool getArrow(std::shared_ptr< Canvas5ImageInternal::VKFLImage > image, MWAWGraphicStyle::Arrow &arrow) const
try to retrieve an arrow from a VKFL image
Definition: Canvas5Image.cxx:820
Canvas5Image::send
bool send(std::shared_ptr< Canvas5ImageInternal::VKFLImage > image, MWAWListenerPtr listener, MWAWBox2f const &box, MWAWTransformation const &transformation) const
try to send a image where box is the image bdbox before applying transformation
Definition: Canvas5Image.cxx:1685
Canvas5Image::getStyleManager
std::shared_ptr< Canvas5StyleManager > getStyleManager() const
return the style manager
Definition: Canvas5Image.cxx:253
Canvas5Parser::readDouble
bool readDouble(Canvas5Structure::Stream &stream, double &val, bool &isNaN) const
try to read a double 8
Definition: Canvas5Parser.cxx:2959
MWAWGraphicStyle::Arrow
a structure used to define an arrow
Definition: MWAWGraphicStyle.hxx:56
Canvas5ImageInternal::VKFLShape::m_bitmapColor
MWAWColor m_bitmapColor
the bitmap color
Definition: Canvas5Image.cxx:158

Generated on Mon Jul 26 2021 00:00:00 for libmwaw by doxygen 1.8.20