Go to the documentation of this file.
30 #include <librevenge-stream/librevenge-stream.h>
78 void updateState(std::map<int,int>
const &zIdToSheetIdMap,
79 std::map<std::string,int>
const &nameToChartIdMap);
109 bool readZoneBegin(std::shared_ptr<WPSStream> stream,
long endPos);
111 bool readZoneData(std::shared_ptr<WPSStream> stream,
long endPos,
int type);
126 bool readGraphic(std::shared_ptr<WPSStream> stream);
128 bool readFrame(std::shared_ptr<WPSStream> stream);
135 bool readGraphZone(std::shared_ptr<WPSStream> stream,
int zId);
148 std::shared_ptr<LotusGraphInternal::State>
m_state;
std::vector< Vec2f > m_vertices
the list of vertices for lines or polygons
Definition: WPSGraphicShape.h:211
Vec2< T > center() const
the box center
Definition: libwps_internal.h:759
int m_id
the zone id
Definition: LotusGraph.cpp:233
the graphic zone of a LotusGraph for 123 mac
Definition: LotusGraph.cpp:54
void updateState(std::map< int, int > const &zIdToSheetIdMap, std::map< std::string, int > const &nameToChartIdMap)
update the state (need to be called before sending data)
Definition: LotusGraph.cpp:605
the graphic zone of a LotusGraph for 123 pc
Definition: LotusGraph.cpp:257
WKSParser * parser() const
returns the parser
Definition: WKSSubDocument.h:44
static WPSGraphicShape rectangle(WPSBox2f const &box, Vec2f const &corners=Vec2f(0, 0))
static constructor to create a rectangle
Definition: WPSGraphicShape.h:109
libwps::Justification m_justify
the justification
Definition: WPSParagraph.h:116
bool readGraphic(std::shared_ptr< WPSStream > stream)
try to read a graphic: 0xca (wk4)
Definition: LotusGraph.cpp:1472
std::shared_ptr< ZoneWK4 > m_actualZoneWK4
a pointer to the actual zone
Definition: LotusGraph.cpp:512
bool m_hasShadow
a flag to know if we need to add shadow
Definition: LotusGraph.cpp:249
static std::string str()
Definition: WPSDebug.h:200
std::shared_ptr< ZonePc > m_actualZonePc
a pointer to the actual zone
Definition: LotusGraph.cpp:516
#define WPS_BOLD_BIT
Definition: libwps_internal.h:506
LotusParser & m_mainParser
the listener (if set)
Definition: LotusGraph.h:144
static void addPos(long)
Definition: WPSDebug.h:220
Definition: LotusGraph.cpp:260
Definition: LotusGraph.cpp:260
WPSBox2< float > WPSBox2f
WPSBox2 of float.
Definition: libwps_internal.h:890
long end() const
returns the end offset
Definition: WPSEntry.h:76
int m_version
the textbox version
Definition: LotusGraph.cpp:559
bool dumpFile(librevenge::RVNGBinaryData &, char const *)
Definition: WPSDebug.h:180
void setListener(WKSContentListenerPtr &listen)
sets the listener
Definition: LotusGraph.h:68
a simple path component
Definition: WPSGraphicShape.h:42
ZonePc(std::shared_ptr< WPSStream > const &stream)
constructor
Definition: LotusGraph.cpp:262
bool m_hasShadow
a flag to know if we need to add shadow
Definition: LotusGraph.cpp:142
float m_rotate
the rotation
Definition: LotusGraph.cpp:378
std::shared_ptr< WPSStream > m_stream
the stream
Definition: LotusGraph.cpp:372
int m_subType
the sub type
Definition: LotusGraph.cpp:231
int m_subType
the file modifier type
Definition: LotusGraph.cpp:128
#define WPS_UNDERLINE_BIT
Definition: libwps_internal.h:508
bool updateEmbeddedObject(int id, WPSEmbeddedObject &object) const
try to retrieve the content of a graphic, knowing it local id
Definition: Lotus.cpp:328
bool m_isRoundRect
true if the rect is a round rect
Definition: LotusGraph.cpp:370
WPSEntry m_entry
a flag to known if we need to send the entry or the footer
Definition: LotusGraph.cpp:557
SubDocument(std::shared_ptr< WPSStream > const &stream, LotusGraph &graphParser, WPSEntry &entry, int version)
constructor for a text entry
Definition: LotusGraph.cpp:528
Definition: LotusGraph.cpp:57
Definition: LotusGraph.cpp:260
WPSBox2i m_box
the bdbox
Definition: LotusGraph.cpp:132
int m_surfaceId
the surface color style id
Definition: LotusGraph.cpp:140
bool readFrame(std::shared_ptr< WPSStream > stream)
try to read a graph's frame: 0xcc (wk4)
Definition: LotusGraph.cpp:1917
Definition: LotusGraph.cpp:51
std::shared_ptr< ZoneMac > m_actualZoneMac
a pointer to the actual zone
Definition: LotusGraph.cpp:508
Definition: LotusGraph.cpp:260
Definition: LotusGraph.cpp:57
bool getGraphicShape(WPSGraphicShape &shape, WPSPosition &pos) const
returns a graphic shape corresponding to the main form (and the origin)
Definition: LotusGraph.cpp:155
static WPSGraphicShape circle(WPSBox2f const &box)
static constructor to create a circle
Definition: WPSGraphicShape.h:118
static void skipZone(long, long)
Definition: WPSDebug.h:226
This class parses the Lotus style.
Definition: LotusStyleManager.h:47
LotusGraph(LotusParser &parser)
constructor
Definition: LotusGraph.cpp:588
Definition: LotusGraph.cpp:260
const Vec2f & origin() const
return the frame origin
Definition: WPSPosition.h:116
libwps_tools_win::Font::Type getDefaultFontType() const
returns the default font type, ie.
Definition: Lotus.cpp:273
std::vector< std::shared_ptr< ZonePc > > m_zones
the list of zones
Definition: LotusGraph.cpp:478
WPSEntry m_textEntry
the text entry (for textbox and button)
Definition: LotusGraph.cpp:251
#define WPS_OUTLINE_BIT
Definition: libwps_internal.h:501
LotusGraph & m_graphParser
the graph parser
Definition: LotusGraph.cpp:555
WPSGraphicShape m_shape
the graphic shape
Definition: LotusGraph.cpp:245
bool readTextBoxData(std::shared_ptr< WPSStream > stream, long endPos)
reads a graphic textbox data: 23f0 (wk3mac)
Definition: LotusGraph.cpp:867
define the font properties
Definition: WPSFont.h:36
void sendTextBoxWK4(std::shared_ptr< WPSStream > stream, WPSEntry const &entry, bool isButton)
try to send a textbox content's
Definition: LotusGraph.cpp:2031
Internal: the subdocument of a LotusGraphc.
Definition: LotusGraph.cpp:524
WPSGraphicStyle m_graphicStyle
the graphic style wk4
Definition: LotusGraph.cpp:247
std::vector< float > m_lineDashWidth
the dash array: a sequence of (fullsize, emptysize)
Definition: WPSGraphicStyle.h:344
bool valid(bool checkId=false) const
returns true if the zone length is positive
Definition: WPSEntry.h:87
#define WPS_ITALICS_BIT
Definition: libwps_internal.h:502
Vec2f m_cellPosition
the position in the cell
Definition: LotusGraph.cpp:237
basic class to store an entry in a file This contained :
Definition: WPSEntry.h:38
Vec2< int > Vec2i
Vec2 of int.
Definition: libwps_internal.h:702
void sendTextBox(std::shared_ptr< WPSStream > stream, WPSEntry const &entry)
try to send a textbox content's
Definition: LotusGraph.cpp:1032
Definition: LotusGraph.cpp:210
Type
the different type
Definition: LotusGraph.cpp:57
WPSTransformation getTransformation() const
returns a transformation corresponding to the shape
Definition: LotusGraph.cpp:285
Definition: LotusGraph.cpp:57
Definition: LotusGraph.cpp:260
a structure used to define a picture shape
Definition: WPSGraphicShape.h:34
WPSVec3< float > WPSVec3f
WPSVec3 of float.
Definition: libwps_internal.h:1069
std::multimap< int, std::shared_ptr< ZoneWK4 > > m_sheetIdZoneWK4Map
a map sheetid to zone
Definition: LotusGraph.cpp:510
bool getGraphicShape(WPSGraphicShape &shape, WPSPosition &pos) const
returns a graphic shape corresponding to the main form (and the origin)
Definition: LotusGraph.cpp:395
void sendGraphics(int sheetId)
send the graphics corresponding to a sheetId
Definition: LotusGraph.cpp:1231
Vec2i m_cell
the cell
Definition: LotusGraph.cpp:235
Vec2< float > Vec2f
Vec2 of float.
Definition: libwps_internal.h:704
void setRelativePosition(AnchorTo anchor, XPos X=XLeft, YPos Y=YTop)
sets the relative position
Definition: WPSPosition.h:212
ZoneMac(std::shared_ptr< WPSStream > const &stream)
constructor
Definition: LotusGraph.cpp:59
bool empty() const
returns true if the number of graphic zone is empty
Definition: LotusGraph.cpp:468
Vec2f m_translate
the translation
Definition: LotusGraph.cpp:376
void sendPicture(LotusGraphInternal::ZoneMac const &zone)
try to send a picture: 123 mac
Definition: LotusGraph.cpp:1007
#define WPS_DEBUG_MSG(M)
Definition: libwps_internal.h:134
uint32_t readU32(librevenge::RVNGInputStream *input)
Definition: libwps_internal.cpp:76
WPSColor m_color
the font color
Definition: WPSFont.h:89
This class parses a wk3,wk4,123 Lotus spreadsheet.
Definition: Lotus.h:72
Type
the different type
Definition: LotusGraph.cpp:210
int version() const
return the file version
Definition: Lotus.cpp:265
class to store the paragraph properties
Definition: WPSParagraph.h:57
int m_arrows
the line arrows
Definition: LotusGraph.cpp:382
int m_actualSheetId
the actual sheet id
Definition: LotusGraph.cpp:504
std::shared_ptr< WKSContentListener > WKSContentListenerPtr
shared pointer to WKSContentListener
Definition: libwps_internal.h:114
Definition: LotusGraph.cpp:260
bool readZoneBegin(std::shared_ptr< WPSStream > stream, long endPos)
reads a begin graphic zone: 2328 (wk3mac)
Definition: LotusGraph.cpp:653
friend std::ostream & operator<<(std::ostream &o, ZonePc const &z)
operator<<
Definition: LotusGraph.cpp:295
friend std::ostream & operator<<(std::ostream &o, ZoneMac const &z)
operator<<
Definition: LotusGraph.cpp:79
int32_t read32(librevenge::RVNGInputStream *input)
Definition: libwps_internal.cpp:85
LotusGraph & operator=(LotusGraph const &orig)=delete
SubDocumentType
Definition: libwps_internal.h:248
ZoneWK4(std::shared_ptr< WPSStream > const &stream)
constructor
Definition: LotusGraph.cpp:212
int m_values[4]
unknown other value
Definition: LotusGraph.cpp:150
bool operator==(std::shared_ptr< WPSSubDocument > const &doc) const final
operator==
Definition: LotusGraph.cpp:538
Vec2i m_frameSize
the frame dimension
Definition: LotusGraph.cpp:239
int m_chartId
the chart id(for chart)
Definition: LotusGraph.cpp:144
void cleanState()
clean internal state
Definition: LotusGraph.cpp:600
bool hasGraphics(int sheetId) const
return true if the sheet sheetId has some graphic
Definition: LotusGraph.cpp:619
bool readTextBoxDataD1(std::shared_ptr< WPSStream > stream)
reads a graphic textbox data: 0xd1 (wk4)
Definition: LotusGraph.cpp:1999
a structure used to define a picture style
Definition: WPSGraphicStyle.h:37
uint32_t m_attributes
the font attributes defined as a set of bits
Definition: WPSFont.h:85
double m_spacing
font spacing
Definition: WPSFont.h:87
std::string m_extra
extra data
Definition: LotusGraph.cpp:392
static void addNote(char const *)
Definition: WPSDebug.h:221
Definition: WPSGraphicShape.h:38
WPSEntry m_pictureEntry
the picture entry
Definition: LotusGraph.cpp:146
int m_type
the zone type
Definition: LotusGraph.cpp:229
long begin() const
returns the begin offset
Definition: WPSEntry.h:71
the state of LotusGraph
Definition: LotusGraph.cpp:484
void parse(std::shared_ptr< WKSContentListener > &listener, libwps::SubDocumentType subDocumentType) final
the parser function
Definition: LotusGraph.cpp:562
int8_t read8(librevenge::RVNGInputStream *input)
Definition: libwps_internal.cpp:59
double m_size
font size
Definition: WPSFont.h:83
int m_lineId
the line style id
Definition: LotusGraph.cpp:136
std::shared_ptr< LotusGraphInternal::State > m_state
the internal state
Definition: LotusGraph.h:148
small class use to define a embedded object
Definition: libwps_internal.h:1076
bool getLeftTopPosition(Vec2i const &cell, int spreadsheet, Vec2f &pos) const
returns the left top position of a cell
Definition: Lotus.cpp:313
Definition: LotusGraph.cpp:57
Definition: LotusGraph.cpp:260
int m_pictureHeaderRead
the number of read byte of the header
Definition: LotusGraph.cpp:388
Definition: LotusGraph.cpp:260
int m_ordering
the ordering
Definition: LotusGraph.cpp:134
int version() const
return the file version
Definition: LotusGraph.cpp:612
long length() const
returns the length of the zone
Definition: WPSEntry.h:81
bool getFont(int id, WPSFont &font, libwps_tools_win::Font::Type &type) const
returns the font corresponding to an id
Definition: Lotus.cpp:278
Definition: LotusGraph.cpp:210
Basic class used to store a spreadsheet sub document.
Definition: WKSSubDocument.h:35
Definition: WPSDebug.h:191
bool readGraphDataZone(std::shared_ptr< WPSStream > stream, long endPos)
try to read the graphic data zone: 010d
Definition: LotusGraph.cpp:2635
uint8_t readU8(librevenge::RVNGInputStream *input)
Definition: libwps_internal.cpp:40
Type m_type
the zone type
Definition: LotusGraph.cpp:360
bool readFMTPictName(std::shared_ptr< WPSStream > stream)
try to read the pict filename, ...: b7 (wk3-wk4 pc)
Definition: LotusGraph.cpp:1380
WPSBox2f m_box
the bdbox
Definition: LotusGraph.cpp:374
State()
constructor
Definition: LotusGraph.cpp:487
std::shared_ptr< LotusStyleManager > m_styleManager
the style manager
Definition: LotusGraph.h:146
bool readPictureDefinition(std::shared_ptr< WPSStream > stream, long endPos)
reads a picture definition: 240e (wk3mac)
Definition: LotusGraph.cpp:903
Type
the different type
Definition: LotusGraph.cpp:260
bool readGraphZone(std::shared_ptr< WPSStream > stream, int zId)
try to read the graphic zone: 1XXX
Definition: LotusGraph.cpp:2205
bool readZoneData(std::shared_ptr< WPSStream > stream, long endPos, int type)
reads a graphic zone: 2332, 2346, 2350, 2352, 23f0 (wk3mac)
Definition: LotusGraph.cpp:685
static WPSGraphicShape line(Vec2f const &orign, Vec2f const &dest)
static constructor to create a line
Definition: WPSGraphicShape.cpp:212
a list of ZonePc of a LotusGraph for 123 pc
Definition: LotusGraph.cpp:459
std::shared_ptr< WPSStream > m_stream
the stream
Definition: LotusGraph.cpp:253
bool readData(RVNGInputStreamPtr &input, unsigned long size, librevenge::RVNGBinaryData &data)
try to read sz bytes from input and store them in a librevenge::RVNGBinaryData
Definition: libwps_internal.cpp:332
Definition: WPSPosition.h:43
WPSBox2f getBdBox() const
returns the basic bdbox
Definition: WPSGraphicShape.h:186
bool readPictureData(std::shared_ptr< WPSStream > stream, long endPos)
reads a picture data: 2410 (wk3mac)
Definition: LotusGraph.cpp:954
uint16_t readU16(librevenge::RVNGInputStream *input)
Definition: libwps_internal.cpp:64
WPSColor m_lineColor
the line color
Definition: WPSGraphicStyle.h:352
Type m_type
the zone type
Definition: LotusGraph.cpp:126
static WPSGraphicShape arc(WPSBox2f const &box, WPSBox2f const &circleWPSBox, Vec2f const &angles)
static constructor to create a arc
Definition: WPSGraphicShape.h:126
Definition: LotusGraph.cpp:210
std::shared_ptr< librevenge::RVNGInputStream > RVNGInputStreamPtr
shared pointer to librevenge::RVNGInputStream
Definition: libwps_internal.h:87
Class to define the position of an object (textbox, picture, ..) in the document.
Definition: WPSPosition.h:39
WPSGraphicShape transform(WPSTransformation const &matrix) const
returns a new shape corresponding to a matrix transformation
Definition: WPSGraphicShape.cpp:364
static void addDelimiter(long, char)
Definition: WPSDebug.h:222
Vec2< T > size() const
the box size
Definition: libwps_internal.h:754
bool m_isGroup
true if the set is a group
Definition: LotusGraph.cpp:362
int m_version
the file version
Definition: LotusGraph.cpp:502
bool setChartId(int chartId)
sets the current chart id(interface with LotusChart)
Definition: LotusGraph.cpp:634
bool sendChart(int cId, WPSPosition const &pos, WPSGraphicStyle const &style)
try to send a chart
Definition: Lotus.cpp:323
~LotusGraph()
destructor
Definition: LotusGraph.cpp:596
int16_t read16(librevenge::RVNGInputStream *input)
Definition: libwps_internal.cpp:71
ZonePcList()
constructor
Definition: LotusGraph.cpp:462
static WPSFont getDefault()
returns the default font ( Courier 12pt)
Definition: WPSFont.h:51
Definition: LotusGraph.cpp:210
Definition: libwps_internal.h:249
This class parses Microsoft Works graph file.
Definition: LotusGraph.h:55
the class to store a color
Definition: libwps_internal.h:280
int m_graphicId
the graphic style id, used with rect shadow
Definition: LotusGraph.cpp:138
size_t m_groupLastPosition
the group last position
Definition: LotusGraph.cpp:364
WPSBox2< int > WPSBox2i
WPSBox2 of int.
Definition: libwps_internal.h:888
WPSEntry m_textBoxEntry
the text box entry
Definition: LotusGraph.cpp:148
std::shared_ptr< WKSContentListener > m_listener
Definition: LotusGraph.h:142
int m_graphicId[2]
the graphic style id and the shadow style
Definition: LotusGraph.cpp:380
the graphic zone of a LotusGraph : wk4
Definition: LotusGraph.cpp:207
Definition: LotusGraph.cpp:210
#define WPS_SHADOW_BIT
Definition: libwps_internal.h:503
std::stack< size_t > m_groupBeginStack
the stack indicating the beginning of each group
Definition: LotusGraph.cpp:480
WPSBox2< T > getUnion(WPSBox2< T > const &box) const
returns the union between this and box
Definition: libwps_internal.h:813
Definition: LotusGraph.cpp:260
std::map< int, int > m_zIdToSheetIdMap
a map sheet zone id to final sheet id map
Definition: LotusGraph.cpp:518
WPSEntry m_textBoxEntry
the text box entry
Definition: LotusGraph.cpp:384
std::map< int, ZonePcList > m_sheetIdZonePcListMap
a map sheetid to zone
Definition: LotusGraph.cpp:514
bool readZoneBeginC9(std::shared_ptr< WPSStream > stream)
try to read the sheet id: 0xc9 (wk4)
Definition: LotusGraph.cpp:1349
std::shared_ptr< WPSStream > m_stream
the stream
Definition: LotusGraph.cpp:130
~SubDocument() final
destructor
Definition: LotusGraph.cpp:535
Definition: libwps_internal.h:249
void setSize(Vec2f const &sz)
sets the frame size
Definition: WPSPosition.h:190
std::string m_extra
extra data
Definition: LotusGraph.cpp:152
Definition: LotusGraph.cpp:57
WPSBox2i m_pictureDim
the picture dimension
Definition: LotusGraph.cpp:241
Definition: WPSDebug.h:207
std::vector< Vec2f > m_vertices
the list of points for a polygon
Definition: LotusGraph.cpp:368
std::string m_pictureName
the picture name
Definition: LotusGraph.cpp:243
Definition: libwps_internal.h:250
Definition: LotusGraph.cpp:210
float m_lineWidth
the linewidth
Definition: WPSGraphicStyle.h:342
librevenge::RVNGBinaryData m_pictureData
the picture data
Definition: LotusGraph.cpp:386
Definition: LotusGraph.cpp:260
static WPSGraphicShape path(WPSBox2f const &box)
static constructor to create a path
Definition: WPSGraphicShape.h:162
int m_numPoints
the number of points of a line or a polygon
Definition: LotusGraph.cpp:366
std::multimap< int, std::shared_ptr< ZoneMac > > m_sheetIdZoneMacMap
a map sheetid to zone
Definition: LotusGraph.cpp:506
static WPSGraphicShape polygon(WPSBox2f const &box)
static constructor to create a polygon
Definition: WPSGraphicShape.h:146
Definition: LotusGraph.cpp:210
std::map< std::string, int > m_nameToChartIdMap
a map chart name to id chart map
Definition: LotusGraph.cpp:520
bool m_isSent
a flag to know if the zone has already be sent
Definition: LotusGraph.cpp:390
bool isBlack() const
return true if the color is black
Definition: libwps_internal.h:345
librevenge::RVNGString m_name
font name
Definition: WPSFont.h:81
void sendZone(LotusGraphInternal::ZonePcList const &zoneList, size_t id, WPSTransformation &transf)
try to send a shape: 123 pc
Definition: LotusGraph.cpp:2127
void setOrigin(Vec2f const &orig)
sets the frame origin
Definition: WPSPosition.h:185
std::shared_ptr< WPSStream > m_stream
the stream
Definition: LotusGraph.cpp:553
bool m_arrows[2]
two bool to indicated if extremity has arrow or not
Definition: WPSGraphicStyle.h:384
Generated on Sat Oct 6 2018 17:10:15 for libwps by
doxygen 1.8.16