10 #ifndef __CMXPARSER_H__ 11 #define __CMXPARSER_H__ 17 #include <librevenge-stream/librevenge-stream.h> 23 #define CMX_MASTER_INDEX_TABLE 1 24 #define CMX_PAGE_INDEX_TABLE 2 25 #define CMX_MASTER_LAYER_TABLE 3 26 #define CMX_PROCEDURE_INDEX_TABLE 4 27 #define CMX_BITMAP_INDEX_TABLE 5 28 #define CMX_ARROW_INDEX_TABLE 6 29 #define CMX_FONT_INDEX_TABLE 7 30 #define CMX_EMBEDDED_FILE_INDEX_TABLE 8 31 #define CMX_THUMBNAIL_SECTION 10 32 #define CMX_OUTLINE_DESCRIPTION_SECTION 15 33 #define CMX_LINE_STYLE_DESCRIPTION_SECTION 16 34 #define CMX_ARROWHEADS_DESCRIPTION_SECTION 17 35 #define CMX_SCREEN_DESCRIPTION_SECTION 18 36 #define CMX_PEN_DESCRIPTION_SECTION 19 37 #define CMX_DOT_DASH_DESCRIPTION_SECTION 20 38 #define CMX_COLOR_DESCRIPTION_SECTION 21 39 #define CMX_COLOR_CORRECTION_SECTION 22 40 #define CMX_PREVIEW_BOX_SECTION 23 110 bool parseRecords(librevenge::RVNGInputStream *input,
long size = -1,
unsigned level = 0);
116 bool parseRecord(librevenge::RVNGInputStream *input,
unsigned level = 0);
117 void readRecord(
unsigned fourCC,
unsigned &length, librevenge::RVNGInputStream *input);
118 void parseImage(librevenge::RVNGInputStream *input);
121 void readDisp(librevenge::RVNGInputStream *input);
122 void readPage(librevenge::RVNGInputStream *input);
123 void readProc(librevenge::RVNGInputStream *input);
124 void readRclr(librevenge::RVNGInputStream *input);
125 void readRotl(librevenge::RVNGInputStream *input);
126 void readRott(librevenge::RVNGInputStream *input);
127 void readRdot(librevenge::RVNGInputStream *input);
128 void readRpen(librevenge::RVNGInputStream *input);
129 void readIxtl(librevenge::RVNGInputStream *input);
130 void readIxef(librevenge::RVNGInputStream *input);
131 void readIxmr(librevenge::RVNGInputStream *input);
132 void readIxpg(librevenge::RVNGInputStream *input);
133 void readIxpc(librevenge::RVNGInputStream *input);
134 void readInfo(librevenge::RVNGInputStream *input);
135 void readData(librevenge::RVNGInputStream *input);
138 void readCommands(librevenge::RVNGInputStream *input,
unsigned length);
143 void readEllipse(librevenge::RVNGInputStream *input);
152 librevenge::RVNGString
readString(librevenge::RVNGInputStream *input);
153 bool readFill(librevenge::RVNGInputStream *input);
154 bool readLens(librevenge::RVNGInputStream *input);
161 CDRColor readColor(librevenge::RVNGInputStream *input,
unsigned char colorModel);
163 const unsigned *
_getOffsetByType(
unsigned short type,
const std::map<unsigned short, unsigned> &offsets);
179 #endif // __CMXPARSER_H__ void readRotl(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:1838
CMXOutline()
Definition: CMXParser.h:49
Definition: CMXParser.h:87
Definition: CommonParser.h:27
CMXLineStyle()
Definition: CMXParser.h:72
Definition: CMXParser.h:77
void readBeginPage(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:490
unsigned m_nextInstructionOffset
Definition: CMXParser.h:170
void readIxpg(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:2031
void readRclr(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:1683
void readData(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:2144
double m_aspect
Definition: CMXParser.h:65
~CMXParser() override
Definition: CMXParser.cpp:79
double m_xmax
Definition: CMXParser.h:168
CMXParserState()
Definition: CMXParser.h:89
Definition: CDRTypes.h:24
CMXPen()
Definition: CMXParser.h:62
std::unique_ptr< CDRBitmap > m_currentBitmap
Definition: CMXParser.h:174
CDRTransform m_matrix
Definition: CMXParser.h:67
unsigned m_compressedSize
Definition: CMXParser.h:84
Definition: CMXParser.h:60
unsigned char m_spec
Definition: CMXParser.h:73
std::map< unsigned, unsigned > m_embeddedOffsets
Definition: CMXParser.h:101
void readRott(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:1789
void readPolyCurve(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:589
void parseImage(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:153
unsigned char m_capAndJoin
Definition: CMXParser.h:74
CMXParser & operator=(const CMXParser &)
librevenge::RVNGString readString(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:1006
void readRecord(unsigned fourCC, unsigned &length, librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:193
void readIxef(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:1994
std::map< unsigned, CDRColor > m_colorPalette
Definition: CMXParser.h:93
unsigned short m_arrowHeads
Definition: CMXParser.h:55
unsigned short m_unit
Definition: CMXParser.h:166
std::unique_ptr< CDRPattern > m_currentPattern
Definition: CMXParser.h:173
std::map< unsigned, unsigned > m_patternOffsets
Definition: CMXParser.h:99
Definition: CMXParser.h:105
bool readLens(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:1017
double m_width
Definition: CMXParser.h:64
std::map< unsigned, CMXOutline > m_outlines
Definition: CMXParser.h:97
bool m_bigEndian
Definition: CMXParser.h:165
CMXParserState & m_parserState
Definition: CMXParser.h:171
std::map< unsigned, unsigned > m_arrowOffsets
Definition: CMXParser.h:100
CMXImageInfo m_currentImageInfo
Definition: CMXParser.h:172
Definition: CDRCollector.h:24
unsigned short m_dashArray
Definition: CMXParser.h:57
void readBeginProcedure(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:919
void readJumpAbsolute(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:1649
Definition: CMXParser.h:47
double m_ymin
Definition: CMXParser.h:168
void readInfo(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:2103
void readRpen(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:1895
bool parseRecords(librevenge::RVNGInputStream *input, long size=-1, unsigned level=0)
Definition: CMXParser.cpp:83
unsigned short m_pen
Definition: CMXParser.h:56
void readPage(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:470
void readEllipse(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:664
std::map< unsigned, CMXPen > m_pens
Definition: CMXParser.h:96
double m_ymax
Definition: CMXParser.h:168
unsigned short m_lineStyle
Definition: CMXParser.h:52
std::map< unsigned, std::vector< unsigned > > m_dashArrays
Definition: CMXParser.h:94
bool readFill(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:1061
unsigned m_fillIndex
Definition: CMXParser.h:169
unsigned short m_color
Definition: CMXParser.h:54
void readProc(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:480
CDRTransform readMatrix(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:966
const unsigned * _getOffsetByType(unsigned short type, const std::map< unsigned short, unsigned > &offsets)
Definition: CMXParser.cpp:339
void readRectangle(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:830
void readBeginGroup(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:542
CDRBox readBBox(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:996
void readIxtl(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:1949
unsigned m_size
Definition: CMXParser.h:83
std::map< unsigned, unsigned > m_embeddedOffsetTypes
Definition: CMXParser.h:102
bool parseRecord(librevenge::RVNGInputStream *input, unsigned level=0)
Definition: CMXParser.cpp:101
unsigned short m_compression
Definition: CMXParser.h:82
void readBeginLayer(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:539
std::map< unsigned, CMXLineStyle > m_lineStyles
Definition: CMXParser.h:95
double m_scale
Definition: CMXParser.h:167
CMXImageInfo()
Definition: CMXParser.h:79
Definition: CDRTypes.h:113
double m_xmin
Definition: CMXParser.h:168
unsigned short m_type
Definition: CMXParser.h:81
void readDrawImage(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:769
CDRLineStyle getLineStyle(unsigned id)
Definition: CMXParser.cpp:2339
void readDisp(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:290
void readRdot(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:1734
Definition: CDRTypes.h:53
double m_angle
Definition: CMXParser.h:66
void readCMXHeader(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:214
CDRColor readColor(librevenge::RVNGInputStream *input, unsigned char colorModel)
Definition: CMXParser.cpp:2220
void readIxpc(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:2066
void readCommands(librevenge::RVNGInputStream *input, unsigned length)
Definition: CMXParser.cpp:416
Definition: CMXParser.h:70
unsigned short m_screen
Definition: CMXParser.h:53
CDRColor getPaletteColor(unsigned id)
Definition: CMXParser.cpp:2212
Definition: CDRCollector.h:61
void readIxmr(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:347
bool readRenderingAttributes(librevenge::RVNGInputStream *input)
Definition: CMXParser.cpp:1476
std::map< unsigned, unsigned > m_bitmapOffsets
Definition: CMXParser.h:98