// $Revision: 1.3 $ // Copyright (c) 1995 Taligent, Inc. All rights reserved. #ifndef TaligentSamples_SAMPLEPAGENUMBERCOMPOSITOR #define TaligentSamples_SAMPLEPAGENUMBERCOMPOSITOR #ifndef Taligent_PRINT #include #endif class TSamplePageNumberCompositor : public TPrintPageIterator, private TPage { public: typedef enum { kTopLeft, kTopCenter, kTopRight, kBottomLeft, kBottomCenter, kBottomRight } ENumberLocation; TSamplePageNumberCompositor(TPageIterator* sourceAlias, ENumberLocation); virtual ~TSamplePageNumberCompositor(); virtual unsigned long Count() const; virtual TPage* Seek(unsigned long); virtual TPage* Current() const; private: // TPage overrides. virtual unsigned long GetPageNumber() const; virtual TPageDescription* GetPageDescription() const; virtual void Draw(TGrafPort&) const; TSamplePageNumberCompositor(); TSamplePageNumberCompositor(const TSamplePageNumberCompositor&); TSamplePageNumberCompositor& operator=(const TSamplePageNumberCompositor&); TPageIterator* fSourcePages; // not owned ENumberLocation fNumberLocation; MCollectibleDeclarationsMacro(TSamplePageNumberCompositor); enum { kOriginalVersion }; }; #endif // TaligentSamples_SAMPLEPAGENUMBERCOMPOSITOR