38#ifndef CLARIS_WKS_STRUCT
39# define CLARIS_WKS_STRUCT
141 for (
int c=0; c<2; ++c) {
143 minPt[c]=
m_box[1][c];
144 maxPt[c]=
m_box[0][c];
156 for (
const auto &child :
m_childs) {
157 if (child.m_page > nPages)
164 virtual void removeChild(
int cId,
bool normalChild);
175 friend std::ostream &
operator<<(std::ostream &o,
DSET const &doc);
240 for (
int c=0; c<2; ++c) {
242 minPt[c]=
m_box[1][c];
243 maxPt[c]=
m_box[0][c];
263#if !defined(__clang__)
268 if (ch.
m_id != -1) o <<
"id=" << ch.
m_id <<
",";
272 o <<
"box=" << ch.
m_box <<
",";
MWAWVec2< T > size() const
the box size
Definition: libmwaw_internal.hxx:1067
a class to define the parser state
Definition: MWAWParser.hxx:50
T y() const
second element
Definition: libmwaw_internal.hxx:673
T x() const
first element
Definition: libmwaw_internal.hxx:668
MWAWBox2< float > MWAWBox2f
MWAWBox2 of float.
Definition: libmwaw_internal.hxx:1193
std::shared_ptr< MWAWInputStream > MWAWInputStreamPtr
a smart pointer of MWAWInputStream
Definition: libmwaw_internal.hxx:551
namespace to store the main structure which appears in a ClarisDraw/ClarisWorks file
Definition: ClarisWksStruct.cxx:50
bool readIntZone(MWAWParserState &parserState, char const *zoneName, bool hasEntete, int intSz, std::vector< int > &res)
try to read a int structured zone where fSz to the int size: 1(int8), 2(int16), 4(int32)
Definition: ClarisWksStruct.cxx:99
bool readStructZone(MWAWParserState &parserState, char const *zoneName, bool hasEntete)
try to read a structured zone with unknown content
Definition: ClarisWksStruct.cxx:162
structure used to define the child of a DSET structure
Definition: ClarisWksStruct.hxx:225
friend std::ostream & operator<<(std::ostream &o, Child const &ch)
operator<<
Definition: ClarisWksStruct.hxx:249
MWAWBox2f m_box
the bdbox
Definition: ClarisWksStruct.hxx:285
ChildType m_type
the type
Definition: ClarisWksStruct.hxx:277
long m_posC
a position (used in text zone to store the character )
Definition: ClarisWksStruct.hxx:281
Child()
constructor
Definition: ClarisWksStruct.hxx:227
MWAWBox2f getBdBox() const
return the zone bdbox
Definition: ClarisWksStruct.hxx:236
int m_id
the identificator
Definition: ClarisWksStruct.hxx:279
int m_page
the page if known
Definition: ClarisWksStruct.hxx:283
main structure which correspond to a document part
Definition: ClarisWksStruct.hxx:87
long m_size
the size of the DSET header
Definition: ClarisWksStruct.hxx:178
MWAWBox2i getUnionChildBox() const
returns the child box (ie. the union of the childs box)
Definition: ClarisWksStruct.cxx:219
Position
the zone position
Definition: ClarisWksStruct.hxx:91
@ P_Table
Definition: ClarisWksStruct.hxx:91
@ P_SlideThumbnail
Definition: ClarisWksStruct.hxx:93
@ P_Main
Definition: ClarisWksStruct.hxx:91
@ P_GraphicMaster
Definition: ClarisWksStruct.hxx:92
@ P_Slide
Definition: ClarisWksStruct.hxx:93
@ P_SlideMaster
Definition: ClarisWksStruct.hxx:93
@ P_Header
Definition: ClarisWksStruct.hxx:91
@ P_SlideNote
Definition: ClarisWksStruct.hxx:93
@ P_Footer
Definition: ClarisWksStruct.hxx:91
@ P_Frame
Definition: ClarisWksStruct.hxx:91
@ P_Unknown
Definition: ClarisWksStruct.hxx:93
@ P_Footnote
Definition: ClarisWksStruct.hxx:91
MWAWBox2f m_box
the bounding box (if known)
Definition: ClarisWksStruct.hxx:194
int getMaximumPage() const
returns the maximum page
Definition: ClarisWksStruct.hxx:149
void updateChildPositions(MWAWVec2f const &pageDim, float formLength, int numHorizontalPages=1)
try to update the child page and bounding box
Definition: ClarisWksStruct.cxx:259
bool isSlide() const
test if the zone is a slide
Definition: ClarisWksStruct.hxx:132
std::set< int > m_fathersList
the list of fathers
Definition: ClarisWksStruct.hxx:201
std::vector< int > m_otherChilds
the list of other child
Definition: ClarisWksStruct.hxx:217
virtual ~DSET()
virtual destructor
Definition: ClarisWksStruct.hxx:123
int m_flags[4]
some unknown flag
Definition: ClarisWksStruct.hxx:212
MWAWVec2f m_pageDimension
the page dimension (if know)
Definition: ClarisWksStruct.hxx:196
int m_textType
the text type (header/footer,footnote, ...)
Definition: ClarisWksStruct.hxx:209
long m_numData
the number of header
Definition: ClarisWksStruct.hxx:180
void findForbiddenPagesBreaking(float pageDim, float formDim, int dim, MWAWVariable< int > &lastPage) const
find forbidden page break
Definition: ClarisWksStruct.cxx:363
DSET()
constructor
Definition: ClarisWksStruct.hxx:99
virtual void removeChild(int cId, bool normalChild)
virtual function to remove a child from a list
Definition: ClarisWksStruct.cxx:239
bool m_parsed
a flag to know if the entry is sent or not to the listener
Definition: ClarisWksStruct.hxx:220
int m_beginSelection
the begin of selection ( at least in text header)
Definition: ClarisWksStruct.hxx:204
std::vector< Child > m_childs
the list of child zone
Definition: ClarisWksStruct.hxx:215
int m_id
the zone identificator
Definition: ClarisWksStruct.hxx:199
int m_page
the page (if known)
Definition: ClarisWksStruct.hxx:192
Position m_position
the zone type
Definition: ClarisWksStruct.hxx:187
int m_fileType
the type ( 0: text, -1: graphic, ...)
Definition: ClarisWksStruct.hxx:189
int m_endSelection
the end of selection ( at least in text header)
Definition: ClarisWksStruct.hxx:206
ChildType
the different types of zone child
Definition: ClarisWksStruct.hxx:96
@ C_Zone
Definition: ClarisWksStruct.hxx:96
@ C_Unknown
Definition: ClarisWksStruct.hxx:96
@ C_SubText
Definition: ClarisWksStruct.hxx:96
@ C_Graphic
Definition: ClarisWksStruct.hxx:96
long m_headerSz
the header size
Definition: ClarisWksStruct.hxx:184
MWAWBox2f getBdBox() const
return the zone bdbox
Definition: ClarisWksStruct.hxx:137
int m_internal
an internal variable used to do some computation
Definition: ClarisWksStruct.hxx:222
long m_dataSz
the data size
Definition: ClarisWksStruct.hxx:182
bool isHeaderFooter() const
test if the zone is an header/footer
Definition: ClarisWksStruct.hxx:126
friend std::ostream & operator<<(std::ostream &o, DSET const &doc)
operator<<
Definition: ClarisWksStruct.cxx:396
DSET(DSET const &)=default
a basic structure
Definition: ClarisWksStruct.hxx:53
Struct()
constructor
Definition: ClarisWksStruct.hxx:55
long m_size
the size of the DSET header
Definition: ClarisWksStruct.hxx:69
friend std::ostream & operator<<(std::ostream &o, Struct const &z)
operator<<
Definition: ClarisWksStruct.cxx:54
long m_headerSize
the header size
Definition: ClarisWksStruct.hxx:75
long m_numData
the number of header
Definition: ClarisWksStruct.hxx:71
int m_values[2]
an unknown value
Definition: ClarisWksStruct.hxx:79
int m_type
the type
Definition: ClarisWksStruct.hxx:77
bool readHeader(MWAWInputStreamPtr input, bool strict=false)
try to read the header
Definition: ClarisWksStruct.cxx:72
long m_dataSize
the data size
Definition: ClarisWksStruct.hxx:73
a generic variable template: value + flag to know if the variable is set
Definition: libmwaw_internal.hxx:577