00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef LIBPPT_POWERPOINT
00021 #define LIBPPT_POWERPOINT
00022
00023 #include <iostream>
00024 #include "ustring.h"
00025
00026 namespace Libppt
00027 {
00028
00029
00030 class Presentation;
00031
00032 class Record
00033 {
00034 public:
00035
00040 static const unsigned int id;
00041
00042 virtual unsigned int rtti(){
00043 return this->id;
00044 }
00045
00049 Record();
00050
00054 virtual ~Record();
00055
00059 static Record* create( unsigned type );
00060
00064 virtual bool isContainer() const { return false; }
00065
00066 void setParent( Record* parent );
00067
00068 const Record* parent() const;
00069
00073 virtual void setData( unsigned size, const unsigned char* data );
00074 virtual void setData( unsigned size, const unsigned char* data, unsigned lastSize );
00075
00079 void setPosition( unsigned pos );
00080
00084 unsigned position() const;
00085
00086 void setInstance( unsigned inst );
00087 unsigned instance() const;
00088
00092 virtual const char* name(){ return "Unknown"; }
00093
00097 virtual void dump( std::ostream& out ) const;
00098
00099 protected:
00100
00101
00102 unsigned stream_position;
00103
00104 unsigned record_instance;
00105
00106 Record* record_parent;
00107
00108 private:
00109
00110 Record( const Record& );
00111 Record& operator=( const Record& );
00112 };
00113
00114
00115 class Container: public Record
00116 {
00117 public:
00118 Container();
00119 virtual bool isContainer() const { return true; }
00120 const char* name(){ return "Container"; }
00121
00122 private:
00123
00124 Container( const Container& );
00125 Container& operator=( const Container& );
00126 };
00127
00128
00129 class BookmarkCollectionContainer: public Container
00130 {
00131 public:
00132 static const unsigned int id;
00133 BookmarkCollectionContainer();
00134 const char* name(){ return "BookmarkCollectionContainer"; }
00135
00136 private:
00137
00138 BookmarkCollectionContainer( const BookmarkCollectionContainer& );
00139 BookmarkCollectionContainer& operator=( const BookmarkCollectionContainer& );
00140 };
00141
00142 class DocumentContainer: public Container
00143 {
00144 public:
00145 static const unsigned int id;
00146 DocumentContainer();
00147 const char* name(){ return "DocumentContainer"; }
00148
00149 private:
00150
00151 DocumentContainer( const DocumentContainer& );
00152 DocumentContainer& operator=( const DocumentContainer& );
00153 };
00154
00155 class EnvironmentContainer: public Container
00156 {
00157 public:
00158 static const unsigned int id;
00159 EnvironmentContainer();
00160 const char* name(){ return "EnvironmentContainer"; }
00161
00162 private:
00163
00164 EnvironmentContainer( const EnvironmentContainer& );
00165 EnvironmentContainer& operator=( const EnvironmentContainer& );
00166 };
00167
00168 class ExObjListContainer: public Container
00169 {
00170 public:
00171 static const unsigned int id;
00172 ExObjListContainer();
00173 const char* name(){ return "ExObjListContainer"; }
00174
00175 private:
00176
00177 ExObjListContainer( const ExObjListContainer& );
00178 ExObjListContainer& operator=( const ExObjListContainer& );
00179 };
00180
00181 class ExHyperlinkContainer : public Container
00182 {
00183 public:
00184 static const unsigned int id;
00185 ExHyperlinkContainer ();
00186 const char* name(){ return "ExHyperlinkContainer "; }
00187
00188 private:
00189
00190 ExHyperlinkContainer ( const ExHyperlinkContainer & );
00191 ExHyperlinkContainer & operator=( const ExHyperlinkContainer & );
00192 };
00193
00194 class ExEmbedContainer : public Container
00195 {
00196 public:
00197 static const unsigned int id;
00198 ExEmbedContainer ();
00199 const char* name(){ return "ExEmbedContainer "; }
00200
00201 private:
00202
00203 ExEmbedContainer ( const ExEmbedContainer & );
00204 ExEmbedContainer & operator=( const ExEmbedContainer & );
00205 };
00206
00207 class ExLinkContainer : public Container
00208 {
00209 public:
00210 static const unsigned int id;
00211 ExLinkContainer ();
00212 const char* name(){ return "ExLinkContainer "; }
00213
00214 private:
00215
00216 ExLinkContainer ( const ExLinkContainer & );
00217 ExLinkContainer & operator=( const ExLinkContainer & );
00218 };
00219
00220 class RunArrayContainer: public Container
00221 {
00222 public:
00223 static const unsigned int id;
00224 RunArrayContainer();
00225
00226 const char* name(){ return "RunArrayContainer"; }
00227
00228 private:
00229
00230 RunArrayContainer( const RunArrayContainer& );
00231 RunArrayContainer& operator=( const RunArrayContainer& );
00232 };
00233
00234 class ExOleObjStgContainer: public Container
00235 {
00236 public:
00237 static const unsigned int id;
00238 ExOleObjStgContainer();
00239 const char* name(){ return "ExOleObjStgContainer"; }
00240
00241 private:
00242
00243 ExOleObjStgContainer( const ExOleObjStgContainer& );
00244 ExOleObjStgContainer& operator=( const ExOleObjStgContainer& );
00245 };
00246
00247 class FontCollectionContainer: public Container
00248 {
00249 public:
00250 static const unsigned int id;
00251 FontCollectionContainer();
00252 const char* name(){ return "FontCollectionContainer"; }
00253
00254 private:
00255
00256 FontCollectionContainer( const FontCollectionContainer& );
00257 FontCollectionContainer& operator=( const FontCollectionContainer& );
00258 };
00259
00260 class HandoutContainer: public Container
00261 {
00262 public:
00263 static const unsigned int id;
00264 HandoutContainer();
00265 const char* name(){ return "HandoutContainer"; }
00266
00267 private:
00268
00269 HandoutContainer( const HandoutContainer& );
00270 HandoutContainer& operator=( const HandoutContainer& );
00271 };
00272
00273 class HeadersFootersContainer: public Container
00274 {
00275 public:
00276 static const unsigned int id;
00277 HeadersFootersContainer();
00278 const char* name(){ return "HeadersFootersContainer"; }
00279
00280 private:
00281
00282 HeadersFootersContainer( const DocumentContainer& );
00283 HeadersFootersContainer& operator=( const DocumentContainer& );
00284 };
00285
00286 class ListContainer: public Container
00287 {
00288 public:
00289 static const unsigned int id;
00290 ListContainer();
00291 const char* name(){ return "ListContainer"; }
00292
00293 private:
00294
00295 ListContainer( const ListContainer& );
00296 ListContainer& operator=( const ListContainer& );
00297 };
00298
00299 class MainMasterContainer: public Container
00300 {
00301 public:
00302 static const unsigned int id;
00303 MainMasterContainer();
00304 const char* name(){ return "MainMasterContainer"; }
00305
00306 private:
00307
00308 MainMasterContainer( const MainMasterContainer& );
00309 MainMasterContainer& operator=( const MainMasterContainer& );
00310 };
00311
00312 class NotesContainer: public Container
00313 {
00314 public:
00315 static const unsigned int id;
00316 NotesContainer();
00317 const char* name(){ return "NotesContainer"; }
00318
00319 private:
00320
00321 NotesContainer( const NotesContainer& );
00322 NotesContainer& operator=( const NotesContainer& );
00323 };
00324
00325 class OutlineViewInfoContainer : public Container
00326 {
00327 public:
00328 static const unsigned int id;
00329 OutlineViewInfoContainer ();
00330 const char* name(){ return "OutlineViewInfoContainer "; }
00331
00332 private:
00333
00334 OutlineViewInfoContainer ( const OutlineViewInfoContainer & );
00335 OutlineViewInfoContainer & operator=( const OutlineViewInfoContainer & );
00336 };
00337
00338 class PPDrawingContainer : public Container
00339 {
00340 public:
00341 static const unsigned int id;
00342 PPDrawingContainer ();
00343 const char* name(){ return "PPDrawingContainer "; }
00344
00345 private:
00346
00347 PPDrawingContainer ( const PPDrawingContainer & );
00348 PPDrawingContainer & operator=( const PPDrawingContainer & );
00349 };
00350
00351 class PPDrawingGroupContainer : public Container
00352 {
00353 public:
00354 static const unsigned int id;
00355 PPDrawingGroupContainer ();
00356 const char* name(){ return "PPDrawingGroupContainer "; }
00357
00358 private:
00359
00360 PPDrawingGroupContainer ( const PPDrawingGroupContainer & );
00361 PPDrawingGroupContainer & operator=( const PPDrawingGroupContainer & );
00362 };
00363
00364 class ProgBinaryTagContainer: public Container
00365 {
00366 public:
00367 static const unsigned int id;
00368 ProgBinaryTagContainer();
00369 const char* name(){ return "ProgBinaryTagContainer"; }
00370
00371 private:
00372
00373 ProgBinaryTagContainer( const ProgBinaryTagContainer& );
00374 ProgBinaryTagContainer& operator=( const ProgBinaryTagContainer& );
00375 };
00376
00377 class ProgStringTagContainer: public Container
00378 {
00379 public:
00380 static const unsigned int id;
00381 ProgStringTagContainer();
00382 const char* name(){ return "ProgStringTagContainer"; }
00383
00384 private:
00385
00386 ProgStringTagContainer( const ProgStringTagContainer& );
00387 ProgStringTagContainer& operator=( const ProgStringTagContainer& );
00388 };
00389
00390 class ProgTagsContainer : public Container
00391 {
00392 public:
00393 static const unsigned int id;
00394 ProgTagsContainer ();
00395 const char* name(){ return "ProgTagsContainer "; }
00396
00397 private:
00398
00399 ProgTagsContainer ( const ProgTagsContainer & );
00400 ProgTagsContainer & operator=( const ProgTagsContainer & );
00401 };
00402
00403 class SlideContainer: public Container
00404 {
00405 public:
00406 static const unsigned int id;
00407 SlideContainer();
00408 const char* name(){ return "SlideContainer"; }
00409
00410 private:
00411
00412 SlideContainer( const SlideContainer& );
00413 SlideContainer& operator=( const SlideContainer& );
00414 };
00415
00416 class SlideBaseContainer: public Container
00417 {
00418 public:
00419 static const unsigned int id;
00420 SlideBaseContainer();
00421 const char* name(){ return "SlideBaseContainer"; }
00422
00423 private:
00424
00425 SlideBaseContainer( const SlideBaseContainer& );
00426 SlideBaseContainer& operator=( const SlideBaseContainer& );
00427 };
00428
00429 class SlideListWithTextContainer: public Container
00430 {
00431 public:
00432 static const unsigned int id;
00433 SlideListWithTextContainer();
00434 const char* name(){ return "SlideListWithTextContainer"; }
00435
00436 private:
00437
00438 SlideListWithTextContainer( const SlideListWithTextContainer& );
00439 SlideListWithTextContainer& operator=( const SlideListWithTextContainer& );
00440 };
00441
00442 class SlideViewInfoContainer: public Container
00443 {
00444 public:
00445 static const unsigned int id;
00446 SlideViewInfoContainer();
00447 const char* name(){ return "SlideViewInfoContainer"; }
00448
00449 private:
00450
00451 SlideViewInfoContainer( const SlideViewInfoContainer& );
00452 SlideViewInfoContainer& operator=( const SlideViewInfoContainer& );
00453 };
00454
00455 class SorterViewInfoContainer : public Container
00456 {
00457 public:
00458 static const unsigned int id;
00459 SorterViewInfoContainer ();
00460 const char* name(){ return "SorterViewInfoContainer "; }
00461
00462 private:
00463
00464 SorterViewInfoContainer ( const SorterViewInfoContainer & );
00465 SorterViewInfoContainer & operator=( const SorterViewInfoContainer & );
00466 };
00467
00468 class SummaryContainer : public Container
00469 {
00470 public:
00471 static const unsigned int id;
00472 SummaryContainer ();
00473 const char* name(){ return "SummaryContainer "; }
00474
00475 private:
00476
00477 SummaryContainer ( const SummaryContainer & );
00478 SummaryContainer & operator=( const SummaryContainer & );
00479 };
00480
00481 class SrKinsokuContainer: public Container
00482 {
00483 public:
00484 static const unsigned int id;
00485 SrKinsokuContainer();
00486 const char* name(){ return "SrKinsokuContainer"; }
00487
00488 private:
00489
00490 SrKinsokuContainer( const SrKinsokuContainer& );
00491 SrKinsokuContainer& operator=( const SrKinsokuContainer& );
00492 };
00493
00494 class VBAInfoContainer: public Container
00495 {
00496 public:
00497 static const unsigned int id;
00498 VBAInfoContainer();
00499 const char* name(){ return "VBAInfoContainer"; }
00500
00501 private:
00502
00503 VBAInfoContainer( const VBAInfoContainer& );
00504 VBAInfoContainer& operator=( const VBAInfoContainer& );
00505 };
00506
00507 class ViewInfoContainer: public Container
00508 {
00509 public:
00510 static const unsigned int id;
00511 ViewInfoContainer();
00512 const char* name(){ return "ViewInfoContainer"; }
00513
00514 private:
00515
00516 ViewInfoContainer( const ViewInfoContainer& );
00517 ViewInfoContainer& operator=( const ViewInfoContainer& );
00518 };
00519
00520 class msofbtDgContainer: public Container
00521 {
00522 public:
00523 static const unsigned int id;
00524 msofbtDgContainer();
00525 const char* name(){ return "msofbtDgContainer"; }
00526
00527 private:
00528
00529 msofbtDgContainer( const msofbtDgContainer& );
00530 msofbtDgContainer& operator=( const msofbtDgContainer& );
00531 };
00532
00533 class msofbtSpContainer: public Container
00534 {
00535 public:
00536 static const unsigned int id;
00537 msofbtSpContainer();
00538 const char* name(){ return "msofbtSpContainer"; }
00539
00540 private:
00541
00542 msofbtSpContainer( const msofbtSpContainer& );
00543 msofbtSpContainer& operator=( const msofbtSpContainer& );
00544 };
00545
00546 class msofbtSpgrContainer: public Container
00547 {
00548 public:
00549 static const unsigned int id;
00550 msofbtSpgrContainer();
00551 const char* name(){ return "msofbtSpgrContainer"; }
00552
00553 private:
00554
00555 msofbtSpgrContainer( const msofbtSpgrContainer& );
00556 msofbtSpgrContainer& operator=( const msofbtSpgrContainer& );
00557 };
00558
00559 class msofbtDggContainer: public Container
00560 {
00561 public:
00562 static const unsigned int id;
00563 msofbtDggContainer();
00564 const char* name(){ return "msofbtDggContainer"; }
00565
00566 private:
00567
00568 msofbtDggContainer( const msofbtDggContainer& );
00569 msofbtDggContainer& operator=( const msofbtDggContainer& );
00570 };
00571
00572 class msofbtBstoreContainer: public Container
00573 {
00574 public:
00575 static const unsigned int id;
00576 msofbtBstoreContainer();
00577 const char* name(){ return "msofbtBstoreContainer"; }
00578
00579 private:
00580
00581 msofbtBstoreContainer( const msofbtBstoreContainer& );
00582 msofbtBstoreContainer& operator=( const msofbtBstoreContainer& );
00583 };
00584
00585 class msofbtSolverContainer: public Container
00586 {
00587 public:
00588 static const unsigned int id;
00589 msofbtSolverContainer();
00590 const char* name(){ return "msofbtSolverContainer"; }
00591
00592 private:
00593
00594 msofbtSolverContainer( const msofbtSolverContainer& );
00595 msofbtSolverContainer& operator=( const msofbtSolverContainer& );
00596 };
00597
00598 class BookmarkEntityAtom : public Record
00599 {
00600 public:
00601 static const unsigned int id;
00602 BookmarkEntityAtom ();
00603 ~BookmarkEntityAtom ();
00604
00605 int bookmarkID() const;
00606 void setBookmarkID( int bookmarkID );
00607 int bookmarkName() const;
00608 void setBookmarkName( int bookmarkName );
00609
00610 void setData( unsigned size, const unsigned char* data );
00611 const char* name(){ return "BookmarkEntityAtom "; }
00612 void dump( std::ostream& out ) const;
00613
00614 private:
00615
00616 BookmarkEntityAtom ( const BookmarkEntityAtom & );
00617 BookmarkEntityAtom & operator=( const BookmarkEntityAtom & );
00618
00619 class Private;
00620 Private *d;
00621 };
00622
00623 class CStringAtom: public Record
00624 {
00625 public:
00626 static const unsigned int id;
00627 CStringAtom();
00628 ~CStringAtom();
00629
00630 UString ustring() const;
00631 void setUString( const UString& ustr );
00632
00633 void setData( unsigned size, const unsigned char* data );
00634 const char* name(){ return "CStringAtom"; }
00635 void dump( std::ostream& out ) const;
00636
00637 private:
00638
00639 CStringAtom( const CStringAtom& );
00640 CStringAtom& operator=( const CStringAtom& );
00641
00642 class Private;
00643 Private *d;
00644 };
00645
00646 class ColorSchemeAtom : public Record
00647 {
00648 public:
00649 static const unsigned int id;
00650 ColorSchemeAtom();
00651 ~ColorSchemeAtom();
00652
00653 int background() const;
00654 void setBackground( int background );
00655 int textAndLines() const;
00656 void setTextAndLines( int textAndLines );
00657 int shadows() const;
00658 void setShadows( int shadows );
00659 int titleText() const;
00660 void setTitleText( int titleText );
00661 int fills() const;
00662 void setFills( int fills );
00663 int accent() const;
00664 void setAccent( int accent );
00665 int accentAndHyperlink() const;
00666 void setAccentAndHyperlink ( int accentAndHyperlink );
00667 int accentAndFollowedHyperlink() const;
00668 void setAccentAndFollowedHyperlink( int accentAndFollowedHyperlink );
00669 void setData( unsigned size, const unsigned char* data );
00670 const char* name(){ return "ColorSchemeAtom "; }
00671 void dump( std::ostream& out ) const;
00672
00673 private:
00674
00675 ColorSchemeAtom ( const ColorSchemeAtom & );
00676 ColorSchemeAtom & operator=( const ColorSchemeAtom & );
00677
00678 class Private;
00679 Private *d;
00680 };
00681
00682 class CurrentUserAtom : public Record
00683 {
00684 public:
00685 static const unsigned int id;
00686 CurrentUserAtom();
00687 ~CurrentUserAtom();
00688
00689 int size() const;
00690 void setSize( int size );
00691 int magic() const;
00692 void setMagic( int magic );
00693 int offsetToCurrentEdit() const;
00694 void setOffsetToCurrentEdit( int offsetToCurrentEdit );
00695 int lenUserName() const;
00696 void setLenUserName( int lenUserName );
00697 int docFileVersion() const;
00698 void setDocFileVersion( int docFileVersion );
00699 int majorVersion() const;
00700 void setMajorVersion( int majorVersion );
00701 int minorVersion() const;
00702 void setMinorVersion ( int minorVersion );
00703 void setData( unsigned size, const unsigned char* data );
00704 const char* name(){ return "ColorSchemeAtom "; }
00705 void dump( std::ostream& out ) const;
00706
00707 private:
00708
00709 CurrentUserAtom ( const CurrentUserAtom & );
00710 CurrentUserAtom & operator=( const CurrentUserAtom & );
00711
00712 class Private;
00713 Private *d;
00714 };
00715
00716 class DocumentAtom : public Record
00717 {
00718 public:
00719 static const unsigned int id;
00720 DocumentAtom();
00721 ~DocumentAtom();
00722
00723 int slideWidth() const;
00724 void setSlideWidth( int w );
00725 int slideHeight() const;
00726 void setSlideHeight( int h );
00727 int notesWidth() const;
00728 void setNotesWidth( int nw );
00729 int notesHeight() const;
00730 void setNotesHeight( int nh );
00731 int zoomNumer() const;
00732 void setZoomNumer( int numer );
00733 int zoomDenom() const;
00734 void setZoomDenom( int denom );
00735
00736 int notesMasterPersist() const;
00737 void setNotesMasterPersist( int notesMasterPersist );
00738
00739 int handoutMasterPersist() const;
00740 void setHandoutMasterPersist(int handoutMasterPersist);
00741
00742 int firstSlideNum() const;
00743 void setFirstSlideNum( int firstSlideNum );
00744
00745 int slideSizeType() const;
00746 void setSlideSizeType( int slideSizeType );
00747
00748 int saveWithFonts() const;
00749 void setSaveWithFonts( int saveWithFonts );
00750
00751 int omitTitlePlace() const;
00752 void setOmitTitlePlace( int omitTitlePlace );
00753
00754 int rightToLeft() const;
00755 void setRightToLeft( int rightToLeft );
00756
00757 int showComments() const;
00758 void setShowComments( int showComments);
00759
00760 void setData( unsigned size, const unsigned char* data );
00761 const char* name(){ return "DocumentAtom "; }
00762 void dump( std::ostream& out ) const;
00763
00764 private:
00765
00766 DocumentAtom ( const DocumentAtom & );
00767 DocumentAtom & operator=( const DocumentAtom & );
00768
00769 class Private;
00770 Private *d;
00771 };
00772
00773 class EndDocumentAtom: public Record
00774 {
00775 public:
00776 static const unsigned int id;
00777 EndDocumentAtom();
00778 const char* name(){ return "EndDocumentAtom"; }
00779 void dump( std::ostream& out ) const;
00780
00781 private:
00782
00783 EndDocumentAtom( const EndDocumentAtom& );
00784 EndDocumentAtom& operator=( const EndDocumentAtom& );
00785 };
00786
00787 class ExObjListAtom : public Record
00788 {
00789 public:
00790 static const unsigned int id;
00791 ExObjListAtom();
00792 ~ExObjListAtom();
00793
00794 int objectIdSeed() const;
00795 void setObjectIdSeed( int objectIdSeed );
00796
00797 void setData( unsigned size, const unsigned char* data );
00798 const char* name(){ return "ExObjListAtom "; }
00799 void dump( std::ostream& out ) const;
00800
00801 private:
00802
00803 ExObjListAtom ( const ExObjListAtom & );
00804 ExObjListAtom & operator=( const ExObjListAtom & );
00805
00806 class Private;
00807 Private *d;
00808 };
00809
00810 class ExHyperlinkAtom : public Record
00811 {
00812 public:
00813 static const unsigned int id;
00814 ExHyperlinkAtom ();
00815 ~ExHyperlinkAtom ();
00816
00817 int objID() const;
00818 void setObjID (int objID);
00819
00820 void setData( unsigned size, const unsigned char* data );
00821 const char* name(){ return "ExHyperlinkAtom "; }
00822 void dump( std::ostream& out ) const;
00823
00824 private:
00825
00826 ExHyperlinkAtom ( const ExHyperlinkAtom & );
00827 ExHyperlinkAtom & operator=( const ExHyperlinkAtom & );
00828
00829 class Private;
00830 Private *d;
00831 };
00832
00833 class ExLinkAtom : public Record
00834 {
00835 public:
00836 static const unsigned int id;
00837 ExLinkAtom();
00838 ~ExLinkAtom();
00839
00840 int exObjId() const;
00841 void setExObjId( int exObjId);
00842 int flags() const;
00843 void setFlags( int flags);
00844 int unavailable() const;
00845 void setUnavailable( int unavailable);
00846
00847 void setData( unsigned size, const unsigned char* data );
00848 const char* name(){ return "ExLinkAtom"; }
00849 void dump( std::ostream& out ) const;
00850 private:
00851
00852 ExLinkAtom ( const ExLinkAtom & );
00853 ExLinkAtom & operator=( const ExLinkAtom & );
00854
00855 class Private;
00856 Private *d;
00857 };
00858
00859 class ExOleObjAtom : public Record
00860 {
00861 public:
00862 static const unsigned int id;
00863 ExOleObjAtom ();
00864 ~ExOleObjAtom ();
00865
00866 int drawAspect() const;
00867 void setDrawAspect(int drawAspect);
00868 int type() const;
00869 void setType(int type);
00870 int objID() const;
00871 void setObjID(int objID);
00872 int subType() const;
00873 void setSubType(int subType);
00874 int objStgDataRef() const;
00875 void setObjStgDataRef(int objStgDataRef);
00876 int isBlank() const;
00877 void setIsBlank(int isBlank);
00878
00879 void setData( unsigned size, const unsigned char* data );
00880 const char* name(){ return "ExOleObjAtom "; }
00881 void dump( std::ostream& out ) const;
00882
00883 private:
00884
00885 ExOleObjAtom ( const ExOleObjAtom & );
00886 ExOleObjAtom & operator=( const ExOleObjAtom & );
00887
00888 class Private;
00889 Private *d;
00890 };
00891
00892 class ExEmbedAtom : public Record
00893 {
00894 public:
00895 static const unsigned int id;
00896 ExEmbedAtom ();
00897 ~ExEmbedAtom ();
00898
00899 int followColorScheme() const;
00900 void setFollowColorScheme(int followColorScheme);
00901 int cantLockServerB() const;
00902 void setCantLockServerB(int cantLockServerB);
00903 int noSizeToServerB() const;
00904 void setNoSizeToServerB(int noSizeToServerB);
00905 int isTable() const;
00906 void setIsTable(int isTable);
00907
00908 void setData( unsigned size, const unsigned char* data );
00909 const char* name(){ return "ExEmbedAtom "; }
00910 void dump( std::ostream& out ) const;
00911
00912 private:
00913
00914 ExEmbedAtom ( const ExEmbedAtom & );
00915 ExEmbedAtom & operator=( const ExEmbedAtom & );
00916
00917 class Private;
00918 Private *d;
00919 };
00920
00921 class FontEntityAtom : public Record
00922 {
00923 public:
00924 static const unsigned int id;
00925 FontEntityAtom();
00926 ~FontEntityAtom();
00927
00928 UString ustring() const;
00929 void setUString( const UString& ustr );
00930 int charset() const;
00931 void setCharset( int charset ) ;
00932 int clipPrecision() const;
00933 void setClipPrecision( int clipPrecision);
00934 int quality() const;
00935 void setQuality( int quality );
00936 int pitchAndFamily() const;
00937 void setPitchAndFamily( int pitchAndFamily );
00938
00939 void setData( unsigned size, const unsigned char* data );
00940 const char* name(){ return "FontEntityAtom"; }
00941 void dump( std::ostream& out ) const;
00942
00943 private:
00944
00945 FontEntityAtom ( const FontEntityAtom & );
00946 FontEntityAtom & operator=( const FontEntityAtom & );
00947
00948 class Private;
00949 Private *d;
00950 };
00951
00952 class GuideAtom : public Record
00953 {
00954 public:
00955 static const unsigned int id;
00956 GuideAtom ();
00957 ~GuideAtom ();
00958
00959 int type() const;
00960 void setType(int type);
00961 int pos() const;
00962 void setPos(int pos);
00963
00964 void setData( unsigned size, const unsigned char* data );
00965 const char* name(){ return "GuideAtom "; }
00966 void dump( std::ostream& out ) const;
00967
00968 private:
00969
00970 GuideAtom ( const GuideAtom & );
00971 GuideAtom & operator=( const GuideAtom & );
00972
00973 class Private;
00974 Private *d;
00975 };
00976
00977 class HeadersFootersAtom : public Record
00978 {
00979 public:
00980 static const unsigned int id;
00981 HeadersFootersAtom ();
00982 ~HeadersFootersAtom ();
00983
00984 int formatId() const;
00985 void setFormatId( int slideId );
00986 int flags() const;
00987 void setFlags( int flags );
00988
00989 void setData( unsigned size, const unsigned char* data );
00990 const char* name(){ return "HeadersFootersAtom "; }
00991 void dump( std::ostream& out ) const;
00992
00993 private:
00994
00995 HeadersFootersAtom ( const HeadersFootersAtom & );
00996 HeadersFootersAtom & operator=( const HeadersFootersAtom & );
00997
00998 class Private;
00999 Private *d;
01000 };
01001
01002 class NotesAtom : public Record
01003 {
01004 public:
01005 static const unsigned int id;
01006 NotesAtom();
01007 ~NotesAtom();
01008
01009 int slideId() const;
01010 void setSlideId( int slideId );
01011 int flags() const;
01012 void setFlags( int flags );
01013
01014 void setData( unsigned size, const unsigned char* data );
01015 const char* name(){ return "NotesAtom "; }
01016 void dump( std::ostream& out ) const;
01017
01018 private:
01019
01020 NotesAtom ( const NotesAtom & );
01021 NotesAtom & operator=( const NotesAtom & );
01022
01023 class Private;
01024 Private *d;
01025 };
01026
01027 class PersistIncrementalBlockAtom : public Record
01028 {
01029 public:
01030 static const unsigned int id;
01031 PersistIncrementalBlockAtom();
01032 ~PersistIncrementalBlockAtom();
01033
01034 unsigned entryCount() const;
01035 unsigned long reference( unsigned index ) const;
01036 unsigned long offset( unsigned index ) const;
01037
01038 void setData( unsigned size, const unsigned char* data );
01039 const char* name(){ return "PersistIncrementalBlockAtom "; }
01040 void dump( std::ostream& out ) const;
01041
01042 private:
01043
01044 PersistIncrementalBlockAtom ( const PersistIncrementalBlockAtom & );
01045 PersistIncrementalBlockAtom & operator=( const PersistIncrementalBlockAtom & );
01046
01047 class Private;
01048 Private *d;
01049 };
01050
01051 class Record1043 : public Record
01052 {
01053 public:
01054 static const unsigned int id;
01055 Record1043 ();
01056
01057
01058 const char* name(){ return "Record1043 "; }
01059 void dump( std::ostream& out ) const;
01060
01061 private:
01062
01063 Record1043 ( const Record1043 & );
01064 Record1043 & operator=( const Record1043 & );
01065
01066 class Private;
01067 Private *d;
01068 };
01069
01070 class Record1044 : public Record
01071 {
01072 public:
01073 static const unsigned int id;
01074 Record1044 ();
01075
01076
01077 const char* name(){ return "Record1044 "; }
01078 void dump( std::ostream& out ) const;
01079
01080 private:
01081
01082 Record1044 ( const Record1044 & );
01083 Record1044 & operator=( const Record1044 & );
01084
01085 class Private;
01086 Private *d;
01087 };
01088
01089 class SSlideLayoutAtom : public Record
01090 {
01091 public:
01092 static const unsigned int id;
01093 SSlideLayoutAtom ();
01094 ~SSlideLayoutAtom ();
01095
01096 int geom() const;
01097 void setGeom( int geom);
01098 int placeholderId() const;
01099 void setPlaceholderId( int placeholderId);
01100
01101 void setData( unsigned size, const unsigned char* data );
01102 const char* name(){ return "SSlideLayoutAtom "; }
01103 void dump( std::ostream& out ) const;
01104
01105 private:
01106
01107 SSlideLayoutAtom ( const SSlideLayoutAtom & );
01108 SSlideLayoutAtom & operator=( const SSlideLayoutAtom & );
01109
01110 class Private;
01111 Private *d;
01112 };
01113
01114 class SlideViewInfoAtom : public Record
01115 {
01116 public:
01117 static const unsigned int id;
01118 SlideViewInfoAtom ();
01119 ~SlideViewInfoAtom ();
01120
01121 int showGuides() const;
01122 void setShowGuides( int showGuides);
01123 int snapToGrid() const;
01124 void setSnapToGrid( int snapToGrid);
01125 int snapToShape() const;
01126 void setSnapToShape( int snapToShape);
01127 void setData( unsigned size, const unsigned char* data );
01128 const char* name(){ return "SlideViewInfoAtom "; }
01129 void dump( std::ostream& out ) const;
01130
01131 private:
01132
01133 SlideViewInfoAtom ( const SlideViewInfoAtom & );
01134 SlideViewInfoAtom & operator=( const SlideViewInfoAtom & );
01135
01136 class Private;
01137 Private *d;
01138 };
01139
01140 class SlidePersistAtom : public Record
01141 {
01142 public:
01143 static const unsigned int id;
01144 SlidePersistAtom ();
01145 virtual ~SlidePersistAtom ();
01146
01147 int psrReference() const;
01148 void setPsrReference( int psrReference );
01149 int flags() const;
01150 void setFlags( int flags );
01151 int numberTexts() const;
01152 void setNumberTexts( int numberTexts );
01153 int slideId() const;
01154 void setSlideId( int slideId );
01155 int reserved() const;
01156 void setReserved(int reserved);
01157
01158 void setData( unsigned size, const unsigned char* data );
01159 const char* name(){ return "SlidePersistAtom "; }
01160 void dump( std::ostream& out ) const;
01161
01162 private:
01163
01164 SlidePersistAtom ( const SlidePersistAtom & );
01165 SlidePersistAtom & operator=( const SlidePersistAtom & );
01166
01167 class Private;
01168 Private *d;
01169 };
01170
01171 class SSDocInfoAtom : public Record
01172 {
01173 public:
01174 static const unsigned int id;
01175 SSDocInfoAtom ();
01176 ~SSDocInfoAtom ();
01177
01178 int penColorRed() const;
01179 void setPenColorRed( int penColorRed );
01180 int penColorGreen() const;
01181 void setPenColorGreen( int penColorGreen );
01182 int penColorBlue() const;
01183 void setPenColorBlue( int penColorBlue );
01184 int penColorIndex() const;
01185 void setPenColorIndex( int penColorIndex );
01186 int restartTime() const;
01187 void setRestartTime( int restartTime );
01188 int startSlide() const;
01189 void setStartSlide( int startSlide );
01190 int endSlide() const;
01191 void setEndSlide( int endSlide );
01192 int namedShow() const;
01193 void setNamedShow(int namedShow);
01194 int flags() const;
01195 void setFlags(int flags);
01196
01197 void setData( unsigned size, const unsigned char* data );
01198 const char* name(){ return "SSDocInfoAtom "; }
01199 void dump( std::ostream& out ) const;
01200
01201 private:
01202
01203 SSDocInfoAtom ( const SSDocInfoAtom & );
01204 SSDocInfoAtom & operator=( const SSDocInfoAtom & );
01205
01206 class Private;
01207 Private *d;
01208 };
01209
01210 class StyleTextPropAtom : public Record
01211 {
01212 public:
01213 static const unsigned int id;
01214 StyleTextPropAtom ();
01215 ~StyleTextPropAtom ();
01216
01217
01218 int charCount( unsigned index ) const;
01219 int depth( unsigned index ) const;
01220 int bulletOn ( unsigned index ) const;
01221 int bulletHardFont( unsigned index ) const;
01222 int bulletHardColor( unsigned index ) const;
01223 int bulletChar ( unsigned index ) const;
01224 int bulletFont( unsigned index ) const;
01225 int bulletHeight( unsigned index ) const;
01226 int bulletColor( unsigned index ) const;
01227 int align( unsigned index ) const;
01228 int lineFeed( unsigned index ) const;
01229 int upperDist( unsigned index ) const;
01230 int lowerDist( unsigned index ) const;
01231 int asianLB1( unsigned index ) const;
01232 int asianLB2( unsigned index ) const;
01233 int asianLB3( unsigned index ) const;
01234 int biDi( unsigned index ) const;
01235
01236
01237 int charMask() const;
01238 int charFlags() const;
01239
01240 unsigned listSize() const;
01241
01242 void setData( unsigned size, const unsigned char* data, unsigned lastSize );
01243 const char* name(){ return "StyleTextPropAtom "; }
01244 void dump( std::ostream& out ) const;
01245 private:
01246
01247 void setCharMask ( int charMask );
01248 void setCharFlags( int charFlags );
01249
01250
01251 StyleTextPropAtom ( const StyleTextPropAtom & );
01252 StyleTextPropAtom & operator=( const StyleTextPropAtom & );
01253
01254 class Private;
01255 Private *d;
01256 };
01257
01258 class SlideAtom: public Record
01259 {
01260 public:
01261 static const unsigned int id;
01262 SlideAtom();
01263 ~SlideAtom();
01264
01265 int layoutGeom() const;
01266 void setLayoutGeom( int layoutGeom );
01267
01268 int layoutPlaceholderId() const;
01269
01270 void setLayoutPlaceholderId(int layoutPlaceholderId1, int layoutPlaceholderId2,int layoutPlaceholderId3,int layoutPlaceholderId4,int layoutPlaceholderId5,int layoutPlaceholderId6,int layoutPlaceholderId7,int layoutPlaceholderId8);
01271 int masterId() const;
01272 void setMasterId( int masterId );
01273 int notesId() const;
01274 void setNotesId( int notesId );
01275 int flags() const;
01276 void setFlags( int flags );
01277
01278 void setData( unsigned size, const unsigned char* data );
01279 const char* name(){ return "SlideAtom"; }
01280 void dump( std::ostream& out ) const;
01281
01282 private:
01283
01284 SlideAtom( const SlideAtom& );
01285 SlideAtom& operator=( const SlideAtom& );
01286
01287 class Private;
01288 Private *d;
01289 };
01290
01291 class SSSlideInfoAtom: public Record
01292 {
01293 public:
01294 static const unsigned int id;
01295 SSSlideInfoAtom();
01296 ~SSSlideInfoAtom();
01297
01298 int transType() const;
01299 void settransType( int transType );
01300 int speed() const;
01301 void setspeed(int speed);
01302 int direction() const;
01303 void setdirection( int direction );
01304 int slideTime() const;
01305 void setslideTime( int slideTime );
01306 int buildFlags() const;
01307 void setbuildFlags( int buildFlags );
01308 int soundRef() const;
01309 void setsoundRef( int soundRef );
01310
01311 void setData( unsigned size, const unsigned char* data );
01312 const char* name(){ return "SSSlideInfoAtom"; }
01313 void dump( std::ostream& out ) const;
01314
01315 private:
01316
01317 SSSlideInfoAtom( const SSSlideInfoAtom& );
01318 SSSlideInfoAtom& operator=( const SSSlideInfoAtom& );
01319
01320 class Private;
01321 Private *d;
01322 };
01323
01324 class SrKinsokuAtom : public Record
01325 {
01326 public:
01327 static const unsigned int id;
01328 SrKinsokuAtom ();
01329 ~SrKinsokuAtom ();
01330
01331
01332 const char* name(){ return "SrKinsokuAtom "; }
01333 void dump( std::ostream& out ) const;
01334
01335 private:
01336
01337 SrKinsokuAtom ( const SrKinsokuAtom & );
01338 SrKinsokuAtom & operator=( const SrKinsokuAtom & );
01339
01340 class Private;
01341 Private *d;
01342 };
01343
01344 class TxMasterStyleAtom : public Record
01345 {
01346 public:
01347 static const unsigned int id;
01348 TxMasterStyleAtom();
01349 ~TxMasterStyleAtom();
01350
01351 const char* name(){ return "TxMasterStyleAtom "; }
01352 void dump( std::ostream& out ) const;
01353
01354 private:
01355
01356 TxMasterStyleAtom ( const TxMasterStyleAtom & );
01357 TxMasterStyleAtom & operator=( const TxMasterStyleAtom & );
01358
01359 class Private;
01360 Private *d;
01361 };
01362
01363 class TxCFStyleAtom : public Record
01364 {
01365 public:
01366 static const unsigned int id;
01367 TxCFStyleAtom ();
01368 ~TxCFStyleAtom ();
01369
01370 int flags1() const;
01371 void setFlags1( int flags1 );
01372 int flags2() const;
01373 void setFlags2( int flags2 );
01374 int flags3() const;
01375 void setFlags3( int flags3 );
01376 int n1() const;
01377 void setN1( int n1 );
01378 int fontHeight() const;
01379 void setFontHeight( int fontHeight );
01380 int fontColor() const;
01381 void setFontColor( int fontColor );
01382
01383 void setData( unsigned size, const unsigned char* data );
01384 const char* name(){ return "TxCFStyleAtom "; }
01385 void dump( std::ostream& out ) const;
01386
01387 private:
01388
01389 TxCFStyleAtom ( const TxCFStyleAtom & );
01390 TxCFStyleAtom & operator=( const TxCFStyleAtom & );
01391
01392 class Private;
01393 Private *d;
01394 };
01395
01396
01397 class TextCharsAtom : public Record
01398 {
01399 public:
01400 static const unsigned int id;
01401 TextCharsAtom ();
01402 ~TextCharsAtom ();
01403
01404 unsigned listSize() const;
01405 UString strValue( unsigned index ) const;
01406 void setText( UString ustring );
01407
01408 void setData( unsigned size, const unsigned char* data );
01409 const char* name(){ return "TextCharsAtom "; }
01410 void dump( std::ostream& out ) const;
01411
01412 private:
01413
01414 TextCharsAtom ( const TextCharsAtom & );
01415 TextCharsAtom & operator=( const TextCharsAtom & );
01416
01417 class Private;
01418 Private *d;
01419 };
01420
01421 class TxPFStyleAtom : public Record
01422 {
01423 public:
01424 static const unsigned int id;
01425 TxPFStyleAtom ();
01426 ~TxPFStyleAtom ();
01427
01428 const char* name(){ return "TxPFStyleAtom "; }
01429 void dump( std::ostream& out ) const;
01430
01431 private:
01432
01433 TxPFStyleAtom ( const TxPFStyleAtom & );
01434 TxPFStyleAtom & operator=( const TxPFStyleAtom & );
01435
01436 class Private;
01437 Private *d;
01438 };
01439
01440 class TxSIStyleAtom : public Record
01441 {
01442 public:
01443 static const unsigned int id;
01444 TxSIStyleAtom ();
01445 ~TxSIStyleAtom ();
01446
01447 const char* name(){ return "TxSIStyleAtom "; }
01448 void dump( std::ostream& out ) const;
01449
01450 private:
01451
01452 TxSIStyleAtom ( const TxSIStyleAtom & );
01453 TxSIStyleAtom & operator=( const TxSIStyleAtom & );
01454
01455 class Private;
01456 Private *d;
01457 };
01458
01459 class TextHeaderAtom : public Record
01460 {
01461 public:
01462 static const unsigned int id;
01463 TextHeaderAtom ();
01464 ~TextHeaderAtom ();
01465
01466 int textType() const;
01467 void setTextType( int type );
01468
01469 void setData( unsigned size, const unsigned char* data );
01470 const char* name(){ return "TextHeaderAtom "; }
01471 void dump( std::ostream& out ) const;
01472
01473 private:
01474
01475 TextHeaderAtom ( const TextHeaderAtom & );
01476 TextHeaderAtom & operator=( const TextHeaderAtom & );
01477
01478 class Private;
01479 Private *d;
01480 };
01481
01482 class TextSpecInfoAtom : public Record
01483 {
01484 public:
01485 static const unsigned int id;
01486 TextSpecInfoAtom ();
01487 ~TextSpecInfoAtom ();
01488
01489 int charCount() const;
01490 void setCharCount( int txSpecInfo );
01491 int flags() const;
01492 void setFlags( int flags );
01493
01494
01495 void setData( unsigned size, const unsigned char* data );
01496 const char* name(){ return "TextSpecInfoAtom "; }
01497 void dump( std::ostream& out ) const;
01498
01499 private:
01500
01501 TextSpecInfoAtom ( const TextSpecInfoAtom & );
01502 TextSpecInfoAtom & operator=( const TextSpecInfoAtom & );
01503
01504 class Private;
01505 Private *d;
01506 };
01507
01508 class TextBookmarkAtom: public Record
01509 {
01510 public:
01511 static const unsigned int id;
01512 TextBookmarkAtom();
01513 ~TextBookmarkAtom();
01514
01515 int begin() const;
01516 void setBegin( int begin );
01517 int end() const;
01518 void setEnd( int end );
01519 int bookmarkID() const;
01520 void setBookmarkID( int bookmarkID );
01521
01522 void setData( unsigned size, const unsigned char* data );
01523 const char* name(){ return "TextBookmarkAtom"; }
01524 void dump( std::ostream& out ) const;
01525
01526 private:
01527
01528 TextBookmarkAtom( const TextBookmarkAtom& );
01529 TextBookmarkAtom& operator=( const TextBookmarkAtom& );
01530
01531 class Private;
01532 Private *d;
01533 };
01534
01535 class TextBytesAtom : public Record
01536 {
01537 public:
01538 static const unsigned int id;
01539 TextBytesAtom ();
01540 ~TextBytesAtom ();
01541
01542 unsigned listSize() const;
01543 unsigned stringLength() const;
01544 void setStringLength( unsigned stringLength );
01545
01546 UString strValue( unsigned index ) const;
01547 void setText( UString ustring );
01548
01549 void setData( unsigned size, const unsigned char* data );
01550 const char* name(){ return "TextBytesAtom "; }
01551 void dump( std::ostream& out ) const;
01552
01553 private:
01554
01555 TextBytesAtom ( const TextBytesAtom & );
01556 TextBytesAtom & operator=( const TextBytesAtom & );
01557
01558 class Private;
01559 Private *d;
01560 };
01561
01562 class UserEditAtom: public Record
01563 {
01564 public:
01565 static const unsigned int id;
01566 UserEditAtom();
01567 ~UserEditAtom();
01568
01569 int lastSlideId() const;
01570 void setLastSlideId( int id );
01571 int majorVersion() const;
01572 void setMajorVersion( int majorVersion );
01573 int minorVersion() const;
01574 void setMinorVersion( int minorVersion );
01575
01576 unsigned long offsetLastEdit() const;
01577 void setOffsetLastEdit( unsigned long ofs );
01578 unsigned long offsetPersistDir() const;
01579 void setOffsetPersistDir( unsigned long ofs ) const;
01580 unsigned long documentRef() const;
01581 void setDocumentRef( unsigned long ref ) const;
01582
01583 void setData( unsigned size, const unsigned char* data );
01584 const char* name(){ return "UserEditAtom"; }
01585 void dump( std::ostream& out ) const;
01586
01587 private:
01588
01589 UserEditAtom( const UserEditAtom& );
01590 UserEditAtom& operator=( const UserEditAtom& );
01591
01592 class Private;
01593 Private *d;
01594 };
01595
01596 class ViewInfoAtom : public Record
01597 {
01598 public:
01599 static const unsigned int id;
01600 ViewInfoAtom ();
01601 ~ViewInfoAtom ();
01602
01603 int curScaleXNum() const;
01604 void setCurScaleXNum( int curScaleXNum);
01605 int curScaleXDen() const;
01606 void setCurScaleXDen( int curScaleXDen);
01607 int curScaleYNum() const;
01608 void setCurScaleYNum( int curScaleYNum);
01609 int curScaleYDen() const;
01610 void setCurScaleYDen( int curScaleYDen);
01611 int prevScaleXNum() const;
01612 void setPrevScaleXNum( int prevScaleXNum);
01613 int prevScaleXDen() const;
01614 void setPrevScaleXDen( int prevScaleXDen);
01615 int prevScaleYNum() const;
01616 void setPrevScaleYNum( int prevScaleYNum);
01617 int prevScaleYDen() const;
01618 void setPrevScaleYDen( int prevScaleYDen);
01619 int viewSizeX() const;
01620 void setViewSizeX( int viewSizeX);
01621 int viewSizeY() const;
01622 void setViewSizeY( int viewSizeY);
01623 int originX() const;
01624 void setOriginX( int originX);
01625 int originY() const;
01626 void setOriginY( int originY);
01627 int varScale() const;
01628 void setVarScale( int varScale);
01629 int draftMode() const;
01630 void setDraftMode( int draftMode);
01631 int padding() const;
01632 void setPadding( int padding);
01633
01634 void setData( unsigned size, const unsigned char* data );
01635 const char* name(){ return "ViewInfoAtom "; }
01636 void dump( std::ostream& out ) const;
01637
01638 private:
01639
01640 ViewInfoAtom ( const ViewInfoAtom & );
01641 ViewInfoAtom & operator=( const ViewInfoAtom & );
01642
01643 class Private;
01644 Private *d;
01645 };
01646
01647 class msofbtDgAtom : public Record
01648 {
01649 public:
01650 static const unsigned int id;
01651 msofbtDgAtom ();
01652 ~msofbtDgAtom ();
01653
01654
01655 const char* name(){ return "msofbtDgAtom "; }
01656 void dump( std::ostream& out ) const;
01657
01658 private:
01659
01660 msofbtDgAtom ( const msofbtDgAtom & );
01661 msofbtDgAtom & operator=( const msofbtDgAtom & );
01662
01663 class Private;
01664 Private *d;
01665 };
01666
01667 class msofbtSpgrAtom : public Record
01668 {
01669 public:
01670 static const unsigned int id;
01671 msofbtSpgrAtom ();
01672 ~msofbtSpgrAtom ();
01673
01674
01675 const char* name(){ return "msofbtSpgrAtom "; }
01676 void dump( std::ostream& out ) const;
01677
01678 private:
01679
01680 msofbtSpgrAtom ( const msofbtSpgrAtom & );
01681 msofbtSpgrAtom & operator=( const msofbtSpgrAtom & );
01682
01683 class Private;
01684 Private *d;
01685 };
01686
01687 class msofbtSpAtom : public Record
01688 {
01689 public:
01690 enum
01691 {
01692 msosptMin = 0,
01693 msosptNotPrimitive = msosptMin,
01694 msosptRectangle = 1,
01695 msosptRoundRectangle = 2,
01696 msosptEllipse = 3,
01697 msosptDiamond = 4,
01698 msosptIsoscelesTriangle = 5,
01699 msosptRightTriangle = 6,
01700 msosptParallelogram = 7,
01701 msosptTrapezoid = 8,
01702 msosptHexagon = 9,
01703 msosptOctagon = 10,
01704 msosptPlus = 11,
01705 msosptStar = 12,
01706 msosptArrow = 13,
01707 msosptThickArrow = 14,
01708 msosptHomePlate = 15,
01709 msosptCube = 16,
01710 msosptBalloon = 17,
01711 msosptSeal = 18,
01712 msosptArc = 19,
01713 msosptLine = 20,
01714 msosptPlaque = 21,
01715 msosptCan = 22,
01716 msosptDonut = 23,
01717 msosptTextSimple = 24,
01718 msosptTextOctagon = 25,
01719 msosptTextHexagon = 26,
01720 msosptTextCurve = 27,
01721 msosptTextWave = 28,
01722 msosptTextRing = 29,
01723 msosptTextOnCurve = 30,
01724 msosptTextOnRing = 31,
01725 msosptStraightConnector1 = 32,
01726 msosptBentConnector2 = 33,
01727 msosptBentConnector3 = 34,
01728 msosptBentConnector4 = 35,
01729 msosptBentConnector5 = 36,
01730 msosptCurvedConnector2 = 37,
01731 msosptCurvedConnector3 = 38,
01732 msosptCurvedConnector4 = 39,
01733 msosptCurvedConnector5 = 40,
01734 msosptCallout1 = 41,
01735 msosptCallout2 = 42,
01736 msosptCallout3 = 43,
01737 msosptAccentCallout1 = 44,
01738 msosptAccentCallout2 = 45,
01739 msosptAccentCallout3 = 46,
01740 msosptBorderCallout1 = 47,
01741 msosptBorderCallout2 = 48,
01742 msosptBorderCallout3 = 49,
01743 msosptAccentBorderCallout1 = 50,
01744 msosptAccentBorderCallout2 = 51,
01745 msosptAccentBorderCallout3 = 52,
01746 msosptRibbon = 53,
01747 msosptRibbon2 = 54,
01748 msosptChevron = 55,
01749 msosptPentagon = 56,
01750 msosptNoSmoking = 57,
01751 msosptSeal8 = 58,
01752 msosptSeal16 = 59,
01753 msosptSeal32 = 60,
01754 msosptWedgeRectCallout = 61,
01755 msosptWedgeRRectCallout = 62,
01756 msosptWedgeEllipseCallout = 63,
01757 msosptWave = 64,
01758 msosptFoldedCorner = 65,
01759 msosptLeftArrow = 66,
01760 msosptDownArrow = 67,
01761 msosptUpArrow = 68,
01762 msosptLeftRightArrow = 69,
01763 msosptUpDownArrow = 70,
01764 msosptIrregularSeal1 = 71,
01765 msosptIrregularSeal2 = 72,
01766 msosptLightningBolt = 73,
01767 msosptHeart = 74,
01768 msosptPictureFrame = 75,
01769 msosptQuadArrow = 76,
01770 msosptLeftArrowCallout = 77,
01771 msosptRightArrowCallout = 78,
01772 msosptUpArrowCallout = 79,
01773 msosptDownArrowCallout = 80,
01774 msosptLeftRightArrowCallout = 81,
01775 msosptUpDownArrowCallout = 82,
01776 msosptQuadArrowCallout = 83,
01777 msosptBevel = 84,
01778 msosptLeftBracket = 85,
01779 msosptRightBracket = 86,
01780 msosptLeftBrace = 87,
01781 msosptRightBrace = 88,
01782 msosptLeftUpArrow = 89,
01783 msosptBentUpArrow = 90,
01784 msosptBentArrow = 91,
01785 msosptSeal24 = 92,
01786 msosptStripedRightArrow = 93,
01787 msosptNotchedRightArrow = 94,
01788 msosptBlockArc = 95,
01789 msosptSmileyFace = 96,
01790 msosptVerticalScroll = 97,
01791 msosptHorizontalScroll = 98,
01792 msosptCircularArrow = 99,
01793 msosptNotchedCircularArrow = 100,
01794 msosptUturnArrow = 101,
01795 msosptCurvedRightArrow = 102,
01796 msosptCurvedLeftArrow = 103,
01797 msosptCurvedUpArrow = 104,
01798 msosptCurvedDownArrow = 105,
01799 msosptCloudCallout = 106,
01800 msosptEllipseRibbon = 107,
01801 msosptEllipseRibbon2 = 108,
01802 msosptFlowChartProcess = 109,
01803 msosptFlowChartDecision = 110,
01804 msosptFlowChartInputOutput = 111,
01805 msosptFlowChartPredefinedProcess = 112,
01806 msosptFlowChartInternalStorage = 113,
01807 msosptFlowChartDocument = 114,
01808 msosptFlowChartMultidocument = 115,
01809 msosptFlowChartTerminator = 116,
01810 msosptFlowChartPreparation = 117,
01811 msosptFlowChartManualInput = 118,
01812 msosptFlowChartManualOperation = 119,
01813 msosptFlowChartConnector = 120,
01814 msosptFlowChartPunchedCard = 121,
01815 msosptFlowChartPunchedTape = 122,
01816 msosptFlowChartSummingJunction = 123,
01817 msosptFlowChartOr = 124,
01818 msosptFlowChartCollate = 125,
01819 msosptFlowChartSort = 126,
01820 msosptFlowChartExtract = 127,
01821 msosptFlowChartMerge = 128,
01822 msosptFlowChartOfflineStorage = 129,
01823 msosptFlowChartOnlineStorage = 130,
01824 msosptFlowChartMagneticTape = 131,
01825 msosptFlowChartMagneticDisk = 132,
01826 msosptFlowChartMagneticDrum = 133,
01827 msosptFlowChartDisplay = 134,
01828 msosptFlowChartDelay = 135,
01829 msosptTextPlainText = 136,
01830 msosptTextStop = 137,
01831 msosptTextTriangle = 138,
01832 msosptTextTriangleInverted = 139,
01833 msosptTextChevron = 140,
01834 msosptTextChevronInverted = 141,
01835 msosptTextRingInside = 142,
01836 msosptTextRingOutside = 143,
01837 msosptTextArchUpCurve = 144,
01838 msosptTextArchDownCurve = 145,
01839 msosptTextCircleCurve = 146,
01840 msosptTextButtonCurve = 147,
01841 msosptTextArchUpPour = 148,
01842 msosptTextArchDownPour = 149,
01843 msosptTextCirclePour = 150,
01844 msosptTextButtonPour = 151,
01845 msosptTextCurveUp = 152,
01846 msosptTextCurveDown = 153,
01847 msosptTextCascadeUp = 154,
01848 msosptTextCascadeDown = 155,
01849 msosptTextWave1 = 156,
01850 msosptTextWave2 = 157,
01851 msosptTextWave3 = 158,
01852 msosptTextWave4 = 159,
01853 msosptTextInflate = 160,
01854 msosptTextDeflate = 161,
01855 msosptTextInflateBottom = 162,
01856 msosptTextDeflateBottom = 163,
01857 msosptTextInflateTop = 164,
01858 msosptTextDeflateTop = 165,
01859 msosptTextDeflateInflate = 166,
01860 msosptTextDeflateInflateDeflate = 167,
01861 msosptTextFadeRight = 168,
01862 msosptTextFadeLeft = 169,
01863 msosptTextFadeUp = 170,
01864 msosptTextFadeDown = 171,
01865 msosptTextSlantUp = 172,
01866 msosptTextSlantDown = 173,
01867 msosptTextCanUp = 174,
01868 msosptTextCanDown = 175,
01869 msosptFlowChartAlternateProcess = 176,
01870 msosptFlowChartOffpageConnector = 177,
01871 msosptCallout90 = 178,
01872 msosptAccentCallout90 = 179,
01873 msosptBorderCallout90 = 180,
01874 msosptAccentBorderCallout90 = 181,
01875 msosptLeftRightUpArrow = 182,
01876 msosptSun = 183,
01877 msosptMoon = 184,
01878 msosptBracketPair = 185,
01879 msosptBracePair = 186,
01880 msosptSeal4 = 187,
01881 msosptDoubleWave = 188,
01882 msosptActionButtonBlank = 189,
01883 msosptActionButtonHome = 190,
01884 msosptActionButtonHelp = 191,
01885 msosptActionButtonInformation = 192,
01886 msosptActionButtonForwardNext = 193,
01887 msosptActionButtonBackPrevious = 194,
01888 msosptActionButtonEnd = 195,
01889 msosptActionButtonBeginning = 196,
01890 msosptActionButtonReturn = 197,
01891 msosptActionButtonDocument = 198,
01892 msosptActionButtonSound = 199,
01893 msosptActionButtonMovie = 200,
01894 msosptHostControl = 201,
01895 msosptTextBox = 202,
01896 msosptMax,
01897 msosptNil = 0x0FFF
01898 } ;
01899
01900 static const unsigned int id;
01901 msofbtSpAtom ();
01902 ~msofbtSpAtom ();
01903
01904 unsigned long shapeId() const;
01905 void setShapeId( unsigned long id );
01906 const char* shapeTypeAsString() const;
01907 unsigned long persistentFlag() const;
01908 void setPersistentFlag( unsigned long persistentFlag );
01909
01910 bool isBackground() const;
01911 void setBackground( bool bg );
01912 bool isVerFlip() const;
01913 void setVerFlip( bool vFlip );
01914 bool isHorFlip() const;
01915 void setHorFlip( bool hFlip );
01916
01917 void setData( unsigned size, const unsigned char* data );
01918 const char* name(){ return "msofbtSpAtom "; }
01919 void dump( std::ostream& out ) const;
01920
01921 private:
01922
01923 msofbtSpAtom ( const msofbtSpAtom & );
01924 msofbtSpAtom & operator=( const msofbtSpAtom & );
01925
01926 class Private;
01927 Private *d;
01928 };
01929
01930 class msofbtOPTAtom : public Record
01931 {
01932 public:
01933 enum {
01934 Rotation = 4,
01935 FillType = 384,
01936 FillColor = 385,
01937 LineColor = 448,
01938 LineOpacity = 449,
01939 LineBackColor = 450,
01940 LineType = 452,
01941 LineWidth = 459,
01942 LineDashing = 462,
01943 LineStartArrowhead = 464,
01944 LineEndArrowhead = 465,
01945 LineStartArrowWidth = 466,
01946 LineStartArrowLength = 467,
01947 LineEndArrowWidth = 468,
01948 LineEndArrowLength = 469,
01949 FlagNoLineDrawDash = 511,
01950 ShadowColor = 513,
01951 ShadowOpacity = 516,
01952 ShadowOffsetX = 517,
01953 ShadowOffsetY = 518
01954 };
01955
01956 enum {
01957 FillSolid,
01958 FillPattern,
01959 FillTexture,
01960 FillPicture,
01961 FillShade,
01962 FillShadeCenter,
01963 FillShadeShape,
01964 FillShadeScale,
01965 FillShadeTitle,
01966 FillBackground
01967 };
01968
01969 enum {
01970 LineSolid,
01971 LineDashSys,
01972 LineDotSys,
01973 LineDashDotSys,
01974 LineDashDotDotSys,
01975 LineDotGEL,
01976 LineDashGEL,
01977 LineLongDashGEL,
01978 LineDashDotGEL,
01979 LineLongDashDotGEL,
01980 LineLongDashDotDotGEL
01981 };
01982
01983
01984 enum {
01985 LineNoEnd,
01986 LineArrowEnd,
01987 LineArrowStealthEnd,
01988 LineArrowDiamondEnd,
01989 LineArrowOvalEnd,
01990 LineArrowOpenEnd
01991 };
01992
01993
01994 enum {
01995 LineNarrowArrow,
01996 LineMediumWidthArrow,
01997 LineWideArrow
01998 };
01999
02000 enum {
02001 LineShortArrow,
02002 LineMediumLenArrow,
02003 LineLongArrow
02004 };
02005
02006 static const unsigned int id;
02007 msofbtOPTAtom ();
02008 ~msofbtOPTAtom ();
02009
02010 unsigned propertyCount() const;
02011 unsigned propertyId( unsigned index ) const;
02012 unsigned long propertyValue( unsigned index ) const;
02013 void setProperty( unsigned id, unsigned long value );
02014
02015 void setData( unsigned size, const unsigned char* data );
02016 const char* name(){ return "msofbtOPTAtom "; }
02017 void dump( std::ostream& out ) const;
02018
02019 private:
02020
02021 msofbtOPTAtom ( const msofbtOPTAtom & );
02022 msofbtOPTAtom & operator=( const msofbtOPTAtom & );
02023
02024 class Private;
02025 Private *d;
02026 };
02027
02028 class msofbtChildAnchorAtom : public Record
02029 {
02030 public:
02031 static const unsigned int id;
02032 msofbtChildAnchorAtom ();
02033 ~msofbtChildAnchorAtom ();
02034
02035
02036 const char* name(){ return "msofbtChildAnchorAtom "; }
02037 void dump( std::ostream& out ) const;
02038
02039 private:
02040
02041 msofbtChildAnchorAtom ( const msofbtChildAnchorAtom & );
02042 msofbtChildAnchorAtom & operator=( const msofbtChildAnchorAtom & );
02043
02044 class Private;
02045 Private *d;
02046 };
02047
02048 class msofbtClientAnchorAtom : public Record
02049 {
02050 public:
02051 static const unsigned int id;
02052 msofbtClientAnchorAtom ();
02053 ~msofbtClientAnchorAtom ();
02054
02055 int left() const;
02056 void setLeft( int left );
02057 int top() const;
02058 void setTop( int top );
02059 int right() const;
02060 void setRight( int right );
02061 int bottom() const;
02062 void setBottom( int bottom );
02063
02064 void setData( unsigned size, const unsigned char* data );
02065 const char* name(){ return "msofbtClientAnchorAtom "; }
02066 void dump( std::ostream& out ) const;
02067
02068 private:
02069
02070 msofbtClientAnchorAtom ( const msofbtClientAnchorAtom & );
02071 msofbtClientAnchorAtom & operator=( const msofbtClientAnchorAtom & );
02072
02073 class Private;
02074 Private *d;
02075 };
02076
02077 class msofbtClientDataAtom : public Record
02078 {
02079 public:
02080 enum
02081 { None = 0,
02082 MasterTitle,
02083 MasterBody,
02084 MasterCenteredTitle,
02085 MasterNotesSlideImage,
02086 MasterNotesBodyImage,
02087 MasterDate,
02088 MasterSlideNumber,
02089 MasterFooter,
02090 MasterHeader,
02091 MasterSubtitle,
02092 Generic,
02093 Title,
02094 Body,
02095 NotesBody,
02096 CenteredTitle,
02097 Subtitle,
02098 VerticalTextTitle,
02099 VerticalTextBody,
02100 NotesSlideImage,
02101 Object,
02102 Graph,
02103 Table,
02104 ClipArt,
02105 OrganizationChart,
02106 MediaClip
02107 };
02108
02109 static const unsigned int id;
02110 msofbtClientDataAtom ();
02111 ~msofbtClientDataAtom ();
02112
02113 unsigned placementId() const;
02114 void setPlacementId( unsigned id );
02115 unsigned placeholderId() const;
02116 void setPlaceholderId( unsigned id );
02117 const char* placeholderIdAsString() const;
02118
02119 void setData( unsigned size, const unsigned char* data );
02120 const char* name(){ return "msofbtClientDataAtom "; }
02121 void dump( std::ostream& out ) const;
02122
02123 private:
02124
02125 msofbtClientDataAtom ( const msofbtClientDataAtom & );
02126 msofbtClientDataAtom & operator=( const msofbtClientDataAtom & );
02127
02128 class Private;
02129 Private *d;
02130 };
02131
02132 class msofbtClientTextboxAtom : public Record
02133 {
02134 public:
02135 static const unsigned int id;
02136 msofbtClientTextboxAtom ();
02137 ~msofbtClientTextboxAtom ();
02138
02139 UString ustring() const;
02140 void setUString( const UString& ustr );
02141 void setData( unsigned size, const unsigned char* data );
02142 const char* name(){ return "msofbtClientTextboxAtom "; }
02143 void dump( std::ostream& out ) const;
02144
02145 private:
02146
02147 msofbtClientTextboxAtom ( const msofbtClientTextboxAtom & );
02148 msofbtClientTextboxAtom & operator=( const msofbtClientTextboxAtom & );
02149
02150 class Private;
02151 Private *d;
02152 };
02153
02154 class msofbtOleObjectAtom : public Record
02155 {
02156 public:
02157 static const unsigned int id;
02158 msofbtOleObjectAtom ();
02159 ~msofbtOleObjectAtom ();
02160
02161 const char* name(){ return "msofbtOleObjectAtom "; }
02162 void dump( std::ostream& out ) const;
02163 private:
02164
02165 msofbtOleObjectAtom ( const msofbtOleObjectAtom & );
02166 msofbtOleObjectAtom & operator=( const msofbtOleObjectAtom & );
02167 class Private;
02168 Private *d;
02169 };
02170
02171 class msofbtDeletedPsplAtom : public Record
02172 {
02173 public:
02174 static const unsigned int id;
02175 msofbtDeletedPsplAtom ();
02176 ~msofbtDeletedPsplAtom ();
02177
02178 const char* name(){ return "msofbtDeletedPsplAtom "; }
02179 void dump( std::ostream& out ) const;
02180
02181 private:
02182
02183 msofbtDeletedPsplAtom ( const msofbtDeletedPsplAtom & );
02184 msofbtDeletedPsplAtom & operator=( const msofbtDeletedPsplAtom & );
02185 class Private;
02186 Private *d;
02187
02188 };
02189
02190 class msofbtDggAtom : public Record
02191 {
02192 public:
02193 static const unsigned int id;
02194 msofbtDggAtom ();
02195 ~msofbtDggAtom ();
02196
02197 const char* name(){ return "msofbtDggAtom "; }
02198 void dump( std::ostream& out ) const;
02199
02200 private:
02201
02202 msofbtDggAtom ( const msofbtDggAtom & );
02203 msofbtDggAtom & operator=( const msofbtDggAtom & );
02204
02205 class Private;
02206 Private *d;
02207 };
02208
02209 class msofbtColorMRUAtom : public Record
02210 {
02211 public:
02212 static const unsigned int id;
02213 msofbtColorMRUAtom ();
02214 ~msofbtColorMRUAtom ();
02215
02216 const char* name(){ return "msofbtColorMRUAtom "; }
02217 void dump( std::ostream& out ) const;
02218
02219 private:
02220
02221 msofbtColorMRUAtom ( const msofbtColorMRUAtom & );
02222 msofbtColorMRUAtom & operator=( const msofbtColorMRUAtom & );
02223
02224 class Private;
02225 Private *d;
02226 };
02227
02228 class msofbtSplitMenuColorsAtom : public Record
02229 {
02230 public:
02231 static const unsigned int id;
02232 msofbtSplitMenuColorsAtom ();
02233 ~msofbtSplitMenuColorsAtom ();
02234
02235 unsigned fillColor() const;
02236 void setFillColor( unsigned fillColor );
02237 unsigned lineColor() const;
02238 void setLineColor( unsigned lineColor );
02239 unsigned shadowColor() const;
02240 void setShadowColor( unsigned shadowColor );
02241 unsigned threeDColor() const;
02242 void setThreeDColor( unsigned threeDColor );
02243
02244 void setData( unsigned size, const unsigned char* data );
02245 const char* name(){ return "msofbtSplitMenuColorsAtom "; }
02246 void dump( std::ostream& out ) const;
02247
02248 private:
02249
02250 msofbtSplitMenuColorsAtom ( const msofbtSplitMenuColorsAtom & );
02251 msofbtSplitMenuColorsAtom & operator=( const msofbtSplitMenuColorsAtom & );
02252
02253 class Private;
02254 Private *d;
02255 };
02256
02257 class msofbtBSEAtom : public Record
02258 {
02259 public:
02260 static const unsigned int id;
02261 msofbtBSEAtom ();
02262 ~msofbtBSEAtom ();
02263
02264
02265 const char* name(){ return "msofbtBSEAtom "; }
02266 void dump( std::ostream& out ) const;
02267
02268 private:
02269
02270 msofbtBSEAtom ( const msofbtBSEAtom & );
02271 msofbtBSEAtom & operator=( const msofbtBSEAtom & );
02272
02273 class Private;
02274 Private *d;
02275 };
02276
02277 class msofbtCLSIDAtom : public Record
02278 {
02279 public:
02280 static const unsigned int id;
02281 msofbtCLSIDAtom ();
02282 ~msofbtCLSIDAtom ();
02283
02284
02285 const char* name(){ return "msofbtCLSIDAtom "; }
02286 void dump( std::ostream& out ) const;
02287
02288
02289 private:
02290
02291 msofbtCLSIDAtom ( const msofbtCLSIDAtom & );
02292 msofbtCLSIDAtom & operator=( const msofbtCLSIDAtom & );
02293
02294 class Private;
02295 Private *d;
02296 };
02297
02298 class msofbtRegroupItemsAtom : public Record
02299 {
02300 public:
02301 static const unsigned int id;
02302 msofbtRegroupItemsAtom ();
02303 ~msofbtRegroupItemsAtom ();
02304
02305
02306 const char* name(){ return "msofbtRegroupItemsAtom "; }
02307 void dump( std::ostream& out ) const;
02308
02309 private:
02310
02311 msofbtRegroupItemsAtom ( const msofbtRegroupItemsAtom & );
02312 msofbtRegroupItemsAtom & operator=( const msofbtRegroupItemsAtom & );
02313
02314 class Private;
02315 Private *d;
02316 };
02317
02318 class msofbtColorSchemeAtom : public Record
02319 {
02320 public:
02321 static const unsigned int id;
02322 msofbtColorSchemeAtom ();
02323 ~msofbtColorSchemeAtom ();
02324
02325
02326 const char* name(){ return "msofbtColorSchemeAtom "; }
02327 void dump( std::ostream& out ) const;
02328
02329 private:
02330
02331 msofbtColorSchemeAtom ( const msofbtColorSchemeAtom & );
02332 msofbtColorSchemeAtom & operator=( const msofbtColorSchemeAtom & );
02333
02334 class Private;
02335 Private *d;
02336 };
02337
02338 class msofbtAnchorAtom : public Record
02339 {
02340 public:
02341 static const unsigned int id;
02342 msofbtAnchorAtom ();
02343 ~msofbtAnchorAtom ();
02344
02345
02346 const char* name(){ return "msofbtAnchorAtom "; }
02347 void dump( std::ostream& out ) const;
02348
02349 private:
02350
02351 msofbtAnchorAtom ( const msofbtAnchorAtom & );
02352 msofbtAnchorAtom & operator=( const msofbtAnchorAtom & );
02353
02354 class Private;
02355 Private *d;
02356 };
02357
02358 class msofbtConnectorRuleAtom : public Record
02359 {
02360 public:
02361 static const unsigned int id;
02362 msofbtConnectorRuleAtom ();
02363 ~msofbtConnectorRuleAtom ();
02364
02365
02366 const char* name(){ return "msofbtConnectorRuleAtom "; }
02367 void dump( std::ostream& out ) const;
02368
02369 private:
02370
02371 msofbtConnectorRuleAtom ( const msofbtConnectorRuleAtom & );
02372 msofbtConnectorRuleAtom & operator=( const msofbtConnectorRuleAtom & );
02373
02374 class Private;
02375 Private *d;
02376 };
02377
02378 class msofbtAlignRuleAtom : public Record
02379 {
02380 public:
02381 static const unsigned int id;
02382 msofbtAlignRuleAtom ();
02383 ~msofbtAlignRuleAtom ();
02384
02385 int ruid() const;
02386 void setRuid( int ruid );
02387 int align() const;
02388 void setAlign( int align );
02389 int cProxies() const;
02390 void setCProxies( int cProxies );
02391
02392 void setData( unsigned size, const unsigned char* data );
02393 const char* name(){ return "msofbtAlignRuleAtom "; }
02394 void dump( std::ostream& out ) const;
02395
02396 private:
02397
02398 msofbtAlignRuleAtom ( const msofbtAlignRuleAtom & );
02399 msofbtAlignRuleAtom & operator=( const msofbtAlignRuleAtom & );
02400
02401 class Private;
02402 Private *d;
02403 };
02404
02405 class msofbtArcRuleAtom : public Record
02406 {
02407 public:
02408 static const unsigned int id;
02409 msofbtArcRuleAtom ();
02410 ~msofbtArcRuleAtom ();
02411
02412
02413 const char* name(){ return "msofbtArcRuleAtom "; }
02414 void dump( std::ostream& out ) const;
02415
02416 private:
02417
02418 msofbtArcRuleAtom ( const msofbtArcRuleAtom & );
02419 msofbtArcRuleAtom & operator=( const msofbtArcRuleAtom & );
02420
02421 class Private;
02422 Private *d;
02423 };
02424
02425 class msofbtClientRuleAtom : public Record
02426 {
02427 public:
02428 static const unsigned int id;
02429 msofbtClientRuleAtom ();
02430 ~msofbtClientRuleAtom ();
02431
02432
02433 const char* name(){ return "msofbtClientRuleAtom "; }
02434 void dump( std::ostream& out ) const;
02435
02436 private:
02437
02438 msofbtClientRuleAtom ( const msofbtClientRuleAtom & );
02439 msofbtClientRuleAtom & operator=( const msofbtClientRuleAtom & );
02440
02441 class Private;
02442 Private *d;
02443 };
02444
02445 class msofbtCalloutRuleAtom : public Record
02446 {
02447 public:
02448 static const unsigned int id;
02449 msofbtCalloutRuleAtom ();
02450 ~msofbtCalloutRuleAtom ();
02451
02452
02453 const char* name(){ return "msofbtCalloutRuleAtom "; }
02454 void dump( std::ostream& out ) const;
02455
02456 private:
02457
02458 msofbtCalloutRuleAtom ( const msofbtCalloutRuleAtom & );
02459 msofbtCalloutRuleAtom & operator=( const msofbtCalloutRuleAtom & );
02460
02461 class Private;
02462 Private *d;
02463 };
02464
02465 class msofbtSelectionAtom : public Record
02466 {
02467 public:
02468 static const unsigned int id;
02469 msofbtSelectionAtom ();
02470 ~msofbtSelectionAtom ();
02471
02472
02473 const char* name(){ return "msofbtSelectionAtom "; }
02474 void dump( std::ostream& out ) const;
02475
02476 private:
02477
02478 msofbtSelectionAtom ( const msofbtSelectionAtom & );
02479 msofbtSelectionAtom & operator=( const msofbtSelectionAtom & );
02480
02481 class Private;
02482 Private *d;
02483 };
02484
02485 class PPTReader
02486 {
02487 public:
02488 PPTReader();
02489 virtual ~PPTReader();
02490 bool load( Presentation* pr, const char* filename );
02491
02492 protected:
02493
02494 void loadUserEdit();
02495 void loadMaster();
02496 void loadSlides();
02497 void loadDocument();
02498 int indexPersistence( unsigned long offset );
02499
02500 void loadRecord( Record* parent );
02501 void handleRecord( Record* record, int type );
02502 void handleContainer( Container* container, int type, unsigned size );
02503
02504 void handleDocumentAtom( DocumentAtom* r );
02505 void handleSlidePersistAtom( SlidePersistAtom* r );
02506 void handleTextHeaderAtom( TextHeaderAtom* r );
02507 void handleTextCharsAtom( TextCharsAtom* r );
02508 void handleTextBytesAtom( TextBytesAtom* r );
02509 void handleStyleTextPropAtom ( StyleTextPropAtom* r );
02510 void handleColorSchemeAtom( ColorSchemeAtom* r );
02511
02512 void handleDrawingContainer( msofbtDgContainer* r, unsigned size );
02513 void handleEscherGroupContainer( msofbtSpgrContainer* r, unsigned size );
02514 void handleSPContainer( msofbtSpContainer* r, unsigned size );
02515 void handleEscherGroupAtom( msofbtSpgrAtom* r );
02516 void handleEscherSpAtom( msofbtSpAtom* r );
02517 void handleEscherPropertiesAtom( msofbtOPTAtom* atom );
02518 void handleEscherClientDataAtom( msofbtClientDataAtom* r );
02519 void handleEscherClientAnchorAtom( msofbtClientAnchorAtom* r );
02520 void handleEscherTextBoxAtom( msofbtClientTextboxAtom* r);
02521
02522 private:
02523
02524 PPTReader( const PPTReader& );
02525 PPTReader& operator=( const PPTReader& );
02526
02527 class Private;
02528 Private* d;
02529 };
02530
02531 }
02532
02533 #endif