kpresenter/powerpoint/libppt/powerpoint.h
1/* libppt - library to read PowerPoint presentation
2 Copyright (C) 2005 Yolla Indria <yolla.indria@gmail.com>
3
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation; either
7 version 2 of the License, or (at your option) any later version.
8
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details.
13
14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to
16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA
18*/
19
20#ifndef LIBPPT_POWERPOINT
21#define LIBPPT_POWERPOINT
22
23#include <iostream>
24#include "ustring.h"
25
26namespace Libppt
27{
28
29// forward declaration
30class Presentation;
31
32class Record
33{
34public:
35
40 static const unsigned int id;
41
42 virtual unsigned int rtti(){
43 return this->id;
44 }
45
49 Record();
50
54 virtual ~Record();
55
59 static Record* create( unsigned type );
60
64 virtual bool isContainer() const { return false; }
65
66 void setParent( Record* parent );
67
68 const Record* parent() const;
69
73 virtual void setData( unsigned size, const unsigned char* data );
74 virtual void setData( unsigned size, const unsigned char* data, unsigned lastSize );
75
79 void setPosition( unsigned pos );
80
84 unsigned position() const;
85
86 void setInstance( unsigned inst );
87 unsigned instance() const;
88
92 virtual const char* name(){ return "Unknown"; }
93
97 virtual void dump( std::ostream& out ) const;
98
99protected:
100
101 // position of this record in the OLE stream
102 unsigned stream_position;
103
104 unsigned record_instance;
105
106 Record* record_parent;
107
108private:
109 // no copy or assign
110 Record( const Record& );
111 Record& operator=( const Record& );
112};
113
114// Container is a special record, it is for holding another records
115class Container: public Record
116{
117public:
118 Container();
119 virtual bool isContainer() const { return true; }
120 const char* name(){ return "Container"; }
121
122private:
123 // no copy or assign
124 Container( const Container& );
125 Container& operator=( const Container& );
126};
127
128
129class BookmarkCollectionContainer: public Container
130{
131public:
132 static const unsigned int id;
133 BookmarkCollectionContainer();
134 const char* name(){ return "BookmarkCollectionContainer"; }
135
136private:
137 // no copy or assign
138 BookmarkCollectionContainer( const BookmarkCollectionContainer& );
139 BookmarkCollectionContainer& operator=( const BookmarkCollectionContainer& );
140};
141
142class DocumentContainer: public Container
143{
144public:
145 static const unsigned int id;
146 DocumentContainer();
147 const char* name(){ return "DocumentContainer"; }
148
149private:
150 // no copy or assign
151 DocumentContainer( const DocumentContainer& );
152 DocumentContainer& operator=( const DocumentContainer& );
153};
154
155class EnvironmentContainer: public Container
156{
157public:
158 static const unsigned int id;
159 EnvironmentContainer();
160 const char* name(){ return "EnvironmentContainer"; }
161
162private:
163 // no copy or assign
164 EnvironmentContainer( const EnvironmentContainer& );
165 EnvironmentContainer& operator=( const EnvironmentContainer& );
166};
167
168class ExObjListContainer: public Container
169{
170public:
171 static const unsigned int id;
172 ExObjListContainer();
173 const char* name(){ return "ExObjListContainer"; }
174
175private:
176 // no copy or assign
177 ExObjListContainer( const ExObjListContainer& );
178 ExObjListContainer& operator=( const ExObjListContainer& );
179};
180
181class ExHyperlinkContainer : public Container
182{
183public:
184 static const unsigned int id;
185 ExHyperlinkContainer ();
186 const char* name(){ return "ExHyperlinkContainer "; }
187
188private:
189 // no copy or assign
190 ExHyperlinkContainer ( const ExHyperlinkContainer & );
191 ExHyperlinkContainer & operator=( const ExHyperlinkContainer & );
192};
193
194class ExEmbedContainer : public Container
195{
196public:
197 static const unsigned int id;
198 ExEmbedContainer ();
199 const char* name(){ return "ExEmbedContainer "; }
200
201private:
202 // no copy or assign
203 ExEmbedContainer ( const ExEmbedContainer & );
204 ExEmbedContainer & operator=( const ExEmbedContainer & );
205};
206
207class ExLinkContainer : public Container
208{
209public:
210 static const unsigned int id;
211 ExLinkContainer ();
212 const char* name(){ return "ExLinkContainer "; }
213
214private:
215 // no copy or assign
216 ExLinkContainer ( const ExLinkContainer & );
217 ExLinkContainer & operator=( const ExLinkContainer & );
218};
219
220class RunArrayContainer: public Container
221{
222public:
223 static const unsigned int id;
224 RunArrayContainer();
225
226 const char* name(){ return "RunArrayContainer"; }
227
228private:
229 // no copy or assign
230 RunArrayContainer( const RunArrayContainer& );
231 RunArrayContainer& operator=( const RunArrayContainer& );
232};
233
234class ExOleObjStgContainer: public Container
235{
236public:
237 static const unsigned int id;
238 ExOleObjStgContainer();
239 const char* name(){ return "ExOleObjStgContainer"; }
240
241private:
242 // no copy or assign
243 ExOleObjStgContainer( const ExOleObjStgContainer& );
244 ExOleObjStgContainer& operator=( const ExOleObjStgContainer& );
245};
246
247class FontCollectionContainer: public Container
248{
249public:
250 static const unsigned int id;
251 FontCollectionContainer();
252 const char* name(){ return "FontCollectionContainer"; }
253
254private:
255 // no copy or assign
256 FontCollectionContainer( const FontCollectionContainer& );
257 FontCollectionContainer& operator=( const FontCollectionContainer& );
258};
259
260class HandoutContainer: public Container
261{
262public:
263 static const unsigned int id;
264 HandoutContainer();
265 const char* name(){ return "HandoutContainer"; }
266
267private:
268 // no copy or assign
269 HandoutContainer( const HandoutContainer& );
270 HandoutContainer& operator=( const HandoutContainer& );
271};
272
273class HeadersFootersContainer: public Container
274{
275public:
276 static const unsigned int id;
277 HeadersFootersContainer();
278 const char* name(){ return "HeadersFootersContainer"; }
279
280private:
281 // no copy or assign
282 HeadersFootersContainer( const DocumentContainer& );
283 HeadersFootersContainer& operator=( const DocumentContainer& );
284};
285
286class ListContainer: public Container
287{
288public:
289 static const unsigned int id;
290 ListContainer();
291 const char* name(){ return "ListContainer"; }
292
293private:
294 // no copy or assign
295 ListContainer( const ListContainer& );
296 ListContainer& operator=( const ListContainer& );
297};
298
299class MainMasterContainer: public Container
300{
301public:
302 static const unsigned int id;
303 MainMasterContainer();
304 const char* name(){ return "MainMasterContainer"; }
305
306private:
307 // no copy or assign
308 MainMasterContainer( const MainMasterContainer& );
309 MainMasterContainer& operator=( const MainMasterContainer& );
310};
311
312class NotesContainer: public Container
313{
314public:
315 static const unsigned int id;
316 NotesContainer();
317 const char* name(){ return "NotesContainer"; }
318
319private:
320 // no copy or assign
321 NotesContainer( const NotesContainer& );
322 NotesContainer& operator=( const NotesContainer& );
323};
324
325class OutlineViewInfoContainer : public Container
326{
327public:
328 static const unsigned int id;
329 OutlineViewInfoContainer ();
330 const char* name(){ return "OutlineViewInfoContainer "; }
331
332private:
333 // no copy or assign
334 OutlineViewInfoContainer ( const OutlineViewInfoContainer & );
335 OutlineViewInfoContainer & operator=( const OutlineViewInfoContainer & );
336};
337
338class PPDrawingContainer : public Container
339{
340public:
341 static const unsigned int id;
342 PPDrawingContainer ();
343 const char* name(){ return "PPDrawingContainer "; }
344
345private:
346 // no copy or assign
347 PPDrawingContainer ( const PPDrawingContainer & );
348 PPDrawingContainer & operator=( const PPDrawingContainer & );
349};
350
351class PPDrawingGroupContainer : public Container
352{
353public:
354 static const unsigned int id;
355 PPDrawingGroupContainer ();
356 const char* name(){ return "PPDrawingGroupContainer "; }
357
358private:
359 // no copy or assign
360 PPDrawingGroupContainer ( const PPDrawingGroupContainer & );
361 PPDrawingGroupContainer & operator=( const PPDrawingGroupContainer & );
362};
363
364class ProgBinaryTagContainer: public Container
365{
366public:
367 static const unsigned int id;
368 ProgBinaryTagContainer();
369 const char* name(){ return "ProgBinaryTagContainer"; }
370
371private:
372 // no copy or assign
373 ProgBinaryTagContainer( const ProgBinaryTagContainer& );
374 ProgBinaryTagContainer& operator=( const ProgBinaryTagContainer& );
375};
376
377class ProgStringTagContainer: public Container
378{
379public:
380 static const unsigned int id;
381 ProgStringTagContainer();
382 const char* name(){ return "ProgStringTagContainer"; }
383
384private:
385 // no copy or assign
386 ProgStringTagContainer( const ProgStringTagContainer& );
387 ProgStringTagContainer& operator=( const ProgStringTagContainer& );
388};
389
390class ProgTagsContainer : public Container
391{
392public:
393 static const unsigned int id;
394 ProgTagsContainer ();
395 const char* name(){ return "ProgTagsContainer "; }
396
397private:
398 // no copy or assign
399 ProgTagsContainer ( const ProgTagsContainer & );
400 ProgTagsContainer & operator=( const ProgTagsContainer & );
401};
402
403class SlideContainer: public Container
404{
405public:
406 static const unsigned int id;
407 SlideContainer();
408 const char* name(){ return "SlideContainer"; }
409
410private:
411 // no copy or assign
412 SlideContainer( const SlideContainer& );
413 SlideContainer& operator=( const SlideContainer& );
414};
415
416class SlideBaseContainer: public Container
417{
418public:
419 static const unsigned int id;
420 SlideBaseContainer();
421 const char* name(){ return "SlideBaseContainer"; }
422
423private:
424 // no copy or assign
425 SlideBaseContainer( const SlideBaseContainer& );
426 SlideBaseContainer& operator=( const SlideBaseContainer& );
427};
428
429class SlideListWithTextContainer: public Container
430{
431public:
432 static const unsigned int id;
433 SlideListWithTextContainer();
434 const char* name(){ return "SlideListWithTextContainer"; }
435
436private:
437 // no copy or assign
438 SlideListWithTextContainer( const SlideListWithTextContainer& );
439 SlideListWithTextContainer& operator=( const SlideListWithTextContainer& );
440};
441
442class SlideViewInfoContainer: public Container
443{
444public:
445 static const unsigned int id;
446 SlideViewInfoContainer();
447 const char* name(){ return "SlideViewInfoContainer"; }
448
449private:
450 // no copy or assign
451 SlideViewInfoContainer( const SlideViewInfoContainer& );
452 SlideViewInfoContainer& operator=( const SlideViewInfoContainer& );
453};
454
455class SorterViewInfoContainer : public Container
456{
457public:
458 static const unsigned int id;
459 SorterViewInfoContainer ();
460 const char* name(){ return "SorterViewInfoContainer "; }
461
462private:
463 // no copy or assign
464 SorterViewInfoContainer ( const SorterViewInfoContainer & );
465 SorterViewInfoContainer & operator=( const SorterViewInfoContainer & );
466};
467
468class SummaryContainer : public Container
469{
470public:
471 static const unsigned int id;
472 SummaryContainer ();
473 const char* name(){ return "SummaryContainer "; }
474
475private:
476 // no copy or assign
477 SummaryContainer ( const SummaryContainer & );
478 SummaryContainer & operator=( const SummaryContainer & );
479};
480
481class SrKinsokuContainer: public Container
482{
483public:
484 static const unsigned int id;
485 SrKinsokuContainer();
486 const char* name(){ return "SrKinsokuContainer"; }
487
488private:
489 // no copy or assign
490 SrKinsokuContainer( const SrKinsokuContainer& );
491 SrKinsokuContainer& operator=( const SrKinsokuContainer& );
492};
493
494class VBAInfoContainer: public Container
495{
496public:
497 static const unsigned int id;
498 VBAInfoContainer();
499 const char* name(){ return "VBAInfoContainer"; }
500
501private:
502 // no copy or assign
503 VBAInfoContainer( const VBAInfoContainer& );
504 VBAInfoContainer& operator=( const VBAInfoContainer& );
505};
506
507class ViewInfoContainer: public Container
508{
509public:
510 static const unsigned int id;
511 ViewInfoContainer();
512 const char* name(){ return "ViewInfoContainer"; }
513
514private:
515 // no copy or assign
516 ViewInfoContainer( const ViewInfoContainer& );
517 ViewInfoContainer& operator=( const ViewInfoContainer& );
518};
519
520class msofbtDgContainer: public Container
521{
522public:
523 static const unsigned int id;
524 msofbtDgContainer();
525 const char* name(){ return "msofbtDgContainer"; }
526
527private:
528 // no copy or assign
529 msofbtDgContainer( const msofbtDgContainer& );
530 msofbtDgContainer& operator=( const msofbtDgContainer& );
531};
532
533class msofbtSpContainer: public Container
534{
535public:
536 static const unsigned int id;
537 msofbtSpContainer();
538 const char* name(){ return "msofbtSpContainer"; }
539
540private:
541 // no copy or assign
542 msofbtSpContainer( const msofbtSpContainer& );
543 msofbtSpContainer& operator=( const msofbtSpContainer& );
544};
545
546class msofbtSpgrContainer: public Container
547{
548public:
549 static const unsigned int id;
550 msofbtSpgrContainer();
551 const char* name(){ return "msofbtSpgrContainer"; }
552
553private:
554 // no copy or assign
555 msofbtSpgrContainer( const msofbtSpgrContainer& );
556 msofbtSpgrContainer& operator=( const msofbtSpgrContainer& );
557};
558
559class msofbtDggContainer: public Container
560{
561public:
562 static const unsigned int id;
563 msofbtDggContainer();
564 const char* name(){ return "msofbtDggContainer"; }
565
566private:
567 // no copy or assign
568 msofbtDggContainer( const msofbtDggContainer& );
569 msofbtDggContainer& operator=( const msofbtDggContainer& );
570};
571
572class msofbtBstoreContainer: public Container
573{
574public:
575 static const unsigned int id;
576 msofbtBstoreContainer();
577 const char* name(){ return "msofbtBstoreContainer"; }
578
579private:
580 // no copy or assign
581 msofbtBstoreContainer( const msofbtBstoreContainer& );
582 msofbtBstoreContainer& operator=( const msofbtBstoreContainer& );
583};
584
585class msofbtSolverContainer: public Container
586{
587public:
588 static const unsigned int id;
589 msofbtSolverContainer();
590 const char* name(){ return "msofbtSolverContainer"; }
591
592private:
593 // no copy or assign
594 msofbtSolverContainer( const msofbtSolverContainer& );
595 msofbtSolverContainer& operator=( const msofbtSolverContainer& );
596};
597
598class BookmarkEntityAtom : public Record
599{
600public:
601 static const unsigned int id;
602 BookmarkEntityAtom ();
603 ~BookmarkEntityAtom ();
604
605 int bookmarkID() const;
606 void setBookmarkID( int bookmarkID );
607 int bookmarkName() const;
608 void setBookmarkName( int bookmarkName );
609
610 void setData( unsigned size, const unsigned char* data );
611 const char* name(){ return "BookmarkEntityAtom "; }
612 void dump( std::ostream& out ) const;
613
614private:
615 // no copy or assign
616 BookmarkEntityAtom ( const BookmarkEntityAtom & );
617 BookmarkEntityAtom & operator=( const BookmarkEntityAtom & );
618
619 class Private;
620 Private *d;
621};
622
623class CStringAtom: public Record
624{
625public:
626 static const unsigned int id;
627 CStringAtom();
628 ~CStringAtom();
629
630 UString ustring() const;
631 void setUString( const UString& ustr );
632
633 void setData( unsigned size, const unsigned char* data );
634 const char* name(){ return "CStringAtom"; }
635 void dump( std::ostream& out ) const;
636
637private:
638 // no copy or assign
639 CStringAtom( const CStringAtom& );
640 CStringAtom& operator=( const CStringAtom& );
641
642 class Private;
643 Private *d;
644};
645
646class ColorSchemeAtom : public Record
647{
648public:
649 static const unsigned int id;
650 ColorSchemeAtom();
651 ~ColorSchemeAtom();
652
653 int background() const;
654 void setBackground( int background );
655 int textAndLines() const;
656 void setTextAndLines( int textAndLines );
657 int shadows() const;
658 void setShadows( int shadows );
659 int titleText() const;
660 void setTitleText( int titleText );
661 int fills() const;
662 void setFills( int fills );
663 int accent() const;
664 void setAccent( int accent );
665 int accentAndHyperlink() const;
666 void setAccentAndHyperlink ( int accentAndHyperlink );
667 int accentAndFollowedHyperlink() const;
668 void setAccentAndFollowedHyperlink( int accentAndFollowedHyperlink );
669 void setData( unsigned size, const unsigned char* data );
670 const char* name(){ return "ColorSchemeAtom "; }
671 void dump( std::ostream& out ) const;
672
673private:
674 // no copy or assign
675 ColorSchemeAtom ( const ColorSchemeAtom & );
676 ColorSchemeAtom & operator=( const ColorSchemeAtom & );
677
678 class Private;
679 Private *d;
680};
681
682class CurrentUserAtom : public Record
683{
684public:
685 static const unsigned int id;
686 CurrentUserAtom();
687 ~CurrentUserAtom();
688
689 int size() const;
690 void setSize( int size );
691 int magic() const;
692 void setMagic( int magic );
693 int offsetToCurrentEdit() const;
694 void setOffsetToCurrentEdit( int offsetToCurrentEdit );
695 int lenUserName() const;
696 void setLenUserName( int lenUserName );
697 int docFileVersion() const;
698 void setDocFileVersion( int docFileVersion );
699 int majorVersion() const;
700 void setMajorVersion( int majorVersion );
701 int minorVersion() const;
702 void setMinorVersion ( int minorVersion );
703 void setData( unsigned size, const unsigned char* data );
704 const char* name(){ return "ColorSchemeAtom "; }
705 void dump( std::ostream& out ) const;
706
707private:
708 // no copy or assign
709 CurrentUserAtom ( const CurrentUserAtom & );
710 CurrentUserAtom & operator=( const CurrentUserAtom & );
711
712 class Private;
713 Private *d;
714};
715
716class DocumentAtom : public Record
717{
718public:
719 static const unsigned int id;
720 DocumentAtom();
721 ~DocumentAtom();
722
723 int slideWidth() const;
724 void setSlideWidth( int w );
725 int slideHeight() const;
726 void setSlideHeight( int h );
727 int notesWidth() const;
728 void setNotesWidth( int nw );
729 int notesHeight() const;
730 void setNotesHeight( int nh );
731 int zoomNumer() const;
732 void setZoomNumer( int numer );
733 int zoomDenom() const;
734 void setZoomDenom( int denom );
735
736 int notesMasterPersist() const;
737 void setNotesMasterPersist( int notesMasterPersist );
738
739 int handoutMasterPersist() const;
740 void setHandoutMasterPersist(int handoutMasterPersist);
741
742 int firstSlideNum() const;
743 void setFirstSlideNum( int firstSlideNum );
744
745 int slideSizeType() const;
746 void setSlideSizeType( int slideSizeType );
747
748 int saveWithFonts() const;
749 void setSaveWithFonts( int saveWithFonts );
750
751 int omitTitlePlace() const;
752 void setOmitTitlePlace( int omitTitlePlace );
753
754 int rightToLeft() const;
755 void setRightToLeft( int rightToLeft );
756
757 int showComments() const;
758 void setShowComments( int showComments);
759
760 void setData( unsigned size, const unsigned char* data );
761 const char* name(){ return "DocumentAtom "; }
762 void dump( std::ostream& out ) const;
763
764private:
765 // no copy or assign
766 DocumentAtom ( const DocumentAtom & );
767 DocumentAtom & operator=( const DocumentAtom & );
768
769 class Private;
770 Private *d;
771};
772
773class EndDocumentAtom: public Record
774{
775public:
776 static const unsigned int id;
777 EndDocumentAtom();
778 const char* name(){ return "EndDocumentAtom"; }
779 void dump( std::ostream& out ) const;
780
781private:
782 // no copy or assign
783 EndDocumentAtom( const EndDocumentAtom& );
784 EndDocumentAtom& operator=( const EndDocumentAtom& );
785};
786
787class ExObjListAtom : public Record
788{
789public:
790 static const unsigned int id;
791 ExObjListAtom();
792 ~ExObjListAtom();
793
794 int objectIdSeed() const;
795 void setObjectIdSeed( int objectIdSeed );
796
797 void setData( unsigned size, const unsigned char* data );
798 const char* name(){ return "ExObjListAtom "; }
799 void dump( std::ostream& out ) const;
800
801private:
802 // no copy or assign
803 ExObjListAtom ( const ExObjListAtom & );
804 ExObjListAtom & operator=( const ExObjListAtom & );
805
806 class Private;
807 Private *d;
808};
809
810class ExHyperlinkAtom : public Record
811{
812public:
813 static const unsigned int id;
814 ExHyperlinkAtom ();
815 ~ExHyperlinkAtom ();
816
817 int objID() const;
818 void setObjID (int objID);
819
820 void setData( unsigned size, const unsigned char* data );
821 const char* name(){ return "ExHyperlinkAtom "; }
822 void dump( std::ostream& out ) const;
823
824private:
825 // no copy or assign
826 ExHyperlinkAtom ( const ExHyperlinkAtom & );
827 ExHyperlinkAtom & operator=( const ExHyperlinkAtom & );
828
829 class Private;
830 Private *d;
831};
832
833class ExLinkAtom : public Record
834{
835public:
836 static const unsigned int id;
837 ExLinkAtom();
838 ~ExLinkAtom();
839
840 int exObjId() const;
841 void setExObjId( int exObjId);
842 int flags() const;
843 void setFlags( int flags);
844 int unavailable() const;
845 void setUnavailable( int unavailable);
846
847 void setData( unsigned size, const unsigned char* data );
848 const char* name(){ return "ExLinkAtom"; }
849 void dump( std::ostream& out ) const;
850private:
851 // no copy or assign
852 ExLinkAtom ( const ExLinkAtom & );
853 ExLinkAtom & operator=( const ExLinkAtom & );
854
855 class Private;
856 Private *d;
857};
858
859class ExOleObjAtom : public Record
860{
861public:
862 static const unsigned int id;
863 ExOleObjAtom ();
864 ~ExOleObjAtom ();
865
866 int drawAspect() const;
867 void setDrawAspect(int drawAspect);
868 int type() const;
869 void setType(int type);
870 int objID() const;
871 void setObjID(int objID);
872 int subType() const;
873 void setSubType(int subType);
874 int objStgDataRef() const;
875 void setObjStgDataRef(int objStgDataRef);
876 int isBlank() const;
877 void setIsBlank(int isBlank);
878
879 void setData( unsigned size, const unsigned char* data );
880 const char* name(){ return "ExOleObjAtom "; }
881 void dump( std::ostream& out ) const;
882
883private:
884 // no copy or assign
885 ExOleObjAtom ( const ExOleObjAtom & );
886 ExOleObjAtom & operator=( const ExOleObjAtom & );
887
888 class Private;
889 Private *d;
890};
891
892class ExEmbedAtom : public Record
893{
894public:
895 static const unsigned int id;
896 ExEmbedAtom ();
897 ~ExEmbedAtom ();
898
899 int followColorScheme() const;
900 void setFollowColorScheme(int followColorScheme);
901 int cantLockServerB() const;
902 void setCantLockServerB(int cantLockServerB);
903 int noSizeToServerB() const;
904 void setNoSizeToServerB(int noSizeToServerB);
905 int isTable() const;
906 void setIsTable(int isTable);
907
908 void setData( unsigned size, const unsigned char* data );
909 const char* name(){ return "ExEmbedAtom "; }
910 void dump( std::ostream& out ) const;
911
912private:
913 // no copy or assign
914 ExEmbedAtom ( const ExEmbedAtom & );
915 ExEmbedAtom & operator=( const ExEmbedAtom & );
916
917 class Private;
918 Private *d;
919};
920
921class FontEntityAtom : public Record
922{
923public:
924 static const unsigned int id;
925 FontEntityAtom();
926 ~FontEntityAtom();
927
928 UString ustring() const;
929 void setUString( const UString& ustr );
930 int charset() const;
931 void setCharset( int charset ) ;
932 int clipPrecision() const;
933 void setClipPrecision( int clipPrecision);
934 int quality() const;
935 void setQuality( int quality );
936 int pitchAndFamily() const;
937 void setPitchAndFamily( int pitchAndFamily );
938
939 void setData( unsigned size, const unsigned char* data );
940 const char* name(){ return "FontEntityAtom"; }
941 void dump( std::ostream& out ) const;
942
943private:
944 // no copy or assign
945 FontEntityAtom ( const FontEntityAtom & );
946 FontEntityAtom & operator=( const FontEntityAtom & );
947
948 class Private;
949 Private *d;
950};
951
952class GuideAtom : public Record
953{
954public:
955 static const unsigned int id;
956 GuideAtom ();
957 ~GuideAtom ();
958
959 int type() const;
960 void setType(int type);
961 int pos() const;
962 void setPos(int pos);
963
964 void setData( unsigned size, const unsigned char* data );
965 const char* name(){ return "GuideAtom "; }
966 void dump( std::ostream& out ) const;
967
968private:
969 // no copy or assign
970 GuideAtom ( const GuideAtom & );
971 GuideAtom & operator=( const GuideAtom & );
972
973 class Private;
974 Private *d;
975};
976
977class HeadersFootersAtom : public Record
978{
979public:
980 static const unsigned int id;
981 HeadersFootersAtom ();
982 ~HeadersFootersAtom ();
983
984 int formatId() const;
985 void setFormatId( int slideId );
986 int flags() const;
987 void setFlags( int flags );
988
989 void setData( unsigned size, const unsigned char* data );
990 const char* name(){ return "HeadersFootersAtom "; }
991 void dump( std::ostream& out ) const;
992
993private:
994 // no copy or assign
995 HeadersFootersAtom ( const HeadersFootersAtom & );
996 HeadersFootersAtom & operator=( const HeadersFootersAtom & );
997
998 class Private;
999 Private *d;
1000};
1001
1002class NotesAtom : public Record
1003{
1004public:
1005 static const unsigned int id;
1006 NotesAtom();
1007 ~NotesAtom();
1008
1009 int slideId() const;
1010 void setSlideId( int slideId );
1011 int flags() const;
1012 void setFlags( int flags );
1013
1014 void setData( unsigned size, const unsigned char* data );
1015 const char* name(){ return "NotesAtom "; }
1016 void dump( std::ostream& out ) const;
1017
1018private:
1019 // no copy or assign
1020 NotesAtom ( const NotesAtom & );
1021 NotesAtom & operator=( const NotesAtom & );
1022
1023 class Private;
1024 Private *d;
1025};
1026
1027class PersistIncrementalBlockAtom : public Record
1028{
1029public:
1030 static const unsigned int id;
1031 PersistIncrementalBlockAtom();
1032 ~PersistIncrementalBlockAtom();
1033
1034 unsigned entryCount() const;
1035 unsigned long reference( unsigned index ) const;
1036 unsigned long offset( unsigned index ) const;
1037
1038 void setData( unsigned size, const unsigned char* data );
1039 const char* name(){ return "PersistIncrementalBlockAtom "; }
1040 void dump( std::ostream& out ) const;
1041
1042private:
1043 // no copy or assign
1044 PersistIncrementalBlockAtom ( const PersistIncrementalBlockAtom & );
1045 PersistIncrementalBlockAtom & operator=( const PersistIncrementalBlockAtom & );
1046
1047 class Private;
1048 Private *d;
1049};
1050
1051class Record1043 : public Record
1052{
1053public:
1054 static const unsigned int id;
1055 Record1043 ();
1056
1057 // void setData( unsigned size, const unsigned char* data );
1058 const char* name(){ return "Record1043 "; }
1059 void dump( std::ostream& out ) const;
1060
1061private:
1062 // no copy or assign
1063 Record1043 ( const Record1043 & );
1064 Record1043 & operator=( const Record1043 & );
1065
1066 class Private;
1067 Private *d;
1068};
1069
1070class Record1044 : public Record
1071{
1072public:
1073 static const unsigned int id;
1074 Record1044 ();
1075
1076 // void setData( unsigned size, const unsigned char* data );
1077 const char* name(){ return "Record1044 "; }
1078 void dump( std::ostream& out ) const;
1079
1080private:
1081 // no copy or assign
1082 Record1044 ( const Record1044 & );
1083 Record1044 & operator=( const Record1044 & );
1084
1085 class Private;
1086 Private *d;
1087};
1088
1089class SSlideLayoutAtom : public Record
1090{
1091public:
1092 static const unsigned int id;
1093 SSlideLayoutAtom ();
1094 ~SSlideLayoutAtom ();
1095
1096 int geom() const;
1097 void setGeom( int geom);
1098 int placeholderId() const;
1099 void setPlaceholderId( int placeholderId);
1100
1101 void setData( unsigned size, const unsigned char* data );
1102 const char* name(){ return "SSlideLayoutAtom "; }
1103 void dump( std::ostream& out ) const;
1104
1105private:
1106 // no copy or assign
1107 SSlideLayoutAtom ( const SSlideLayoutAtom & );
1108 SSlideLayoutAtom & operator=( const SSlideLayoutAtom & );
1109
1110 class Private;
1111 Private *d;
1112};
1113
1114class SlideViewInfoAtom : public Record
1115{
1116public:
1117 static const unsigned int id;
1118 SlideViewInfoAtom ();
1119 ~SlideViewInfoAtom ();
1120
1121 int showGuides() const;
1122 void setShowGuides( int showGuides);
1123 int snapToGrid() const;
1124 void setSnapToGrid( int snapToGrid);
1125 int snapToShape() const;
1126 void setSnapToShape( int snapToShape);
1127 void setData( unsigned size, const unsigned char* data );
1128 const char* name(){ return "SlideViewInfoAtom "; }
1129 void dump( std::ostream& out ) const;
1130
1131private:
1132 // no copy or assign
1133 SlideViewInfoAtom ( const SlideViewInfoAtom & );
1134 SlideViewInfoAtom & operator=( const SlideViewInfoAtom & );
1135
1136 class Private;
1137 Private *d;
1138};
1139
1140class SlidePersistAtom : public Record
1141{
1142public:
1143 static const unsigned int id;
1144 SlidePersistAtom ();
1145 virtual ~SlidePersistAtom ();
1146
1147 int psrReference() const;
1148 void setPsrReference( int psrReference );
1149 int flags() const;
1150 void setFlags( int flags );
1151 int numberTexts() const;
1152 void setNumberTexts( int numberTexts );
1153 int slideId() const;
1154 void setSlideId( int slideId );
1155 int reserved() const;
1156 void setReserved(int reserved);
1157
1158 void setData( unsigned size, const unsigned char* data );
1159 const char* name(){ return "SlidePersistAtom "; }
1160 void dump( std::ostream& out ) const;
1161
1162private:
1163 // no copy or assign
1164 SlidePersistAtom ( const SlidePersistAtom & );
1165 SlidePersistAtom & operator=( const SlidePersistAtom & );
1166
1167 class Private;
1168 Private *d;
1169};
1170
1171class SSDocInfoAtom : public Record
1172{
1173public:
1174 static const unsigned int id;
1175 SSDocInfoAtom ();
1176 ~SSDocInfoAtom ();
1177
1178 int penColorRed() const;
1179 void setPenColorRed( int penColorRed );
1180 int penColorGreen() const;
1181 void setPenColorGreen( int penColorGreen );
1182 int penColorBlue() const;
1183 void setPenColorBlue( int penColorBlue );
1184 int penColorIndex() const;
1185 void setPenColorIndex( int penColorIndex );
1186 int restartTime() const;
1187 void setRestartTime( int restartTime );
1188 int startSlide() const;
1189 void setStartSlide( int startSlide );
1190 int endSlide() const;
1191 void setEndSlide( int endSlide );
1192 int namedShow() const;
1193 void setNamedShow(int namedShow);
1194 int flags() const;
1195 void setFlags(int flags);
1196
1197 void setData( unsigned size, const unsigned char* data );
1198 const char* name(){ return "SSDocInfoAtom "; }
1199 void dump( std::ostream& out ) const;
1200
1201private:
1202 // no copy or assign
1203 SSDocInfoAtom ( const SSDocInfoAtom & );
1204 SSDocInfoAtom & operator=( const SSDocInfoAtom & );
1205
1206 class Private;
1207 Private *d;
1208};
1209
1210class StyleTextPropAtom : public Record
1211{
1212public:
1213 static const unsigned int id;
1214 StyleTextPropAtom ();
1215 ~StyleTextPropAtom ();
1216
1217 // paragraph properties
1218 int charCount( unsigned index ) const;
1219 int depth( unsigned index ) const;
1220 int bulletOn ( unsigned index ) const;
1221 int bulletHardFont( unsigned index ) const;
1222 int bulletHardColor( unsigned index ) const;
1223 int bulletChar ( unsigned index ) const;
1224 int bulletFont( unsigned index ) const;
1225 int bulletHeight( unsigned index ) const;
1226 int bulletColor( unsigned index ) const;
1227 int align( unsigned index ) const;
1228 int lineFeed( unsigned index ) const;
1229 int upperDist( unsigned index ) const;
1230 int lowerDist( unsigned index ) const;
1231 int asianLB1( unsigned index ) const;
1232 int asianLB2( unsigned index ) const;
1233 int asianLB3( unsigned index ) const;
1234 int biDi( unsigned index ) const;
1235
1236// character properties
1237 int charMask() const;
1238 int charFlags() const;
1239
1240 unsigned listSize() const;
1241
1242 void setData( unsigned size, const unsigned char* data, unsigned lastSize );
1243 const char* name(){ return "StyleTextPropAtom "; }
1244 void dump( std::ostream& out ) const;
1245private:
1246 // character properties
1247 void setCharMask ( int charMask );
1248 void setCharFlags( int charFlags );
1249
1250 // no copy or assign
1251 StyleTextPropAtom ( const StyleTextPropAtom & );
1252 StyleTextPropAtom & operator=( const StyleTextPropAtom & );
1253
1254 class Private;
1255 Private *d;
1256};
1257
1258class SlideAtom: public Record
1259{
1260public:
1261 static const unsigned int id;
1262 SlideAtom();
1263 ~SlideAtom();
1264
1265 int layoutGeom() const;
1266 void setLayoutGeom( int layoutGeom );
1267 // see OEPlaceHolderAtom
1268 int layoutPlaceholderId() const;
1269 // void setLayoutPlaceholderId(int layoutPlaceholderId);
1270 void setLayoutPlaceholderId(int layoutPlaceholderId1, int layoutPlaceholderId2,int layoutPlaceholderId3,int layoutPlaceholderId4,int layoutPlaceholderId5,int layoutPlaceholderId6,int layoutPlaceholderId7,int layoutPlaceholderId8);
1271 int masterId() const;
1272 void setMasterId( int masterId );
1273 int notesId() const;
1274 void setNotesId( int notesId );
1275 int flags() const;
1276 void setFlags( int flags );
1277
1278 void setData( unsigned size, const unsigned char* data );
1279 const char* name(){ return "SlideAtom"; }
1280 void dump( std::ostream& out ) const;
1281
1282private:
1283 // no copy or assign
1284 SlideAtom( const SlideAtom& );
1285 SlideAtom& operator=( const SlideAtom& );
1286
1287 class Private;
1288 Private *d;
1289};
1290
1291class SSSlideInfoAtom: public Record
1292{
1293public:
1294 static const unsigned int id;
1295 SSSlideInfoAtom();
1296 ~SSSlideInfoAtom();
1297
1298 int transType() const;
1299 void settransType( int transType );
1300 int speed() const;
1301 void setspeed(int speed);
1302 int direction() const;
1303 void setdirection( int direction );
1304 int slideTime() const;
1305 void setslideTime( int slideTime );
1306 int buildFlags() const;
1307 void setbuildFlags( int buildFlags );
1308 int soundRef() const;
1309 void setsoundRef( int soundRef );
1310
1311 void setData( unsigned size, const unsigned char* data );
1312 const char* name(){ return "SSSlideInfoAtom"; }
1313 void dump( std::ostream& out ) const;
1314
1315private:
1316 // no copy or assign
1317 SSSlideInfoAtom( const SSSlideInfoAtom& );
1318 SSSlideInfoAtom& operator=( const SSSlideInfoAtom& );
1319
1320 class Private;
1321 Private *d;
1322};
1323
1324class SrKinsokuAtom : public Record
1325{
1326public:
1327 static const unsigned int id;
1328 SrKinsokuAtom ();
1329 ~SrKinsokuAtom ();
1330
1331 // void setData( unsigned size, const unsigned char* data );
1332 const char* name(){ return "SrKinsokuAtom "; }
1333 void dump( std::ostream& out ) const;
1334
1335private:
1336 // no copy or assign
1337 SrKinsokuAtom ( const SrKinsokuAtom & );
1338 SrKinsokuAtom & operator=( const SrKinsokuAtom & );
1339
1340 class Private;
1341 Private *d;
1342};
1343
1344class TxMasterStyleAtom : public Record
1345{
1346public:
1347 static const unsigned int id;
1348 TxMasterStyleAtom();
1349 ~TxMasterStyleAtom();
1350
1351 const char* name(){ return "TxMasterStyleAtom "; }
1352 void dump( std::ostream& out ) const;
1353
1354private:
1355 // no copy or assign
1356 TxMasterStyleAtom ( const TxMasterStyleAtom & );
1357 TxMasterStyleAtom & operator=( const TxMasterStyleAtom & );
1358
1359 class Private;
1360 Private *d;
1361};
1362
1363class TxCFStyleAtom : public Record
1364{
1365public:
1366 static const unsigned int id;
1367 TxCFStyleAtom ();
1368 ~TxCFStyleAtom ();
1369
1370 int flags1() const;
1371 void setFlags1( int flags1 );
1372 int flags2() const;
1373 void setFlags2( int flags2 );
1374 int flags3() const;
1375 void setFlags3( int flags3 );
1376 int n1() const;
1377 void setN1( int n1 );
1378 int fontHeight() const;
1379 void setFontHeight( int fontHeight );
1380 int fontColor() const;
1381 void setFontColor( int fontColor );
1382
1383 void setData( unsigned size, const unsigned char* data );
1384 const char* name(){ return "TxCFStyleAtom "; }
1385 void dump( std::ostream& out ) const;
1386
1387private:
1388 // no copy or assign
1389 TxCFStyleAtom ( const TxCFStyleAtom & );
1390 TxCFStyleAtom & operator=( const TxCFStyleAtom & );
1391
1392 class Private;
1393 Private *d;
1394};
1395
1396
1397class TextCharsAtom : public Record
1398{
1399public:
1400 static const unsigned int id;
1401 TextCharsAtom ();
1402 ~TextCharsAtom ();
1403
1404 unsigned listSize() const;
1405 UString strValue( unsigned index ) const;
1406 void setText( UString ustring );
1407
1408 void setData( unsigned size, const unsigned char* data );
1409 const char* name(){ return "TextCharsAtom "; }
1410 void dump( std::ostream& out ) const;
1411
1412private:
1413 // no copy or assign
1414 TextCharsAtom ( const TextCharsAtom & );
1415 TextCharsAtom & operator=( const TextCharsAtom & );
1416
1417 class Private;
1418 Private *d;
1419};
1420
1421class TxPFStyleAtom : public Record
1422{
1423public:
1424 static const unsigned int id;
1425 TxPFStyleAtom ();
1426 ~TxPFStyleAtom ();
1427
1428 const char* name(){ return "TxPFStyleAtom "; }
1429 void dump( std::ostream& out ) const;
1430
1431private:
1432 // no copy or assign
1433 TxPFStyleAtom ( const TxPFStyleAtom & );
1434 TxPFStyleAtom & operator=( const TxPFStyleAtom & );
1435
1436 class Private;
1437 Private *d;
1438};
1439
1440class TxSIStyleAtom : public Record
1441{
1442public:
1443 static const unsigned int id;
1444 TxSIStyleAtom ();
1445 ~TxSIStyleAtom ();
1446
1447 const char* name(){ return "TxSIStyleAtom "; }
1448 void dump( std::ostream& out ) const;
1449
1450private:
1451 // no copy or assign
1452 TxSIStyleAtom ( const TxSIStyleAtom & );
1453 TxSIStyleAtom & operator=( const TxSIStyleAtom & );
1454
1455 class Private;
1456 Private *d;
1457};
1458
1459class TextHeaderAtom : public Record
1460{
1461public:
1462 static const unsigned int id;
1463 TextHeaderAtom ();
1464 ~TextHeaderAtom ();
1465
1466 int textType() const;
1467 void setTextType( int type );
1468
1469 void setData( unsigned size, const unsigned char* data );
1470 const char* name(){ return "TextHeaderAtom "; }
1471 void dump( std::ostream& out ) const;
1472
1473private:
1474 // no copy or assign
1475 TextHeaderAtom ( const TextHeaderAtom & );
1476 TextHeaderAtom & operator=( const TextHeaderAtom & );
1477
1478 class Private;
1479 Private *d;
1480};
1481
1482class TextSpecInfoAtom : public Record
1483{
1484public:
1485 static const unsigned int id;
1486 TextSpecInfoAtom ();
1487 ~TextSpecInfoAtom ();
1488
1489 int charCount() const;
1490 void setCharCount( int txSpecInfo );
1491 int flags() const;
1492 void setFlags( int flags );
1493
1494
1495 void setData( unsigned size, const unsigned char* data );
1496 const char* name(){ return "TextSpecInfoAtom "; }
1497 void dump( std::ostream& out ) const;
1498
1499private:
1500 // no copy or assign
1501 TextSpecInfoAtom ( const TextSpecInfoAtom & );
1502 TextSpecInfoAtom & operator=( const TextSpecInfoAtom & );
1503
1504 class Private;
1505 Private *d;
1506};
1507
1508class TextBookmarkAtom: public Record
1509{
1510public:
1511 static const unsigned int id;
1512 TextBookmarkAtom();
1513 ~TextBookmarkAtom();
1514
1515 int begin() const;
1516 void setBegin( int begin );
1517 int end() const;
1518 void setEnd( int end );
1519 int bookmarkID() const;
1520 void setBookmarkID( int bookmarkID );
1521
1522 void setData( unsigned size, const unsigned char* data );
1523 const char* name(){ return "TextBookmarkAtom"; }
1524 void dump( std::ostream& out ) const;
1525
1526private:
1527 // no copy or assign
1528 TextBookmarkAtom( const TextBookmarkAtom& );
1529 TextBookmarkAtom& operator=( const TextBookmarkAtom& );
1530
1531 class Private;
1532 Private *d;
1533};
1534
1535class TextBytesAtom : public Record
1536{
1537public:
1538 static const unsigned int id;
1539 TextBytesAtom ();
1540 ~TextBytesAtom ();
1541
1542 unsigned listSize() const;
1543 unsigned stringLength() const;
1544 void setStringLength( unsigned stringLength );
1545
1546 UString strValue( unsigned index ) const;
1547 void setText( UString ustring );
1548
1549 void setData( unsigned size, const unsigned char* data );
1550 const char* name(){ return "TextBytesAtom "; }
1551 void dump( std::ostream& out ) const;
1552
1553private:
1554 // no copy or assign
1555 TextBytesAtom ( const TextBytesAtom & );
1556 TextBytesAtom & operator=( const TextBytesAtom & );
1557
1558 class Private;
1559 Private *d;
1560};
1561
1562class UserEditAtom: public Record
1563{
1564public:
1565 static const unsigned int id;
1566 UserEditAtom();
1567 ~UserEditAtom();
1568
1569 int lastSlideId() const;
1570 void setLastSlideId( int id );
1571 int majorVersion() const;
1572 void setMajorVersion( int majorVersion );
1573 int minorVersion() const;
1574 void setMinorVersion( int minorVersion );
1575
1576 unsigned long offsetLastEdit() const;
1577 void setOffsetLastEdit( unsigned long ofs );
1578 unsigned long offsetPersistDir() const;
1579 void setOffsetPersistDir( unsigned long ofs ) const;
1580 unsigned long documentRef() const;
1581 void setDocumentRef( unsigned long ref ) const;
1582
1583 void setData( unsigned size, const unsigned char* data );
1584 const char* name(){ return "UserEditAtom"; }
1585 void dump( std::ostream& out ) const;
1586
1587private:
1588 // no copy or assign
1589 UserEditAtom( const UserEditAtom& );
1590 UserEditAtom& operator=( const UserEditAtom& );
1591
1592 class Private;
1593 Private *d;
1594};
1595
1596class ViewInfoAtom : public Record
1597{
1598public:
1599 static const unsigned int id;
1600 ViewInfoAtom ();
1601 ~ViewInfoAtom ();
1602
1603 int curScaleXNum() const;
1604 void setCurScaleXNum( int curScaleXNum);
1605 int curScaleXDen() const;
1606 void setCurScaleXDen( int curScaleXDen);
1607 int curScaleYNum() const;
1608 void setCurScaleYNum( int curScaleYNum);
1609 int curScaleYDen() const;
1610 void setCurScaleYDen( int curScaleYDen);
1611 int prevScaleXNum() const;
1612 void setPrevScaleXNum( int prevScaleXNum);
1613 int prevScaleXDen() const;
1614 void setPrevScaleXDen( int prevScaleXDen);
1615 int prevScaleYNum() const;
1616 void setPrevScaleYNum( int prevScaleYNum);
1617 int prevScaleYDen() const;
1618 void setPrevScaleYDen( int prevScaleYDen);
1619 int viewSizeX() const;
1620 void setViewSizeX( int viewSizeX);
1621 int viewSizeY() const;
1622 void setViewSizeY( int viewSizeY);
1623 int originX() const;
1624 void setOriginX( int originX);
1625 int originY() const;
1626 void setOriginY( int originY);
1627 int varScale() const;
1628 void setVarScale( int varScale);
1629 int draftMode() const;
1630 void setDraftMode( int draftMode);
1631 int padding() const;
1632 void setPadding( int padding);
1633
1634 void setData( unsigned size, const unsigned char* data );
1635 const char* name(){ return "ViewInfoAtom "; }
1636 void dump( std::ostream& out ) const;
1637
1638private:
1639 // no copy or assign
1640 ViewInfoAtom ( const ViewInfoAtom & );
1641 ViewInfoAtom & operator=( const ViewInfoAtom & );
1642
1643 class Private;
1644 Private *d;
1645};
1646
1647class msofbtDgAtom : public Record
1648{
1649public:
1650 static const unsigned int id;
1651 msofbtDgAtom ();
1652 ~msofbtDgAtom ();
1653
1654 // void setData( unsigned size, const unsigned char* data );
1655 const char* name(){ return "msofbtDgAtom "; }
1656 void dump( std::ostream& out ) const;
1657
1658private:
1659 // no copy or assign
1660 msofbtDgAtom ( const msofbtDgAtom & );
1661 msofbtDgAtom & operator=( const msofbtDgAtom & );
1662
1663 class Private;
1664 Private *d;
1665};
1666
1667class msofbtSpgrAtom : public Record
1668{
1669public:
1670 static const unsigned int id;
1671 msofbtSpgrAtom ();
1672 ~msofbtSpgrAtom ();
1673
1674 // void setData( unsigned size, const unsigned char* data );
1675 const char* name(){ return "msofbtSpgrAtom "; }
1676 void dump( std::ostream& out ) const;
1677
1678private:
1679 // no copy or assign
1680 msofbtSpgrAtom ( const msofbtSpgrAtom & );
1681 msofbtSpgrAtom & operator=( const msofbtSpgrAtom & );
1682
1683 class Private;
1684 Private *d;
1685};
1686
1687class msofbtSpAtom : public Record
1688{
1689public:
1690 enum
1691 {
1692 msosptMin = 0,
1693 msosptNotPrimitive = msosptMin,
1694 msosptRectangle = 1,
1695 msosptRoundRectangle = 2,
1696 msosptEllipse = 3,
1697 msosptDiamond = 4,
1698 msosptIsoscelesTriangle = 5,
1699 msosptRightTriangle = 6,
1700 msosptParallelogram = 7,
1701 msosptTrapezoid = 8,
1702 msosptHexagon = 9,
1703 msosptOctagon = 10,
1704 msosptPlus = 11,
1705 msosptStar = 12,
1706 msosptArrow = 13,
1707 msosptThickArrow = 14,
1708 msosptHomePlate = 15,
1709 msosptCube = 16,
1710 msosptBalloon = 17,
1711 msosptSeal = 18,
1712 msosptArc = 19,
1713 msosptLine = 20,
1714 msosptPlaque = 21,
1715 msosptCan = 22,
1716 msosptDonut = 23,
1717 msosptTextSimple = 24,
1718 msosptTextOctagon = 25,
1719 msosptTextHexagon = 26,
1720 msosptTextCurve = 27,
1721 msosptTextWave = 28,
1722 msosptTextRing = 29,
1723 msosptTextOnCurve = 30,
1724 msosptTextOnRing = 31,
1725 msosptStraightConnector1 = 32,
1726 msosptBentConnector2 = 33,
1727 msosptBentConnector3 = 34,
1728 msosptBentConnector4 = 35,
1729 msosptBentConnector5 = 36,
1730 msosptCurvedConnector2 = 37,
1731 msosptCurvedConnector3 = 38,
1732 msosptCurvedConnector4 = 39,
1733 msosptCurvedConnector5 = 40,
1734 msosptCallout1 = 41,
1735 msosptCallout2 = 42,
1736 msosptCallout3 = 43,
1737 msosptAccentCallout1 = 44,
1738 msosptAccentCallout2 = 45,
1739 msosptAccentCallout3 = 46,
1740 msosptBorderCallout1 = 47,
1741 msosptBorderCallout2 = 48,
1742 msosptBorderCallout3 = 49,
1743 msosptAccentBorderCallout1 = 50,
1744 msosptAccentBorderCallout2 = 51,
1745 msosptAccentBorderCallout3 = 52,
1746 msosptRibbon = 53,
1747 msosptRibbon2 = 54,
1748 msosptChevron = 55,
1749 msosptPentagon = 56,
1750 msosptNoSmoking = 57,
1751 msosptSeal8 = 58,
1752 msosptSeal16 = 59,
1753 msosptSeal32 = 60,
1754 msosptWedgeRectCallout = 61,
1755 msosptWedgeRRectCallout = 62,
1756 msosptWedgeEllipseCallout = 63,
1757 msosptWave = 64,
1758 msosptFoldedCorner = 65,
1759 msosptLeftArrow = 66,
1760 msosptDownArrow = 67,
1761 msosptUpArrow = 68,
1762 msosptLeftRightArrow = 69,
1763 msosptUpDownArrow = 70,
1764 msosptIrregularSeal1 = 71,
1765 msosptIrregularSeal2 = 72,
1766 msosptLightningBolt = 73,
1767 msosptHeart = 74,
1768 msosptPictureFrame = 75,
1769 msosptQuadArrow = 76,
1770 msosptLeftArrowCallout = 77,
1771 msosptRightArrowCallout = 78,
1772 msosptUpArrowCallout = 79,
1773 msosptDownArrowCallout = 80,
1774 msosptLeftRightArrowCallout = 81,
1775 msosptUpDownArrowCallout = 82,
1776 msosptQuadArrowCallout = 83,
1777 msosptBevel = 84,
1778 msosptLeftBracket = 85,
1779 msosptRightBracket = 86,
1780 msosptLeftBrace = 87,
1781 msosptRightBrace = 88,
1782 msosptLeftUpArrow = 89,
1783 msosptBentUpArrow = 90,
1784 msosptBentArrow = 91,
1785 msosptSeal24 = 92,
1786 msosptStripedRightArrow = 93,
1787 msosptNotchedRightArrow = 94,
1788 msosptBlockArc = 95,
1789 msosptSmileyFace = 96,
1790 msosptVerticalScroll = 97,
1791 msosptHorizontalScroll = 98,
1792 msosptCircularArrow = 99,
1793 msosptNotchedCircularArrow = 100,
1794 msosptUturnArrow = 101,
1795 msosptCurvedRightArrow = 102,
1796 msosptCurvedLeftArrow = 103,
1797 msosptCurvedUpArrow = 104,
1798 msosptCurvedDownArrow = 105,
1799 msosptCloudCallout = 106,
1800 msosptEllipseRibbon = 107,
1801 msosptEllipseRibbon2 = 108,
1802 msosptFlowChartProcess = 109,
1803 msosptFlowChartDecision = 110,
1804 msosptFlowChartInputOutput = 111,
1805 msosptFlowChartPredefinedProcess = 112,
1806 msosptFlowChartInternalStorage = 113,
1807 msosptFlowChartDocument = 114,
1808 msosptFlowChartMultidocument = 115,
1809 msosptFlowChartTerminator = 116,
1810 msosptFlowChartPreparation = 117,
1811 msosptFlowChartManualInput = 118,
1812 msosptFlowChartManualOperation = 119,
1813 msosptFlowChartConnector = 120,
1814 msosptFlowChartPunchedCard = 121,
1815 msosptFlowChartPunchedTape = 122,
1816 msosptFlowChartSummingJunction = 123,
1817 msosptFlowChartOr = 124,
1818 msosptFlowChartCollate = 125,
1819 msosptFlowChartSort = 126,
1820 msosptFlowChartExtract = 127,
1821 msosptFlowChartMerge = 128,
1822 msosptFlowChartOfflineStorage = 129,
1823 msosptFlowChartOnlineStorage = 130,
1824 msosptFlowChartMagneticTape = 131,
1825 msosptFlowChartMagneticDisk = 132,
1826 msosptFlowChartMagneticDrum = 133,
1827 msosptFlowChartDisplay = 134,
1828 msosptFlowChartDelay = 135,
1829 msosptTextPlainText = 136,
1830 msosptTextStop = 137,
1831 msosptTextTriangle = 138,
1832 msosptTextTriangleInverted = 139,
1833 msosptTextChevron = 140,
1834 msosptTextChevronInverted = 141,
1835 msosptTextRingInside = 142,
1836 msosptTextRingOutside = 143,
1837 msosptTextArchUpCurve = 144,
1838 msosptTextArchDownCurve = 145,
1839 msosptTextCircleCurve = 146,
1840 msosptTextButtonCurve = 147,
1841 msosptTextArchUpPour = 148,
1842 msosptTextArchDownPour = 149,
1843 msosptTextCirclePour = 150,
1844 msosptTextButtonPour = 151,
1845 msosptTextCurveUp = 152,
1846 msosptTextCurveDown = 153,
1847 msosptTextCascadeUp = 154,
1848 msosptTextCascadeDown = 155,
1849 msosptTextWave1 = 156,
1850 msosptTextWave2 = 157,
1851 msosptTextWave3 = 158,
1852 msosptTextWave4 = 159,
1853 msosptTextInflate = 160,
1854 msosptTextDeflate = 161,
1855 msosptTextInflateBottom = 162,
1856 msosptTextDeflateBottom = 163,
1857 msosptTextInflateTop = 164,
1858 msosptTextDeflateTop = 165,
1859 msosptTextDeflateInflate = 166,
1860 msosptTextDeflateInflateDeflate = 167,
1861 msosptTextFadeRight = 168,
1862 msosptTextFadeLeft = 169,
1863 msosptTextFadeUp = 170,
1864 msosptTextFadeDown = 171,
1865 msosptTextSlantUp = 172,
1866 msosptTextSlantDown = 173,
1867 msosptTextCanUp = 174,
1868 msosptTextCanDown = 175,
1869 msosptFlowChartAlternateProcess = 176,
1870 msosptFlowChartOffpageConnector = 177,
1871 msosptCallout90 = 178,
1872 msosptAccentCallout90 = 179,
1873 msosptBorderCallout90 = 180,
1874 msosptAccentBorderCallout90 = 181,
1875 msosptLeftRightUpArrow = 182,
1876 msosptSun = 183,
1877 msosptMoon = 184,
1878 msosptBracketPair = 185,
1879 msosptBracePair = 186,
1880 msosptSeal4 = 187,
1881 msosptDoubleWave = 188,
1882 msosptActionButtonBlank = 189,
1883 msosptActionButtonHome = 190,
1884 msosptActionButtonHelp = 191,
1885 msosptActionButtonInformation = 192,
1886 msosptActionButtonForwardNext = 193,
1887 msosptActionButtonBackPrevious = 194,
1888 msosptActionButtonEnd = 195,
1889 msosptActionButtonBeginning = 196,
1890 msosptActionButtonReturn = 197,
1891 msosptActionButtonDocument = 198,
1892 msosptActionButtonSound = 199,
1893 msosptActionButtonMovie = 200,
1894 msosptHostControl = 201,
1895 msosptTextBox = 202,
1896 msosptMax,
1897 msosptNil = 0x0FFF
1898 } ;
1899
1900 static const unsigned int id;
1901 msofbtSpAtom ();
1902 ~msofbtSpAtom ();
1903
1904 unsigned long shapeId() const;
1905 void setShapeId( unsigned long id );
1906 const char* shapeTypeAsString() const;
1907 unsigned long persistentFlag() const;
1908 void setPersistentFlag( unsigned long persistentFlag );
1909
1910 bool isBackground() const;
1911 void setBackground( bool bg );
1912 bool isVerFlip() const;
1913 void setVerFlip( bool vFlip );
1914 bool isHorFlip() const;
1915 void setHorFlip( bool hFlip );
1916
1917 void setData( unsigned size, const unsigned char* data );
1918 const char* name(){ return "msofbtSpAtom "; }
1919 void dump( std::ostream& out ) const;
1920
1921private:
1922 // no copy or assign
1923 msofbtSpAtom ( const msofbtSpAtom & );
1924 msofbtSpAtom & operator=( const msofbtSpAtom & );
1925
1926 class Private;
1927 Private *d;
1928};
1929
1930class msofbtOPTAtom : public Record
1931{
1932public:
1933 enum { // PID
1934 Rotation = 4,
1935 FillType = 384,
1936 FillColor = 385,
1937 LineColor = 448,
1938 LineOpacity = 449,
1939 LineBackColor = 450,
1940 LineType = 452,
1941 LineWidth = 459,
1942 LineDashing = 462,
1943 LineStartArrowhead = 464,
1944 LineEndArrowhead = 465,
1945 LineStartArrowWidth = 466,
1946 LineStartArrowLength = 467,
1947 LineEndArrowWidth = 468,
1948 LineEndArrowLength = 469,
1949 FlagNoLineDrawDash = 511,
1950 ShadowColor = 513,
1951 ShadowOpacity = 516,
1952 ShadowOffsetX = 517,
1953 ShadowOffsetY = 518
1954 };
1955
1956 enum {
1957 FillSolid, // Fill with a solid color
1958 FillPattern, // Fill with a pattern (bitmap)
1959 FillTexture, // A texture (pattern with its own color map)
1960 FillPicture, // Center a picture in the shape
1961 FillShade, // Shade from start to end points
1962 FillShadeCenter, // Shade from bounding rectangle to end point
1963 FillShadeShape, // Shade from shape outline to end point
1964 FillShadeScale, // Similar to msofillShade, but the fillAngle
1965 FillShadeTitle, // special type - shade to title --- for PP
1966 FillBackground // Use the background fill color/pattern
1967 }; // MSOFILLTYPE
1968
1969 enum {
1970 LineSolid, // Solid (continuous) pen 0
1971 LineDashSys, // PS_DASH system dash style 1
1972 LineDotSys, // PS_DOT system dash style 2
1973 LineDashDotSys, // PS_DASHDOT system dash style 3
1974 LineDashDotDotSys, // PS_DASHDOTDOT system dash style 4
1975 LineDotGEL, // square dot style 5
1976 LineDashGEL, // dash style 6
1977 LineLongDashGEL, // long dash style 7
1978 LineDashDotGEL, // dash short dash 8
1979 LineLongDashDotGEL, // long dash short dash 9
1980 LineLongDashDotDotGEL // long dash short dash short dash 10
1981 }; // MSOLINEDASHING
1982
1983
1984 enum {
1985 LineNoEnd,
1986 LineArrowEnd,
1987 LineArrowStealthEnd,
1988 LineArrowDiamondEnd,
1989 LineArrowOvalEnd,
1990 LineArrowOpenEnd
1991 }; // MSOLINEEND - line end effect
1992
1993
1994 enum {
1995 LineNarrowArrow,
1996 LineMediumWidthArrow,
1997 LineWideArrow
1998 }; // MSOLINEENDWIDTH - size of arrowhead
1999
2000 enum {
2001 LineShortArrow,
2002 LineMediumLenArrow,
2003 LineLongArrow
2004 }; // MSOLINEENDLENGTH - size of arrowhead
2005
2006 static const unsigned int id;
2007 msofbtOPTAtom ();
2008 ~msofbtOPTAtom ();
2009
2010 unsigned propertyCount() const;
2011 unsigned propertyId( unsigned index ) const;
2012 unsigned long propertyValue( unsigned index ) const;
2013 void setProperty( unsigned id, unsigned long value );
2014
2015 void setData( unsigned size, const unsigned char* data );
2016 const char* name(){ return "msofbtOPTAtom "; }
2017 void dump( std::ostream& out ) const;
2018
2019private:
2020 // no copy or assign
2021 msofbtOPTAtom ( const msofbtOPTAtom & );
2022 msofbtOPTAtom & operator=( const msofbtOPTAtom & );
2023
2024 class Private;
2025 Private *d;
2026};
2027
2028class msofbtChildAnchorAtom : public Record
2029{
2030public:
2031 static const unsigned int id;
2032 msofbtChildAnchorAtom ();
2033 ~msofbtChildAnchorAtom ();
2034
2035 // void setData( unsigned size, const unsigned char* data );
2036 const char* name(){ return "msofbtChildAnchorAtom "; }
2037 void dump( std::ostream& out ) const;
2038
2039private:
2040 // no copy or assign
2041 msofbtChildAnchorAtom ( const msofbtChildAnchorAtom & );
2042 msofbtChildAnchorAtom & operator=( const msofbtChildAnchorAtom & );
2043
2044 class Private;
2045 Private *d;
2046};
2047
2048class msofbtClientAnchorAtom : public Record
2049{
2050public:
2051 static const unsigned int id;
2052 msofbtClientAnchorAtom ();
2053 ~msofbtClientAnchorAtom ();
2054
2055 int left() const;
2056 void setLeft( int left );
2057 int top() const;
2058 void setTop( int top );
2059 int right() const;
2060 void setRight( int right );
2061 int bottom() const;
2062 void setBottom( int bottom );
2063
2064 void setData( unsigned size, const unsigned char* data );
2065 const char* name(){ return "msofbtClientAnchorAtom "; }
2066 void dump( std::ostream& out ) const;
2067
2068private:
2069 // no copy or assign
2070 msofbtClientAnchorAtom ( const msofbtClientAnchorAtom & );
2071 msofbtClientAnchorAtom & operator=( const msofbtClientAnchorAtom & );
2072
2073 class Private;
2074 Private *d;
2075};
2076
2077class msofbtClientDataAtom : public Record
2078{
2079public:
2080 enum
2081 { None = 0,
2082 MasterTitle,
2083 MasterBody,
2084 MasterCenteredTitle,
2085 MasterNotesSlideImage,
2086 MasterNotesBodyImage,
2087 MasterDate,
2088 MasterSlideNumber,
2089 MasterFooter,
2090 MasterHeader,
2091 MasterSubtitle,
2092 Generic,
2093 Title,
2094 Body,
2095 NotesBody,
2096 CenteredTitle,
2097 Subtitle,
2098 TQt::VerticalTextTitle,
2099 TQt::VerticalTextBody,
2100 NotesSlideImage,
2101 Object,
2102 Graph,
2103 Table,
2104 ClipArt,
2105 OrganizationChart,
2106 MediaClip
2107 };
2108
2109 static const unsigned int id;
2110 msofbtClientDataAtom ();
2111 ~msofbtClientDataAtom ();
2112
2113 unsigned placementId() const;
2114 void setPlacementId( unsigned id );
2115 unsigned placeholderId() const;
2116 void setPlaceholderId( unsigned id );
2117 const char* placeholderIdAsString() const;
2118
2119 void setData( unsigned size, const unsigned char* data );
2120 const char* name(){ return "msofbtClientDataAtom "; }
2121 void dump( std::ostream& out ) const;
2122
2123private:
2124 // no copy or assign
2125 msofbtClientDataAtom ( const msofbtClientDataAtom & );
2126 msofbtClientDataAtom & operator=( const msofbtClientDataAtom & );
2127
2128 class Private;
2129 Private *d;
2130};
2131
2132class msofbtClientTextboxAtom : public Record
2133{
2134public:
2135 static const unsigned int id;
2136 msofbtClientTextboxAtom ();
2137 ~msofbtClientTextboxAtom ();
2138
2139 UString ustring() const;
2140 void setUString( const UString& ustr );
2141 void setData( unsigned size, const unsigned char* data );
2142 const char* name(){ return "msofbtClientTextboxAtom "; }
2143 void dump( std::ostream& out ) const;
2144
2145private:
2146 // no copy or assign
2147 msofbtClientTextboxAtom ( const msofbtClientTextboxAtom & );
2148 msofbtClientTextboxAtom & operator=( const msofbtClientTextboxAtom & );
2149
2150 class Private;
2151 Private *d;
2152};
2153
2154class msofbtOleObjectAtom : public Record
2155{
2156public:
2157 static const unsigned int id;
2158 msofbtOleObjectAtom ();
2159 ~msofbtOleObjectAtom ();
2160 // void setData( unsigned size, const unsigned char* data );
2161 const char* name(){ return "msofbtOleObjectAtom "; }
2162 void dump( std::ostream& out ) const;
2163private:
2164 // no copy or assign
2165 msofbtOleObjectAtom ( const msofbtOleObjectAtom & );
2166 msofbtOleObjectAtom & operator=( const msofbtOleObjectAtom & );
2167 class Private;
2168 Private *d;
2169};
2170
2171class msofbtDeletedPsplAtom : public Record
2172{
2173public:
2174 static const unsigned int id;
2175 msofbtDeletedPsplAtom ();
2176 ~msofbtDeletedPsplAtom ();
2177 // void setData( unsigned size, const unsigned char* data );
2178 const char* name(){ return "msofbtDeletedPsplAtom "; }
2179 void dump( std::ostream& out ) const;
2180
2181private:
2182 // no copy or assign
2183 msofbtDeletedPsplAtom ( const msofbtDeletedPsplAtom & );
2184 msofbtDeletedPsplAtom & operator=( const msofbtDeletedPsplAtom & );
2185 class Private;
2186 Private *d;
2187
2188};
2189
2190class msofbtDggAtom : public Record
2191{
2192public:
2193 static const unsigned int id;
2194 msofbtDggAtom ();
2195 ~msofbtDggAtom ();
2196 // void setData( unsigned size, const unsigned char* data );
2197 const char* name(){ return "msofbtDggAtom "; }
2198 void dump( std::ostream& out ) const;
2199
2200private:
2201 // no copy or assign
2202 msofbtDggAtom ( const msofbtDggAtom & );
2203 msofbtDggAtom & operator=( const msofbtDggAtom & );
2204
2205 class Private;
2206 Private *d;
2207};
2208
2209class msofbtColorMRUAtom : public Record
2210{
2211public:
2212 static const unsigned int id;
2213 msofbtColorMRUAtom ();
2214 ~msofbtColorMRUAtom ();
2215 // void setData( unsigned size, const unsigned char* data );
2216 const char* name(){ return "msofbtColorMRUAtom "; }
2217 void dump( std::ostream& out ) const;
2218
2219private:
2220 // no copy or assign
2221 msofbtColorMRUAtom ( const msofbtColorMRUAtom & );
2222 msofbtColorMRUAtom & operator=( const msofbtColorMRUAtom & );
2223
2224 class Private;
2225 Private *d;
2226};
2227
2228class msofbtSplitMenuColorsAtom : public Record
2229{
2230public:
2231 static const unsigned int id;
2232 msofbtSplitMenuColorsAtom ();
2233 ~msofbtSplitMenuColorsAtom ();
2234
2235 unsigned fillColor() const;
2236 void setFillColor( unsigned fillColor );
2237 unsigned lineColor() const;
2238 void setLineColor( unsigned lineColor );
2239 unsigned shadowColor() const;
2240 void setShadowColor( unsigned shadowColor );
2241 unsigned threeDColor() const;
2242 void setThreeDColor( unsigned threeDColor );
2243
2244 void setData( unsigned size, const unsigned char* data );
2245 const char* name(){ return "msofbtSplitMenuColorsAtom "; }
2246 void dump( std::ostream& out ) const;
2247
2248private:
2249 // no copy or assign
2250 msofbtSplitMenuColorsAtom ( const msofbtSplitMenuColorsAtom & );
2251 msofbtSplitMenuColorsAtom & operator=( const msofbtSplitMenuColorsAtom & );
2252
2253 class Private;
2254 Private *d;
2255};
2256
2257class msofbtBSEAtom : public Record
2258{
2259public:
2260 static const unsigned int id;
2261 msofbtBSEAtom ();
2262 ~msofbtBSEAtom ();
2263
2264 // void setData( unsigned size, const unsigned char* data );
2265 const char* name(){ return "msofbtBSEAtom "; }
2266 void dump( std::ostream& out ) const;
2267
2268private:
2269 // no copy or assign
2270 msofbtBSEAtom ( const msofbtBSEAtom & );
2271 msofbtBSEAtom & operator=( const msofbtBSEAtom & );
2272
2273 class Private;
2274 Private *d;
2275};
2276
2277class msofbtCLSIDAtom : public Record
2278{
2279public:
2280 static const unsigned int id;
2281 msofbtCLSIDAtom ();
2282 ~msofbtCLSIDAtom ();
2283
2284 // void setData( unsigned size, const unsigned char* data );
2285 const char* name(){ return "msofbtCLSIDAtom "; }
2286 void dump( std::ostream& out ) const;
2287
2288
2289private:
2290 // no copy or assign
2291 msofbtCLSIDAtom ( const msofbtCLSIDAtom & );
2292 msofbtCLSIDAtom & operator=( const msofbtCLSIDAtom & );
2293
2294 class Private;
2295 Private *d;
2296};
2297
2298class msofbtRegroupItemsAtom : public Record
2299{
2300public:
2301 static const unsigned int id;
2302 msofbtRegroupItemsAtom ();
2303 ~msofbtRegroupItemsAtom ();
2304
2305 // void setData( unsigned size, const unsigned char* data );
2306 const char* name(){ return "msofbtRegroupItemsAtom "; }
2307 void dump( std::ostream& out ) const;
2308
2309private:
2310 // no copy or assign
2311 msofbtRegroupItemsAtom ( const msofbtRegroupItemsAtom & );
2312 msofbtRegroupItemsAtom & operator=( const msofbtRegroupItemsAtom & );
2313
2314 class Private;
2315 Private *d;
2316};
2317
2318class msofbtColorSchemeAtom : public Record
2319{
2320public:
2321 static const unsigned int id;
2322 msofbtColorSchemeAtom ();
2323 ~msofbtColorSchemeAtom ();
2324
2325 // void setData( unsigned size, const unsigned char* data );
2326 const char* name(){ return "msofbtColorSchemeAtom "; }
2327 void dump( std::ostream& out ) const;
2328
2329private:
2330 // no copy or assign
2331 msofbtColorSchemeAtom ( const msofbtColorSchemeAtom & );
2332 msofbtColorSchemeAtom & operator=( const msofbtColorSchemeAtom & );
2333
2334 class Private;
2335 Private *d;
2336};
2337
2338class msofbtAnchorAtom : public Record
2339{
2340public:
2341 static const unsigned int id;
2342 msofbtAnchorAtom ();
2343 ~msofbtAnchorAtom ();
2344
2345 // void setData( unsigned size, const unsigned char* data );
2346 const char* name(){ return "msofbtAnchorAtom "; }
2347 void dump( std::ostream& out ) const;
2348
2349private:
2350 // no copy or assign
2351 msofbtAnchorAtom ( const msofbtAnchorAtom & );
2352 msofbtAnchorAtom & operator=( const msofbtAnchorAtom & );
2353
2354 class Private;
2355 Private *d;
2356};
2357
2358class msofbtConnectorRuleAtom : public Record
2359{
2360public:
2361 static const unsigned int id;
2362 msofbtConnectorRuleAtom ();
2363 ~msofbtConnectorRuleAtom ();
2364
2365 // void setData( unsigned size, const unsigned char* data );
2366 const char* name(){ return "msofbtConnectorRuleAtom "; }
2367 void dump( std::ostream& out ) const;
2368
2369private:
2370 // no copy or assign
2371 msofbtConnectorRuleAtom ( const msofbtConnectorRuleAtom & );
2372 msofbtConnectorRuleAtom & operator=( const msofbtConnectorRuleAtom & );
2373
2374 class Private;
2375 Private *d;
2376};
2377
2378class msofbtAlignRuleAtom : public Record
2379{
2380public:
2381 static const unsigned int id;
2382 msofbtAlignRuleAtom ();
2383 ~msofbtAlignRuleAtom ();
2384
2385 int ruid() const; // rule ID
2386 void setRuid( int ruid );
2387 int align() const;
2388 void setAlign( int align );// alignment
2389 int cProxies() const;
2390 void setCProxies( int cProxies );// number of shapes governed by rule
2391
2392 void setData( unsigned size, const unsigned char* data );
2393 const char* name(){ return "msofbtAlignRuleAtom "; }
2394 void dump( std::ostream& out ) const;
2395
2396private:
2397 // no copy or assign
2398 msofbtAlignRuleAtom ( const msofbtAlignRuleAtom & );
2399 msofbtAlignRuleAtom & operator=( const msofbtAlignRuleAtom & );
2400
2401 class Private;
2402 Private *d;
2403};
2404
2405class msofbtArcRuleAtom : public Record
2406{
2407public:
2408 static const unsigned int id;
2409 msofbtArcRuleAtom ();
2410 ~msofbtArcRuleAtom ();
2411
2412 // void setData( unsigned size, const unsigned char* data );
2413 const char* name(){ return "msofbtArcRuleAtom "; }
2414 void dump( std::ostream& out ) const;
2415
2416private:
2417 // no copy or assign
2418 msofbtArcRuleAtom ( const msofbtArcRuleAtom & );
2419 msofbtArcRuleAtom & operator=( const msofbtArcRuleAtom & );
2420
2421 class Private;
2422 Private *d;
2423};
2424
2425class msofbtClientRuleAtom : public Record
2426{
2427public:
2428 static const unsigned int id;
2429 msofbtClientRuleAtom ();
2430 ~msofbtClientRuleAtom ();
2431
2432 // void setData( unsigned size, const unsigned char* data );
2433 const char* name(){ return "msofbtClientRuleAtom "; }
2434 void dump( std::ostream& out ) const;
2435
2436private:
2437 // no copy or assign
2438 msofbtClientRuleAtom ( const msofbtClientRuleAtom & );
2439 msofbtClientRuleAtom & operator=( const msofbtClientRuleAtom & );
2440
2441 class Private;
2442 Private *d;
2443};
2444
2445class msofbtCalloutRuleAtom : public Record
2446{
2447public:
2448 static const unsigned int id;
2449 msofbtCalloutRuleAtom ();
2450 ~msofbtCalloutRuleAtom ();
2451
2452 // void setData( unsigned size, const unsigned char* data );
2453 const char* name(){ return "msofbtCalloutRuleAtom "; }
2454 void dump( std::ostream& out ) const;
2455
2456private:
2457 // no copy or assign
2458 msofbtCalloutRuleAtom ( const msofbtCalloutRuleAtom & );
2459 msofbtCalloutRuleAtom & operator=( const msofbtCalloutRuleAtom & );
2460
2461 class Private;
2462 Private *d;
2463};
2464
2465class msofbtSelectionAtom : public Record
2466{
2467public:
2468 static const unsigned int id;
2469 msofbtSelectionAtom ();
2470 ~msofbtSelectionAtom ();
2471
2472 // void setData( unsigned size, const unsigned char* data );
2473 const char* name(){ return "msofbtSelectionAtom "; }
2474 void dump( std::ostream& out ) const;
2475
2476private:
2477 // no copy or assign
2478 msofbtSelectionAtom ( const msofbtSelectionAtom & );
2479 msofbtSelectionAtom & operator=( const msofbtSelectionAtom & );
2480
2481 class Private;
2482 Private *d;
2483};
2484
2485class PPTReader
2486{
2487public:
2488 PPTReader();
2489 virtual ~PPTReader();
2490 bool load( Presentation* pr, const char* filename );
2491
2492protected:
2493
2494 void loadUserEdit();
2495 void loadMaster();
2496 void loadSlides();
2497 void loadDocument();
2498 int indexPersistence( unsigned long offset );
2499
2500 void loadRecord( Record* parent );
2501 void handleRecord( Record* record, int type );
2502 void handleContainer( Container* container, int type, unsigned size );
2503
2504 void handleDocumentAtom( DocumentAtom* r );
2505 void handleSlidePersistAtom( SlidePersistAtom* r );
2506 void handleTextHeaderAtom( TextHeaderAtom* r );
2507 void handleTextCharsAtom( TextCharsAtom* r );
2508 void handleTextBytesAtom( TextBytesAtom* r );
2509 void handleStyleTextPropAtom ( StyleTextPropAtom* r );
2510 void handleColorSchemeAtom( ColorSchemeAtom* r );
2511
2512 void handleDrawingContainer( msofbtDgContainer* r, unsigned size );
2513 void handleEscherGroupContainer( msofbtSpgrContainer* r, unsigned size );
2514 void handleSPContainer( msofbtSpContainer* r, unsigned size );
2515 void handleEscherGroupAtom( msofbtSpgrAtom* r );
2516 void handleEscherSpAtom( msofbtSpAtom* r );
2517 void handleEscherPropertiesAtom( msofbtOPTAtom* atom );
2518 void handleEscherClientDataAtom( msofbtClientDataAtom* r );
2519 void handleEscherClientAnchorAtom( msofbtClientAnchorAtom* r );
2520 void handleEscherTextBoxAtom( msofbtClientTextboxAtom* r);
2521
2522private:
2523 // no copy or assign
2524 PPTReader( const PPTReader& );
2525 PPTReader& operator=( const PPTReader& );
2526
2527 class Private;
2528 Private* d;
2529};
2530
2531}
2532
2533#endif /* LIBPPT_POWERPOINT */
The body is a frameset.
Definition body.h:38
This class hold a table.