32#include <tqdatastream.h>
37typedef TQ_INT32 sint4;
38typedef TQ_INT16 sint2;
39typedef TQ_UINT32 uint4;
40typedef TQ_UINT16 uint2;
42typedef TQ_UINT8 ubyte1;
46typedef uint2 psrInstance;
47typedef uint2 psrVersion;
48typedef uint4 psrReference;
58 virtual ~Powerpoint();
75 unsigned persistentReference;
76 TQPtrList<SlideText> text;
81 virtual void gotDrawing(
85 const char *data) = 0;
86 virtual void gotSlide(
90 Powerpoint(
const Powerpoint &);
91 const Powerpoint &operator=(
const Powerpoint &);
96 static const int s_area;
101 unsigned m_documentRef;
102 bool m_documentRefFound;
103 TQMap<unsigned, unsigned> m_persistentReferences;
104 unsigned m_editDepth;
107 PASS_GET_SLIDE_REFERENCES,
108 PASS_GET_SLIDE_CONTENTS
112 TQPtrList<PptSlide> m_slideList;
113 PptSlide* m_pptSlide;
115struct PSR_CurrentUserAtom
119 uint4 offsetToCurrentEdit;
121 uint2 docFileVersion;
126struct PSR_UserEditAtom
130 uint4 offsetLastEdit;
131 uint4 offsetPersistDirectory;
134 uint4 maxPersistWritten;
138struct PSR_SSlideLayoutAtom
141 ubyte1 placeholderId[8];
144 PSR_CurrentUserAtom mCurrentUserAtom;
145 PSR_UserEditAtom mUserEditAtom;
146 PSR_UserEditAtom* mpLastUserEditAtom;
147 TQ_UINT32 mEditOffset;
158 TQ_UINT16 version: 4;
159 TQ_UINT16 instance: 12;
170 TQDataStream &operands);
172 TQ_UINT32 mainStreamOffset);
175 const unsigned char *operands);
177 TQ_UINT32 mainStreamOffset);
179 TQ_UINT32 reference);
182 TQDataStream &operands);
186 TQDataStream &operands);
189 void opAnimationInfo(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
190 void opAnimationInfoAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
191 void opArrayElementAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
192 void opBaseTextPropAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
193 void opBinaryTagData(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
194 void opBookmarkCollection(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
195 void opBookmarkEntityAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
196 void opBookmarkSeedAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
197 void opCharFormatAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
198 void opClientSignal1(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
199 void opClientSignal2(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
200 void opColorSchemeAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
201 void opCorePict(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
202 void opCorePictAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
203 void opCString(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
204 void opCurrentUserAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
205 void opDateTimeMCAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
206 void opDefaultRulerAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
207 void opDocRoutingSlip(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
208 void opDocument(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
209 void opDocumentAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
210 void opDocViewInfo(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
211 void opEmFormatAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
212 void opEndDocument(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
213 void opEnvironment(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
214 void opExAviMovie(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
215 void opExCDAudio(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
216 void opExCDAudioAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
217 void opExControl(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
218 void opExControlAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
219 void opExEmbed(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
220 void opExEmbedAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
221 void opExHyperlink(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
222 void opExHyperlinkAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
223 void opExLink(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
224 void opExLinkAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
225 void opExLinkAtom_old(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
226 void opExMCIMovie(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
227 void opExMediaAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
228 void opExMIDIAudio(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
229 void opExObjList(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
230 void opExObjListAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
231 void opExObjRefAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
232 void opExOleObj(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
233 void opExOleObjAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
234 void opExOleObjStg(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
235 void opExPlain(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
236 void opExPlainAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
237 void opExPlainLink(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
238 void opExPlainLinkAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
239 void opExQuickTime(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
240 void opExQuickTimeMovie(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
241 void opExQuickTimeMovieData(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
242 void opExSubscription(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
243 void opExSubscriptionSection(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
244 void opExternalObject(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
245 void opExVideo(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
246 void opExWAVAudioEmbedded(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
247 void opExWAVAudioEmbeddedAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
248 void opExWAVAudioLink(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
249 void opFontCollection(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
250 void opFontEmbedData(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
251 void opFontEntityAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
252 void opFooterMCAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
253 void opGenericDateMCAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
254 void opGlineAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
255 void opGLPointAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
256 void opGpointAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
257 void opGratioAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
258 void opGrColor(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
259 void opGrColorAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
260 void opGrectAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
261 void opGscaling(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
262 void opGscalingAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
263 void opGuideAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
264 void opGuideList(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
265 void opHandout(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
266 void opHeaderMCAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
267 void opHeadersFooters(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
268 void opHeadersFootersAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
269 void opInt4ArrayAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
270 void opInteractiveInfo(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
271 void opInteractiveInfoAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
272 void opIRRAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
273 void opList(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
274 void opListPlaceholder(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
275 void opMainMaster(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
276 void opMasterText(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
277 void opMetaFile(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
278 void opMsod(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
279 void opNamedShow(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
280 void opNamedShows(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
281 void opNamedShowSlides(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
282 void opNotes(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
283 void opNotesAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
284 void opOEPlaceholderAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
285 void opOEShape(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
286 void opOEShapeAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
287 void opOutlineTextRefAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
288 void opOutlineViewInfo(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
289 void opParaFormatAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
290 void opPersistPtrFullBlock(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
291 void opPersistPtrIncrementalBlock(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
292 void opPersistPtrIncrementalBlock2(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
293 void opPowerPointStateInfoAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
294 void opPPDrawing(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
295 void opPPDrawingGroup(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
296 void opPrintOptions(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
297 void opProgBinaryTag(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
298 void opProgStringTag(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
299 void opProgTags(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
300 void opPSS(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
301 void opRecolorEntryAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
302 void opRecolorInfoAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
303 void opRTFDateTimeMCAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
304 void opRulerIndentAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
305 void opRunArray(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
306 void opRunArrayAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
307 void opScheme(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
308 void opSchemeAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
309 void opSlide(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
310 void opSlideAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
311 void opSlideBase(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
312 void opSlideBaseAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
313 void opSlideList(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
314 void opSlideListWithText(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
315 void opSlideNumberMCAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
316 void opSlidePersist(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
317 void opSlidePersistAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
318 void opSlideViewInfo(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
319 void opSlideViewInfoAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
320 void opSorterViewInfo(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
321 void opSound(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
322 void opSoundCollAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
323 void opSoundCollection(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
324 void opSoundData(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
325 void opSrKinsoku(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
326 void opSrKinsokuAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
327 void opSSDocInfoAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
328 void opSSSlideLayoutAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
329 void opSSSlideInfoAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
330 void opStyleTextPropAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
331 void opSubContainerCompleted(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
332 void opSubContainerException(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
333 void opSummary(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
334 void opTextBookmarkAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
335 void opTextBytesAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
336 void opTextCharsAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
337 void opTextHeaderAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
338 void opTextRulerAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
339 void opTextSpecInfoAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
340 void opTexture(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
341 void opTxCFStyleAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
342 void opTxInteractiveInfoAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
343 void opTxMasterStyleAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
344 void opTxPFStyleAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
345 void opTxSIStyleAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
346 void opTypeFace(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
347 void opUserEditAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
348 void opVBAInfo(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
349 void opVBAInfoAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
350 void opVBASlideInfo(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
351 void opVBASlideInfoAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
352 void opViewInfo(Header &op, TQ_UINT32 bytes, TQDataStream &operands);
353 void opViewInfoAtom(Header &op, TQ_UINT32 bytes, TQDataStream &operands);